破解 彙編學習筆記

2021-03-31 08:56:28 字數 988 閱讀 3497

1.迴圈,用得比較多,也是加密/驗證常用的

mov eax,dword ptr ss:[ebp-4] 

call ******xx //這一般是取長度

test eax,eax

@@loop:

jbe ******xx //長度為0,不做迴圈

mov edx,1 //從第乙個開始:delphi程式

mov ecx,dword ptr ss:[ebp-4]

movzx ecx,byte ptr ds:[ecx+edx-1] //取乙個字元

...... //其它操作,各人有異

...inc edx //取下乙個

dec eax

jnz @@loop //下一輪

2.取無效位址?

在處理中,經常看到有類似lea ecx,dword ptr ds:[ecx+ecx*2]的句子.

心想,怎麼可能,這樣訪問不會出錯嗎?

不會,原來lea不會訪問位址後才取位址,而是直接取,呵呵,其實這個只是用

來做運算:ecx = ecx * 3;

3.對delphi 程式timer設定斷點

方法:在模組中查詢cmp esi, 113 設定斷點

delphi 在處理timer時,settimer傳的timeproc 是0,因為delphi不通過**函式的方式,而是通過訊息實現。

constructor ttimer.create(aowner: t***ponent);

begin

inherited create(aowner);

fenabled := true;

finterval := 1000;

fwindowhandl

彙編學習筆記

1 cpu的指令集 cpu內整合了不同功能的電路模組 如 加 減法器,比較器 正常工作所對應的不同高低電平 數電知識 組合語言是人對機器指令的語言表述。2 cpu對硬體的控制實際是訪問其記憶體 如顯示卡上整合有ram 視訊記憶體 和rom 裝有唯讀bios 源 被編譯成機器 後被載入記憶體。3 程式...

彙編學習筆記

彙編檔案為 s 檔案 因為c程式執行需要棧,設定好棧了之後就可以呼叫c程式了 bl delay 呼叫delay 暫存器移位 mov r0,r1,lsl 3 r1內容左移3位送r0 暫存器間接定址 ldr r1,r2 r2做位址取數送r1 基址變址定址 ldr r1,r2,4 r2 4作位址取數送r1...

彙編學習筆記

mov al,byte ptr x 記憶體向通用暫存器傳送資料 shl al,1 al中的資料進行邏輯左移一位,針對無符號數的 2運算 dec al 對al暫存器中的值進行自減一之後再把結果放到al暫存器中,其中涉及對al暫存器進行資料讀,並將資料傳送到運算暫存器中,並將運算器結果通過線路傳送到al...