首页
社区
课程
招聘
[旧帖] [求助]OD 如何跟踪dll 0.00雪花
发表于: 2011-11-21 10:31 14898

[旧帖] [求助]OD 如何跟踪dll 0.00雪花

2011-11-21 10:31
14898
提个问题,有个程序是使用dll进行加密的,必须要对这个dll进行跟踪。
以前使用的方法是:
  1. od 装载进dll,找到相应的位置下断点。
  2. 直接运行原始程序,验证密码时候在OD的断点上停止,继续跟踪调试。
这样,可以对dll进行跟踪调试。 以前使用这种方法没问题。
昨天搞另一个软件,一直不行,是不是方法有问题,请各位指出正确的方法。

后来是这么做的,
  1. OD 直接导入dll。
  2. 在dll找到相应的函数。
  3. 从这个函数头设置新的EIP,开始运行。
由于该函数运行不需要输入参数,直接调试,也获得我所想要的。
问题是这种方法不适合于其他的函数。

还有,
  原始运行的程序是个bat程序,设置和很多的环境变量,选项什么的,中间有调用这个dll。
正确的方法是如何对这个东东进行调试。
  
请各位帮助指点一下!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
各位大牛帮忙指点一二啊,谢谢啦
2011-11-22 21:52
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
OD载入主程序,先让程序跑起来,然后查看dll模块,再查看模块中的函数,根据相应的加密点下断。下面的文章对你或许有帮助。
http://bbs.pediy.com/showthread.php?t=44277
2011-11-24 23:40
0
雪    币: 807
活跃值: (2233)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你可以试试把bat文件里面启动程序的那条命令改为启动OD,OD启动后,加载那个目标程序,如果有命令行的话,在调试参数里面加以设置,这个环境应该和程序运行的原始环境一模一样,不会影响到程序的正常运行。

    你也可以试试用OD加载目标程序,记下程序的头一条指令,然后把这条指令修改为单字节指令 int3,保存程序,设置OD为即时调试器,选择挂接时不需要确认,最后退出OD。运行你那个bat文件,当目标程序运行时,由于程序第一条指令非法,将会引发异常,OD将会启动,并停在程序头一条指令处,这时,恢复先前记录的头一条指令,连命令行都不用管,就可以开始调试了。用此方法需要注意的是,当程序不再需要调试的时候,要把头一条指令恢复回去,否则程序不能正常运行的。

    至于dll的跟踪,你完全可以先用OD直接加载dll,在你认为可疑或重要的地方设置断点,然后退出OD。当被调试的程序执行到dll中你预先设置的断点处时,会自动中断的。你可以自由跟踪、分析,与调试普通exe程序无异。

    以上建议希望能够对你有所帮助。
2011-11-25 00:04
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢!
前一段时间忙,没来看,谢谢了。
我学习学习!
2011-12-14 09:39
0
游客
登录 | 注册 方可回帖
返回
//