首页
社区
课程
招聘
[讨论]调试器怎么去反汇编EIP处代码
发表于: 2021-9-23 18:54 6769

[讨论]调试器怎么去反汇编EIP处代码

2021-9-23 18:54
6769

最近在写一个简单的调试器,怎么去合理的反汇编模块代码,没有想到好的解决方法.
如果从模块代码段开始反汇编,如果出现eip处不是处于OPCODE的开始怎么办?
还有一个问题,单步一次就需要再次反汇编代码吗?


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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 689
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2

  1. ip指向哪,你就从哪解析即可.  遵循这条规则即可.(即使是花指令也是这样处理, 不能反汇编的,可以显示 问号 或者数据,看你需求)

  2. 现在电脑配置都高,step就反汇编,不会影响效率. 你反汇编当前窗口下的代码即可,不用整段全部反汇编. 

    假如你step不立即反汇编,可能会遇到一些问题, 比如下一条ip opcode被别的线程修改了怎么办? 动态patch或者shellcode怎么办?

2021-9-23 21:11
0
雪    币: 689
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
你也可以参考一下 od 的 ctrl+↑或者ctrl+↓ 进行 ip微调, 看看od遇到你说的"不是处于opcode开始处" 怎么办! 
2021-9-23 21:16
0
雪    币: 132
活跃值: (543)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
都是大佬
2021-9-24 07:56
0
雪    币: 15
活跃值: (3701)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
0llydbg ip指向哪,你就从哪解析即可.  遵循这条规则即可.(即使是花指令也是这样处理, 不能反汇编的,可以显示 问号 或者数据,看你需 ...
我觉得直接反汇编EIP处有些不太好而已,eip上面的内容如果不管,那么在eip的地方就不能网上查看代码了.我想的是从模块开始反汇编,然后在eip的地方判断一下,如果不是opcode的开头,就强制改成从eip解析.不知道这样的想法对不对.
2021-9-24 09:16
0
雪    币: 689
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
麻木的时间 我觉得直接反汇编EIP处有些不太好而已,eip上面的内容如果不管,那么在eip的地方就不能网上查看代码了.我想的是从模块开始反汇编,然后在eip的地方判断一下,如果不是opcode的开头,就强制改成从 ...
不合适, 如果区段有加 变异 虚拟 等. 代码很长 你从头开始反汇编,很耗时和内存.  可以ip减几条指令长度开始反汇编.
2021-9-24 09:34
0
游客
登录 | 注册 方可回帖
返回
//