反彙編個人練習 不用迴圈語句實現迴圈操作

2021-06-10 10:45:57 字數 570 閱讀 1980

#includeusing namespace std;

int main()

{ int a=10;

if(a<0)while(true);

else {cout《部分彙編語句:

3:    int main()

4:    {

00401780   push        ebp   //main=00401780,該函式指令的首位址,函式名代表該函式內第一條指令的位址

6:        if(a<0)while(true);

0040179f   cmp         dword ptr [ebp-4],0

......

10:           jmp main+1fh;

004017d5   jmp         main+1fh (0040179f) 

通過這樣乙個簡單的jmp 就實現了迴圈操作, 不過有個問題困擾我,是否有什麼辦法能夠讓jmp 跳到指定的**行去,比如 本程式就是要跳到執行 if(a<0)while(true)該語句執行的指令位址,後面如果知道,再來更新這裡

反彙編 迴圈

includeint main 00401010 55 push ebp 00401011 8bec mov ebp,esp 00401013 83ec 44 sub esp,44 00401016 53 push ebx 00401017 56 push esi 00401018 57 push ...

反彙編簡介

在傳統的軟體開發模型中,程式設計師使用編譯器 彙編器 鏈結器中的乙個或者幾個建立可執行程式,為了回溯程式設計過程,可以使用各種工具來撤銷彙編和編譯過程,這些工具就叫做反彙編器和反編譯器。反彙編器 以機器語言作為輸入,得到組合語言形式的輸出結果 反編譯器 以機器語言作為輸入,得到高階語言形式的輸出結果...

反彙編快速入門

我從事組合語言研究大概幾年前,因為是我為了開發sepl計算機語言編譯器。雖然到現在還沒有開發出 來,但是已經看到曙光了。為了研究彙編,我從反彙編入手,做了破解,脫殼,除錯等。但是彙編對我來說一直是讀天書,沒有任何突破。直到最近幾天我有了重大發現。有人說做黑客從反彙編sqlserver.exe檔案開始...