能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我是外行,平时是动态跟到'ret 0010'时看ESP中的值,或者干脆跟到程序返回才知道.不知道内行们是怎样做的.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
可以告诉我怎么办吗?谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
请大虾指点,或给点相关文章
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
记得ret x
的 x 是调整栈的平衡吧..
|
能力值:
( LV12,RANK:810 )
|
-
-
6 楼
最初由 康科 发布 mov ecx, dword pt[esp+10] mov edx,** mov eax push ecx push edx ........
向上找到这个函数的入口,下中断,再次运行程序,中断在入口后到堆栈窗口中看看会给你惊喜的。或者到OD的堆栈调用记录窗口中看看。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢,可以举个例子吗?
我不懂汇编,但是我必须要改这个程序。
我只是为了使用上的方便。。
所以靠自己。
我按F8,它就跳70*****的地址,但是反汇编的都是40****的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
请大虾指点..
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
RET X
的意思是 EIP = stack.pop ( EIP = SS:[ESP], ESP = ESP + 4 )
然後 ESP = ESP + X
所以,必?要看??的 stack 才知道?回到哪
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
你的返回地址是调用系统的函数 很多时候用控件会出现你说的情况
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
mov ecx, dword pt[esp+10]
mov edx,**
mov eax
push ecx
push edx
push eax
call ********
add esp,*******
xor eax, eax
ret 0010 <=====这里返会在程序里找不到,应该怎样才能知道它返回哪里谢谢
在add esp,*******
这一行********的值应该为C就对了
也就是add esp,0C
或add esp,eax eax=C
你让********里面的值为C就可以了
|
|
|