99887 发表于 2008-3-3 21:39:29

哎呀,这个权限够...学习学习

pxf 发表于 2008-3-19 01:57:23

谢谢分享/:good

hackcfb 发表于 2008-3-26 05:41:47

学习了,谢谢诸位。/:018

kymeii 发表于 2008-3-28 19:56:25

学习了!

hnld 发表于 2008-3-30 20:44:59

初看觉得好简单,细思量才发现自己无知.

chen0226s 发表于 2008-4-2 13:02:03

真是 太谢谢了/:014 /:014

aaa507 发表于 2008-4-3 15:31:20

看看 学习学习:loveliness:

JackyChou 发表于 2008-4-9 17:14:54

学习,谈下学习心得。
=========================================================================================
004014D6         .E8 6F030000    call <jmp.&MFC42.#3876>         ;取得用户名位数
004014DB         .8B1D FC214000mov ebx,dword ptr ds:[<&USER32.>;USER32.PostQuitMessage
004014E1         .83F8 05      cmp eax,5                     ;是否大于5位
004014E4         .7E 50          jle short chap202.00401536      ;小于就出错
=========================================================================================
这边首先将退出函数地址=>ebx。
那么,在用户名位数小于5的时候,就会跳向00401536这个地址。
在00401549这个地址后面有
push 0
call ebx
这样就调用PostQuitMessage函数,使程序退出。

JackyChou 发表于 2008-4-9 17:22:36

学习心得:
==============================================================================
004014D6         .E8 6F030000    call <jmp.&MFC42.#3876>         ;取得用户名位数
004014DB         .8B1D FC214000mov 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 编辑 ]

guang827 发表于 2008-4-10 10:34:32

谢谢分享………………
页: 8 9 10 11 12 13 14 15 16 17 [18] 19 20 21 22 23 24 25 26 27
查看完整版本: [PYG]算法分析入门第一课