首页
社区
课程
招聘
[旧帖] [solved]Dbg脚本运行流程.. 0.00雪花
发表于: 2008-5-14 15:46 3604

[旧帖] [solved]Dbg脚本运行流程.. 0.00雪花

2008-5-14 15:46
3604
如loveboom Aspr2.0文章中的一个脚本:
http://bbs.pediy.com/showthread.php?threadid=17373

//fixed aspr 2.x
var addr

start:
  run                              

l1:
  cmp eip,00D500E3
  jne l2
  mov addr,esp
  sub addr,4
  mov [addr],479bcf
  jmp start

l2:
  ret

应该是自顶向下一条一条指令走的吧?
然后  start:  run
这句是运行程序,还是说执行一个命令后回到脚本继续执行

ret:退出脚本    ?

总之,对脚本的执行流程我很糊涂~~~

大虾们说说吧
可怜我这红尘中挣扎的孩子把
呵呵

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
en ,人呢?
2008-5-14 22:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
run 就是脚本的指令 就是F9跑起来]
start 是标签 下面的 JMP start 就是再次运行 start段的内容
2008-5-14 23:53
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
4
你可能没注意到他文章里要你先自行下 硬体断点(00D500E3)

 断点发生时, 控制权就交到 ODbgScript 了, 看你要做什么.
 这例子是改成让他 jmp 到 479bcf

 jmp Start , 一执行RUN, 控制权交还给程式(壳)
 当...再遇到断点时, 又交回到 ODbgScript.
 如此...一直循环... 何时退出这循环呢?
   cmp eip,00D500E3
   jne L2

作者最后有写:
  写好后,记得在479c33处下个f2断,再运行,否则运行脚本后会"飞"的。

亦即你最后会断在 479c33, 同时脚本也结束了.
叫你快点 Dump

写法是活的,作者习惯如此写.你日后了解流程控制之后,
同样的东西就会有你自己的写法了.
2008-5-15 00:40
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
wa,谢谢ls
解决偶的困惑
2008-5-15 10:17
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
恩,论坛上的Ollydbg Script教程似乎没讲到这一点
什么地方还有其他教程?
2008-5-15 11:23
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
教程我没看过. 不过..得参考指令集 + 自己随便写简单的来测试.

教程好像不会讲这个. 基本上若你Debugger之类的常接触的话就会习惯了.
同样是利用 中断/例外 在拿控制权, 处理完后再交给 Target.
你怎不问 OllyDbg 跟 Target 同样的问题?
因为你习惯了.
不设断点, OllyDbg还不是一样飞了

有人搞不懂又没人讲. 一直无法弄清控制流程.
OllyDbg还是OllyDbg ' Target还是Target , Script就是你自己这个角色.
只是你不用手动而己.
2008-5-15 11:34
0
游客
登录 | 注册 方可回帖
返回
//