blitz
发表于 2007-12-26 19:35:37
刚刚看了篇帖子,NAG可以直接在子程序压栈那句该成返回..好强.
jfxwc
发表于 2007-12-28 20:36:02
嗯,这篇写的非常好。值得我这样的菜鸟好好理解和掌握。
参考网络上的教学,最不明白的是“为什么”要这样或者那样操作。
这篇写的很好,便于掌握思路。
天使的锁链
发表于 2007-12-28 21:24:09
是是好了 估计我水平有限
mnop
发表于 2007-12-29 10:21:36
谢谢分享,学习了。
网络断魂
发表于 2007-12-29 12:05:20
学习了,谢谢!!!!!!!!!!
秋雨梧桐
发表于 2007-12-29 12:49:07
来学习了,谢谢分享!!
Guderain
发表于 2008-1-5 14:43:06
呵呵.学会了,子程序直接返回.
神虎
发表于 2008-1-5 15:18:57
适合我看,谢谢楼主.
受教了..../:001
塞上小飞
发表于 2008-1-6 17:56:29
嘿嘿
不错的
学习了
塞上小飞
发表于 2008-1-6 18:05:24
跟着学习下
0048B9A1 .C3 RETN
0048B9A2 8BC0 MOV EAX,EAX
0048B9A4 EB 1F JMP SHORT dup_.0048B9C5 ;PUSH EBX,从这里改的
0048B9A6 90 NOP
0048B9A7 6A 00 PUSH 0 ; /Arg1 = 00000000
0048B9A9 66:8B0D C8B94>MOV CX,WORD PTR DS: ; |
0048B9B0 .B2 03 MOV DL,3 ; |
0048B9B2 .B8 D4B94800 MOV EAX,dup_.0048B9D4 ; |真的要退出?
0048B9B7 .E8 08D5F9FF CALL dup_.00428EC4 ; \dup_.00428EC4
0048B9BC .83F8 07 CMP EAX,7
0048B9BF .75 03 JNZ SHORT dup_.0048B9C4
0048B9C1 .C603 00 MOV BYTE PTR DS:,0
0048B9C4 >5B POP EBX
0048B9C5 .C3 RETN
这样改是可以的,NAG没有了
但是
0048B9A1 .C3 RETN
0048B9A2 EB 21 JMP SHORT dup_.0048B9C5 ;从这里直接这里改
0048B9A4 53 PUSH EBX
0048B9A5 8BD9 MOV EBX,ECX
0048B9A7 6A 00 PUSH 0 ; /Arg1 = 00000000
0048B9A9 66:8B0D C8B94>MOV CX,WORD PTR DS: ; |
0048B9B0 .B2 03 MOV DL,3 ; |
0048B9B2 .B8 D4B94800 MOV EAX,dup_.0048B9D4 ; |真的要退出?
0048B9B7 .E8 08D5F9FF CALL dup_.00428EC4 ; \dup_.00428EC4
0048B9BC .83F8 07 CMP EAX,7
0048B9BF .75 03 JNZ SHORT dup_.0048B9C4
0048B9C1 .C603 00 MOV BYTE PTR DS:,0
0048B9C4 >5B POP EBX
0048B9C5 .C3 RETN
NAG还有的,同时在0048B9A2 8BC0 MOV EAX,EAX,这里下F2断点也断不下,只能在0048B9A4 53 PUSH EBX这里下,想问下大侠们,这里的
0048B9A2 8BC0 MOV EAX,EAX是什么作用呢?
期待大家的解答~!~/:QQ2 /:QQ2 /:QQ2