首页
社区
课程
招聘
请各位高手指点一下我
发表于: 2006-12-29 16:36 3600

请各位高手指点一下我

2006-12-29 16:36
3600
我想写个OD插件,当加载程序运行后,这个插件的作用就是一遇到CMP EAX,ECX这样的指令,就把EAX和ECX的值输出到文件中。

请问可以实现吗?我觉得对于破解似乎不错。

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
难道这个问题很简单,否则斑竹为什么转到这里呀?
2006-12-29 23:04
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
实现容易. 但是那样的话运行效率..
2006-12-30 20:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
楼上大侠能否给写个例子啊,我编程不是很好,拜托了。
2006-12-31 01:11
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
5
我以为,任何没有具体实现思路,明确列出难点的,都可以认为是新手帖的。

尤其是这种求示例的帖

最简单的实现是单步所有指令。也就是3楼的所说的效率问题了。
2006-12-31 01:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
斑竹你好:

我虽然没有提出具体实现思路,但是也算提出一个想法,不知道斑竹有什么建议呢?
2006-12-31 01:44
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
这个想法唯一的问题就是效率问题。

假如简单模拟人工的下断,单步,判断是否为CMP EAX,ECX的OPCODE,花费时间会相当长。

更好的实现是从程序的代码段中搜索CMP EAX,ECX的OPCODE,然后将相关代码重定位到输出EAX和ECX到文件的代码或者设为INT3,使调试器获得控制权,再将EAX和ECX输出

现在的问题是,如何在代码中正确识别CMP EAX,ECX的OPCODE。CMP EAX,ECX的OPCODE是3BC1。假如程序中有mov eax, c13b之类代码,那么简单的搜索OPCODE以及修改程序,会导致程序崩溃或者只能得到错误的输出。

如果你提出问题的时候,有经过自己思考,并且详细写出你的想法和实际遇到的问题,我想没有人会把你的问题当成是新手问题。边说自己的问题有难度,另外一方面又说自己编程水平不好,要求别人给你示例,假如你是高手,然后别人这么问你,你会特地花时间去写一个这么有难度的插件,然后给那个问问题的人么?
2006-12-31 11:22
0
游客
登录 | 注册 方可回帖
返回
//