IDA Pro:如何将函数修改为始终 return true?

IDA Pro: How to modify a function to always return true?

我是逆向工程的新手,我正在尝试使用 ida pro 进行修复,但我不知道我会怎么做。 这是例程。谁能解释一下我需要修改什么才能使它 return 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 ; ---------------------------------------------------------------------------

将光标设置在 0000000000006D30 行(IsFeatureEnabled 函数的开头)。 右键单击 - "Synchronise with" -> "Hex View" 应该被选中。

打开 Hex-View window,按 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 ...”),确保有足够的字节复制并且只找到一个序列,用修补后的字节替换函数的原始字节。尝试执行你的补丁版本。有时由于搬迁,这有点困难。但这是下一个级别。

P.S。我不支持软件盗版。所以,这样做只是出于教育目的!