逆向 藍鯨 csaw2013reversing2

2021-09-19 09:58:25 字數 1025 閱讀 1562

開啟程式執行一下:

隨便點一下,程式就結束了

拉入ida檢視**

程式的流程還是比較清晰的。

messagebox函式的第二個引數的內容我們需要去檢視一下

點開lpmem被賦予的內容  即unk_409b10

右邊沒有注釋,說明不是ascii碼

接著就死在這裡好久。。

因為不合邏輯

然後點開了函式sub_401000檢視了一下

發現這裡才是關鍵函式

演算法很簡單就是把unk_409b10以雙字型別與0xddccaabb分別異或

但是奇怪的在於程式就算進入這裡,也沒有可以輸出的地方

只能直接退出

所以我們調出來一下流程圖

觀察之後確定,的確沒有多餘的路徑

所以只能在od裡面使用nop**,把exitprocess()nop掉,並且將內容以messagebox的形式輸出

這是唯一的解決方案。

所以我們就能很輕鬆的寫出來序號產生器

#includeusing namespace std;

int main()

,b=0xddccaabb;

int c;

char d;

for(int n=0;n<9;n++)

end

逆向工程 2

逆向工程 二 從乙個簡單的例項來了解pe檔案 筆記1 去掉訊息框,是在ollydbg工具下,在程式的messagebox段,改變程式 執行順序,跳過程式框段 段,從而去掉程式框。什麼是pe檔案?pe portable executable 檔案是windows作業系統下使用的可執行檔案格式,僅在wi...

反彙編 逆向初步 2

逆向初步 1 介紹的是if else語句在反彙編中的事例,現在我們來看看switch case語句在反彙編長啥樣。我們先來看一段簡單的使用switch case語句的程式,其 如下 include main 接下來我們來看它對應的反彙編 如下所示 4 int c 5 00401028 mov dwo...

XCTF 高階 RE APK 逆向2

using system using system.diagnostics using system.io using system.net.sockets using system.text namespace rev 100 catch exception socket client tcpcl...