20.IDA-修改二进制文件、显示修改点

1.功能选项

Edit▶Patch Program菜单是GUI版本的IDA的一项隐藏功能,用户需要编辑idagui.cfg配置文件才能激活该菜单
这里写图片描述

可用选项如图所示
这里写图片描述

1.1.Change byte

用于编辑IDA数据库中的字节值。相关的字节编辑对话框如图所示
这里写图片描述
这个对话框显示了从光标所在位置开始的16个字节的值。你可以更改显示的部分或全部字节。
同时,Address表示了虚拟地址,File offset表示了文件偏移量。

实际上,Hex View可以直接改字节,右键Edit即可

1.2.Change word

功能更有限,感觉没必要介绍了

1.3.Assemble

利用“汇编”选项可以输入使用一个内部汇编器汇编的汇编语言语句。然后,IDA会将得到的指令字节写入当前的屏幕位置
这里写图片描述
但不如人愿:
这里写图片描述
点击最右边的Help,我们可以找到答案:

This command allows you to assemble instructions. Currently, only the IBM PC processors provide an assembler, nonetheless, plugin writers can extend or totally replace the built-in assembler by writing their own. 
The assembler requires to enclose all memory references into square brackets. For example: 

        mov ax, [counter]

Also, the keyword 'offset' must not be used. Instead of 
        mov eax, offset name

you must write 
        mov eax, name

所以写成push aQqres就OK了

1.4.Apply patches to input file

把改动更新到二进制文件中
这里写图片描述

2.DIF显示被修改的地方

Produce file▶Create DIF file
DIF文件是一个纯文本文件,其中列出了一个IDA数据库中所有被修改的字节。
这个文件的第一行是注释,第一行是最初的二进制文件的名称,随后则是文件中被修改的字节列表。每一行都指出被修改的字节的文件偏移量(而非虚拟地址)、字节的原始值以及字节在数据库中的当前值。
这里写图片描述

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值