【FlareOn1】Bob Doge WriteUp
解壓後有個C1.exe,但這並不是我們要分析的程序,雙擊C1.exe後安裝的那個Challenge1.exe才是要分析的程序。將其拉入ExeinfoPe,發現是個C#程序打開Challenge1.exe,發現只有一個Decode按鈕可按,按了之後彈出不明的東西將程序拉入C#反編譯神器dnSpy繼續分析,找到Decode按鈕對應的代碼可以看出它對某數據進行了3次加密,然後展示出來,抱著好奇之心,在第一次加密完的位置打個斷點,查看其數據看上去有點像flag,嘗試提交,結果成功了( 逆向果然是七分逆、三分猜 ^.^ )
形势与政策-2022春答案
第1測試單元1.单选题 (1分)題目: 中国共产党的最高理想和最终目标是()A、实现共产主义B、实现共产主义社会制度C、实现中国特色社会主义宏伟目标D、推进共产主义社会制度
A
2.单选题 (1分)題目: 全面从严治党以()建设为统领A、思想B、作风C、政治D、制度
C
3.单选题 (1分)題目: 中国人民从长期奋斗历程中得到的最基本、最重要的结论是()A、没有共产党,就没有新中国B、没有毛泽东,就没有新民主主义革命C、必须把马克思主义基本原理同中国实际相结合D、任何时候都必须坚持实事求是的思想路线
A
4.单选题 (1分)題目: 党的思想路线是(),在实践中检验和发展真理。A、一切从实际出发,解放思想,实事求是B、一切从实际出发,实事求是,与时俱进C、一切从实际出发,理论联系实际,实事求是D、一切从实际出发,理论联系实际,与时俱进
C
5.单选题 (1分)題目: 党的根本组织原则是()。A、少数服从多数制B、民主集中制C、集体领导与个人分工负责制D、密切联系群众
B
6.单选题 (1分)題目: 党在任何时候都把(),同群众同甘共苦,保持最密切的 ...
【Zer0pts2020】easy strcmp
查殼慣例查一下,發現沒有殼
代碼分析拉入IDA,進入main函數,看到是字符串的對比,而a2[1]是用戶輸入的字符串。通常會先將用戶輸入的字符串進行加密後,再作對比,所以先尋找加密函數找到後,可以看出它是將用戶輸入的字符串每8個分成一組,然後與qword_201060[j]( j = 0~4 )相減
腳本解密分析完之後就可編寫腳本進行解密。注:字符串以小端模式存放在內存中,例如字符串ABC在內存中的存放順序為43 42 41,41對應A、42對應B、43對應C
123456789101112131415161718192021222324#include <iostream>using namespace std;int main() { long long qword_201060[5] = { 0,0x410A4335494A0942, 0x0B0EF2F50BE619F0, 0x4F0A3A064A35282B,0 }; int i; // [rsp+18h] [rbp-8h] int v4; // [rsp+18h] [rbp-8h] ...
【CTF】一道簡單的花指令
題目:點我下載
花指令分析紅框中的兩條代碼使程序經過時必然會跳到loc_401034的下一行,所以由此可知loc_401034處是一條無用的花指令
去除花指令使用IDA的Keypatch插件將loc_401034處patch為nop
錯誤做法像下圖一樣選取多行(雖然左邊地址都相同)進行patch會出現問題
正確做法只選一行或直接對著loc_401034,然後按Ctrl+Alt+K(Keypatch快捷鍵)
之後在.text:00401085會看到與上面一模一樣的情況,以同樣手法去除花指令即可。
然後選取需要的區域,按p重新生成函數,即可F5查看偽代碼
並可直接在偽代碼中得出flag為Kap0k{junkC0de_1s_w0derfuuuul!}
【HDCTF2019】Maze WriteUp
題目:https://buuoj.cn/challenges#[HDCTF2019]Maze
查殼和脫殼先查殼,發現有殼,根據提示用upx脫殼
代碼逆向分析花指令
脫殼後拉入IDA分析,發現.text:0040102C是一處無用的花指令,因為它的作用是跳到下一行(毫無意義,可以直接nop掉)。
而.text:0040102E處call指令後而跟住的0EC85D78Bh不是一個地址(因為對其雙擊之後沒有反應),由此也可得知這段代碼受到了花指令的影響(部分代碼還有用處,不能直接nop掉)
去除花指令
使用Keypatch插件,直接將.text:0040102C處patch為nop
因為.text:0040102E處的部分代碼還有用處,不能直接nop掉,所以要先找出其中無用的部分。方法:在.text:0040102E處按U,將其重定義為一個一個的字節,之後就嘗試將第1個字節0E8hpatch為nop( 若能重新生成為代碼就是成功。不能的話,就還原,然後將之後的每個字節都嘗試一遍 ),如下圖2所示即為成功
最後選取所有紅色的部分,然後按P重新生成為函數,之後就可F5查看偽代碼
...
ACTF新生赛2020-usualCrypt WriteUp
題目:https://buuoj.cn/challenges#[ACTF%E6%96%B0%E7%94%9F%E8%B5%9B2020]usualCrypt
下載、解壓後,文件夾內有兩個檔案,直接把名為base.exe的那個拉入IDA進行分析( 另一個檔案不知有何作用 )。進入main函數查看偽代碼,經分析推測整體代碼邏輯為接收輸入->加密->與特定字串對比->判斷正確與否,進入加密函數sub_401080繼續分析發現是base64加密,但在前面有個可疑的函數sub_401000,抱著好奇之心,先點進去看看可以看出是將base64的索引表進行了魔改,BASE64_table_40E0A0為原索引表的起始地址,byte_40E0AA則是在起始地址+10byte的位置,而索引表進行的改動也就是簡單的位置亙換返回sub_401080繼續分析,看到最後return時竟然是一個函數,點入去查看第一眼看到簡直不知道是三小,但在分析過後,看到下圖紅框中的關鍵特徵,推測是將字母的大小寫亙換最後,編寫如下腳本進行解密
12345678910111213141516171819202 ...