亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

黑客老鳥講逆向分析:逆向分析技術全揭秘(1)
2008-02-25   

經過前幾課的學習,我們現在開始正式開講逆向分析。逆向分析技術是指通過分析反匯編代碼來理解其代碼功能,如各接口的數據結構等,然后用高級語言重新描述這段代碼,逆向推出原軟件的思路。下面從函數的調用、循環、控制語句等方面分析。

在高級語言中,子程序依懶于堆棧來傳遞參數。
例如test1(Par1,Par2,Par3:integer),按C,Psacal和StdCall的調用約定匯編代碼如下:

函數調用

按StdCall約定調用函數test2(par1,par2),其堆棧建立情況如下:
Push  ebp ;保護現場原先的EBP指針
Mov ebp,esp ;設置新的EBP指針,指向棧頂
Sub esp,xxx ;堆棧中留出點空間放局部變量
… …
Add esp,xxx ;釋放局部變量占用的堆棧
Pop ebp  ;恢復現場的ebp指針
Ret 8  ;返回 

循環

如果確定某段代碼是循環,就可以分析其計數器,一般是用ecx寄存器做計數器。

下面的匯編代碼:

xor ecx,ecx;ecx清零
:00440000
inc ecx;計數
… …
cmp ecx,05;循環4次
jbe 00440000;重復

上面的匯編代碼用C語言描述有以下3種形式:

While(i<5){… …}
For(i=0;i<5;i++){… …}
i=0
Repeat
i++;
…
Unitl(i>=5)

控制語句

If …else語句:
Cmp byte prt[00221450],bl
Jne 00221590
Case語句:

匯編代碼

高級語句

Mov eax,edi          ;

Sub eax,00000002 ;

Je    00401            ;

Sub eax,0000000E ;

Jne 0040114E

Swith(K)

{

    case’0x2’:…;break;

    case’0x10’:…;break;

Default:  

}


共3頁: 1 [2] [3] 下一頁
 第 1 頁:  第 2 頁:靜態分析/OD動態分析
 第 3 頁:結構化異常處理

熱詞搜索:

上一篇:黑客老鳥講逆向分析:有關脫殼以及脫殼實例講解
下一篇:CISSP的成長之路(二十):講解身份驗證過程

分享到: 收藏