【问题标题】:IDA Pro: How to modify a function to always return true?IDA Pro:如何修改函数以始终返回 true?
【发布时间】:2020-05-06 03:39:16
【问题描述】:

我是逆向工程的新手,我正在尝试使用 ida pro 进行修复,但我不知道该怎么做。 这是例行程序。谁能解释我需要修改什么以使其返回 TRUE

.text:0000000000006D30 ; =============== S U B R O U T I N E =======================================
.text:0000000000006D30
.text:0000000000006D30
.text:0000000000006D30                 public IsFeatureEnabled
.text:0000000000006D30 IsFeatureEnabled proc near              ; DATA XREF: LOAD:0000000000001228↑o
.text:0000000000006D30 ; __unwind {
.text:0000000000006D30                 test    rdi, rdi
.text:0000000000006D33                 jz      short loc_6D50
.text:0000000000006D35                 sub     rsp, 8
.text:0000000000006D39                 add     rdi, 8
.text:0000000000006D3D                 call    sub_AFE0
.text:0000000000006D42                 add     rsp, 8
.text:0000000000006D46                 movzx   eax, al
.text:0000000000006D49                 retn
.text:0000000000006D49 ; ---------------------------------------------------------------------------
.text:0000000000006D4A                 align 10h
.text:0000000000006D50
.text:0000000000006D50 loc_6D50:                               ; CODE XREF: IsFeatureEnabled+3↑j
.text:0000000000006D50                 xor     eax, eax
.text:0000000000006D52                 retn
.text:0000000000006D52 ; } // starts at 6D30
.text:0000000000006D52 IsFeatureEnabled endp
.text:0000000000006D52
.text:0000000000006D52 ; ---------------------------------------------------------------------------

【问题讨论】:

  • mov eax, 1; retn.
  • 我必须在哪里更换?方法结束还是?
  • 开头。或者,如果您想将 false 保留为 NULL,则在 sub rsp, 8

标签: assembly arm ida


【解决方案1】:

将光标设置在 0000000000006D30 行(IsFeatureEnabled 函数的开头)。 右键-“同步”->“十六进制视图”应该被选中。

打开 Hex-View 窗口,按 F2,输入 33 C0 40 C3

意思如下:

   xor eax, eax ; 33 C0
   inc eax ; 40
   retn ; C3

如果要将其保存在文件中,请执行以下操作。

在补丁周围复制 10-20 个字节,并在十六进制编辑器(WinHex、010 Editor、Frhed 等)中找到十六进制字符串(例如“50 DE 64 11 ...”),确保复制了足够的字节并只找到一个序列,用补丁字节替换函数的原始字节。尝试执行您的修补版本。有时,由于搬迁,这有点困难。但这是下一个层次。

附:我不支持盗版软件。所以,这样做只是为了教育目的!

【讨论】:

  • 谢谢老板。它不是盗版,你可以肯定。再次感谢您
猜你喜欢
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多