吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2899|回复: 14
收起左侧

[新手问题] 为什么OD代码与IDA代码不一样(OD自己增加了代码)

[复制链接]
tpjia 发表于 2021-3-20 12:47
IDA找到关键代码,当我准备在OD中调试时,通过地址转换后,发觉相同位置的代码居然不一样,经过仔细搜索查找和人工对比,发现OD等调试器的反汇编代码比IDA反汇编代码多,不知道为什么OD要自动插入这些代码,我又用X64dbg和C32Asm打开对比,发现OD和x64dgb一致,IDA和C32Asm一致,请教各位这是为什么?如果遇到这种情况,添加代码后的地址如何在OD和IDA之间进行转换?
IDA反汇编代码:

IDA

IDA


c32asm反汇编代码:

C32ASM

C32ASM

OD反汇编代码:(蓝色框为OD自动添加的代码)

OD

OD


X32dbg反汇编代码:(蓝色框为x32dbg自动添加的代码)

X32DBG

X32DBG




发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| tpjia 发表于 2021-3-20 16:06
fanvalen 发表于 2021-3-20 13:46
大概是载入内存与否的区别,
主要原因是load pe
程序不是按文件连续结构压入内存

pe装载时按段载入,修改导入表,从内存布局看这段代码位于.text段,和导入表也没关系,为什么载入后.text段的代码被修改了呢?请指教!
 楼主| tpjia 发表于 2021-3-29 14:48
fanvalen 发表于 2021-3-20 13:46
大概是载入内存与否的区别,
主要原因是load pe
程序不是按文件连续结构压入内存

我知道的是分段映射到内存中,段的起始地址与文件起始地址不一致,但为何段中间的代码会不一致呢?
hy418474 发表于 2021-3-20 13:01
好东西啊,谢谢分享

免费评分

参与人数 1吾爱币 -8 收起 理由
涛之雨 -8 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

winddyj 发表于 2021-3-20 13:02
没遇到过,用16进制编辑器,找到地方看原文件,看看到底是谁加了还是谁减了
白如雪 发表于 2021-3-20 13:10
其达到的效果是一样的。

只不过写法不太一样。
 楼主| tpjia 发表于 2021-3-20 13:38
winddyj 发表于 2021-3-20 13:02
没遇到过,用16进制编辑器,找到地方看原文件,看看到底是谁加了还是谁减了

用c32asm的“对应HEX编辑”,显示与他的反汇编一致,应该是OD类调试器增加的。
 楼主| tpjia 发表于 2021-3-20 13:41
白如雪 发表于 2021-3-20 13:10
其达到的效果是一样的。

只不过写法不太一样。

效果不一样,多了蓝框部分的调用,从代码看应该增加了对某个对象成员函数的调用
fanvalen 发表于 2021-3-20 13:46
大概是载入内存与否的区别,
主要原因是load pe
程序不是按文件连续结构压入内存
程序是把文件分成几类结构压入内存
具体结构去看od || dbg内存布局
coolkids1988 发表于 2021-3-20 15:11
用ida调试呢
 楼主| tpjia 发表于 2021-3-20 16:09

IDA调试加载很慢,后半段代码反编译没成功,从前面部分看和OD类似,增加了代码。
微信截图_20210320160907.png



您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表