- UID
- 38953
注册时间2007-12-2
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
发表于 2008-4-9 17:22:36
|
显示全部楼层
学习心得:
==============================================================================
004014D6 . E8 6F030000 call <jmp.&MFC42.#3876> ; 取得用户名位数
004014DB . 8B1D FC214000 mov ebx,dword ptr ds:[<&USER32.>; USER32.PostQuitMessage
004014E1 . 83F8 05 cmp eax,5 ; 是否大于5位
004014E4 . 7E 50 jle short chap202.00401536 ; 小于就出错
==============================================================================
此时ebx存放的内容就是PostQuitMessage函数的地址
==============================================================================
00401536 > \6A 00 push 0
00401538 . 68 64304000 push chap202.00403064 ; ASCII "ERROR"
0040153D . 68 38304000 push chap202.00403038 ; ASCII "One of the Details you entered was wrong"
00401542 . 8BCE mov ecx,esi
00401544 . E8 F5020000 call <jmp.&MFC42.#4224>
00401549 . 6A 00 push 0
0040154B . FFD3 call ebx
==============================================================================
push 0
call ebx
此时调用PostQuitMessage函数,这样程序就退出了。
呵呵
[ 本帖最后由 JackyChou 于 2008-4-9 17:24 编辑 ] |
|