-
-
[旧帖]
[求助]帮忙分析一段汇编代码
0.00雪花
-
发表于:
2007-11-15 22:49
3886
-
[旧帖] [求助]帮忙分析一段汇编代码
0.00雪花
如题,学习目的……
对话框点击按钮后……
00401890 . push ecx
00401891 . push ebx
00401892 . push ebp
00401893 . push esi
00401894 . push edi
00401895 . mov esi, ecx
00401897 . push 1
00401899 . call <jmp.&MFC42.#6334_CWnd::UpdateDa>
0040189E . mov eax, dword ptr [esi+E8] ;字符串1,程序自动给出的
004018A4 . mov ebx, dword ptr [<&MSVCRT.atol>] ; msvcrt.atol
004018AA . mov edi, dword ptr [esi+E4] ;字符串2,输入的
004018B0 . lea ebp, dword ptr [esi+E4]
004018B6 . push eax ; /s
004018B7 . call ebx ; \ato
;将程序给出的字符串转化为long,放在eax中???
004018B9 . mov edx, eax
004018BB . push edi ;保存用户输入的字符串,目的何在???
004018BC . sub edx, 2382 ;转化后的数减去2382
004018C2 . mov dword ptr [esp+18], edx ;放在栈中,目的何在???
004018C6 . call ebx ;还是atol???
004018C8 . mov ecx, dword ptr [esp+18] ;把什么放在ecx中了???
004018CC . add esp, 8 ;何意???
004018CF . cmp eax, ecx
004018D1 jnz short 004018E9 ;爆破点,改为两个nop就破了。
我没搞懂它是怎么算的。
atol,是不是把eax开始的串转换成数字,再放在eax中吗?
程序是什么逻辑,还请大家帮忙分析!
小弟写过
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课