吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6373|回复: 10
收起左侧

[新手问题] 请问IDA如何修改程序的代码?例如改一句jmp xxx,怎么弄?

[复制链接]
小菜鸟一枚 发表于 2020-8-15 19:04
40吾爱币
IDA中搜索字符串定位到弹窗
[Asm] 纯文本查看 复制代码
.text:0040123B                 push    0               ; uType
.text:0040123D                 push    offset Caption  ; "ReverseMe #1"
.text:00401242                 push    offset aOkayForNowMiss ; "Okay, for now, mission failed !"
.text:00401247                 push    0               ; hWnd
.text:00401249                 call    MessageBoxA
.text:0040124E                 push    200h            ; nMaxCount
.text:00401253                 push    offset Text     ; lpString
.text:00401258                 push    hWnd            ; hWnd
.text:0040125E                 call    GetWindowTextA


切换到hex-view视图,我想将0040123B 这一行改成jmp 0040124E,然后傻眼了,OD里面都是直接改汇编指令,这都是十六进制数据我怎么改啊?
image.png

百度了下jmp 对应的机器码有四个,看不懂什么短跳长跳,我就胡乱的把开头第一个字节改成E9 那后面地址0040124E变成机器码怎么表示的呢?

哪位大佬能讲讲这个十六进制怎么修改汇编代码呢?

PS:初学IDA的小菜鸟,还望大佬们指点一下,谢谢!

最佳答案

查看完整内容

ida==>edit===>patch 16进制没试过,不知道 不过我知道, 目标地址-当前地址=偏移量 即:0040124E-0040123B=13 到底是近跳还是远跳呢? 要么EB13 要么E913 我是查看《Ollydbg/x32dbg/x64dbg贴心伴侣 6.49》知道的。

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

冥界3大法王 发表于 2020-8-15 19:04
ida==>edit===>patch
16进制没试过,不知道
不过我知道,
  目标地址-当前地址=偏移量
即:0040124E-0040123B=13
到底是近跳还是远跳呢? 要么EB13   要么E913
我是查看《Ollydbg/x32dbg/x64dbg贴心伴侣 6.49》知道的。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
小菜鸟一枚 + 1 + 1 热心回复!

查看全部评分

雷允 发表于 2020-8-15 19:25
涛之雨 发表于 2020-8-15 19:31
本帖最后由 涛之雨 于 2020-8-16 01:13 编辑

(论坛版内置了)
ida插件:
ctrl+alt+k修改汇编(类似od)
 楼主| 小菜鸟一枚 发表于 2020-8-15 19:32
雷允 发表于 2020-8-15 19:25
https://blog.csdn.net/weixin_43206704/article/details/86582543 看看这个

image.png
image.png

这个方法不知道为什么还是报错呢
 楼主| 小菜鸟一枚 发表于 2020-8-15 19:36
涛之雨 发表于 2020-8-15 19:31
Ctrl+shift+p修改汇编(类似od)

大佬,这个快捷键我电脑上怎么不起作用啊,用的论坛XP虚拟机,点地址按没动静,点汇编代码按也没动静
image.png
 楼主| 小菜鸟一枚 发表于 2020-8-15 19:56
本帖最后由 小菜鸟一枚 于 2020-8-15 20:15 编辑
冥界3大法王 发表于 2020-8-15 19:37
ida==>edit===>patch
16进制没试过,不知道
不过我知道,

我用E9 13,然后跳转显示的是 jmp     loc_401253
我用EB 13,jmp     short near ptr loc_40124E+2,看上去确实是跳转到40124E了,成功了,谢谢。

edit patch不知道为啥修改不了,可能是我没掌握方法吧!
头像被屏蔽
Deuez 发表于 2020-8-15 20:23
提示: 作者被禁止或删除 内容自动屏蔽
老伙计 发表于 2020-8-15 21:19
本帖最后由 老伙计 于 2020-8-15 21:20 编辑

        俗话说,"杀鸡焉用牛刀",像这么简单的事情就不用劳烦 IDA 了,用 OD 或 x64DBG 加载程序,定位到 代码偏移 0040123B 处,用汇编语言直接修改指令,然后存盘岂不直接、简单?
冥界3大法王 发表于 2020-8-15 21:48
老伙计 发表于 2020-8-15 21:19
俗话说,"杀鸡焉用牛刀",像这么简单的事情就不用劳烦 IDA 了,用 OD 或 x64DBG 加载程序,定位到  ...

其实向多元化说,并不简单
w32dasm加强版汇编改
HIEW 16进制代码与反汇编模式下改
winhex 16进制模式下改
HexTools命令行下改
你都尝试下就知道了,并不是那么一帆风顺的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 06:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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