请教,汇编的代码

来源:百度知道 编辑:UC知道 时间:2024/05/12 21:27:42
现在正在试图破解一软件,但是我不会汇编。请大家告诉我,什么push什么lea都是干什么的?
反汇编后随便弄了一段贴上来,希望出现的语句都帮我解释一下
* Possible StringData Ref from Data Obj ->"reg.ini"
|
:00411CB0 6860444600 push 00464460
:00411CB5 8D4C2420 lea ecx, dword ptr [esp+20]
:00411CB9 50 push eax
:00411CBA 51 push ecx
:00411CBB C684244C04000001 mov byte ptr [esp+0000044C], 01
:00411CC3 E823EF0200 call 00440BEB
:00411CC8 8B00 mov eax, dword ptr [eax]
:00411CCA 50 push eax

* Reference To: SHLWAPI.PathFileExistsA, Ord:0028h
|
:00411CCB FF1588034500 Call dword ptr [00450388]
:00411CD1 85C0 test eax, eax
:00411CD3 8D4C241C lea ecx, dword ptr [esp+1C]
:00411CD7 0F94442423 sete byte ptr [esp+23]
:0

每条汇编语句的意思如下:
:00411CB0 6860444600 push 00464460 意思是把00464460放入堆栈栈顶
:00411CB5 8D4C2420 lea ecx, dword ptr [esp+20]意思是将内存[esp+20]的偏移地址送给ECX寄存器
:00411CB9 50 push eax 意思是将EAX内容入栈
:00411CBA 51 push ecx 意思是将ECX内容入栈
:00411CBB C684244C04000001 mov byte ptr [esp+0000044C], 01 意思是将字节01存入内容[esp+0000044C]中
:00411CC3 E823EF0200 call 00440BEB意思是调用00440BEB开始的过程
:00411CC8 8B00 mov eax, dword ptr [eax]意思是将内存[EAX]中的双字内容送入寄存器EAX中
:00411CCA 50 push eax 意思是将EAX内容入栈

* Reference To: SHLWAPI.PathFileExistsA, Ord:0028h
|
:00411CCB FF1588034500 Call dword ptr [00450388]意思是调用[00450388]处远过程
:00411CD1 85C0 test eax, eax 意思是EAX自身内容相与,进行测试
:00411CD3 8D4C241C lea ecx, dword ptr [esp+1C] 意思是将内存[esp+1C]的偏移地址送ECX中
:00411CD7 0F94442423 sete byte ptr [esp+23] 意思是
:00411CDC E875EC0200 call 00440956 意思是调用00440956处过程
:00411CE1 385C2423 cmp byte ptr [esp+23], bl 意思是将内存[esp+23]中内容与bl内容比较
:00411CE5 7420 je 00411D07 意思是相等转移到00411D0