能力值:
( LV9,RANK:490 )
|
-
-
2 楼
.data?
XXX dd ?
.code
....
....
.while 条件
...
.if XXX==999
.Break
.endif
...
.endw
不知道符不符合你的要求
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
谢谢PETNT的回复
这个是一个程序里面的 我反汇编他想改变他的流程.你说的..我还是没有明白.汇编里面可以用这些WHILE什么的吗.
|
能力值:
( LV9,RANK:490 )
|
-
-
4 楼
OD里当然写不出这个,我以为你在写程序。
在程序里要想改变程序流程并不是十分容易,除非是仅仅将je改为jne的改变。
如果你还想做一些判断,由于涉及到的代码会很多,以至于你无法在原处修改来达到目的。
所以需要找个恰当的位置 把程序 jmp 出去,做完事情后在jmp 回来。但这里一定要注意保护现场和恢复原指令。
http://bbs.pediy.com/showthread.php?t=56420
这是我写的,里面有类似操作,希望对你有用。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
再次感谢PETNT.
你说的JMP出去再回来的思路很有用.
正在拜读“以彼之道,还施彼身”——对付CrackMe之小蜜蜂v1
该程序是自有比较和判断句. 我只是想让他在我可控的条件下达到判断触发.
比如
00414FDE F6C4 01 TEST AH,1
00414FE1 0F85 37010000 JNZ 0041511E
这个是他自己的条件.但是我想让他在我觉得合适的时候再满足这个条件.
我可以在其他我可以触发的地方比如按个按钮的里面加个AH=1吗?如果可以要如何加?
|
能力值:
( LV9,RANK:490 )
|
-
-
6 楼
估计可以通过全局变量来实现,仅仅用eax好像不太容易,因为eax太难保护了,你把它jmp出去后,改成对全局变量的比较,可能能够实现。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
全局变量能够打个比方或者给个例子吗?
唉 很头疼 谢谢指点了.
|
能力值:
( LV9,RANK:490 )
|
-
-
8 楼
你可以在data段自己选一个程序没用的地方,记下这个地方。
引用时用:[XXXXXXXX]
如写入 mov dword ptr [XXXXXXXX],EAX
|
|
|