IDA Pro:如何修改函数以始终返回 true?

Bum*_*eey 3 assembly arm ida

我是逆向工程新手,我尝试使用 ida pro 进行修复,但我不知道如何解决这个问题。\n这是例程。谁能解释一下我需要修改什么才能使其返回 TRUE

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

pro*_*pis 6

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

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

这意味着以下内容:

   xor eax, eax ; 33 C0
   inc eax ; 40
   retn ; C3
Run Code Online (Sandbox Code Playgroud)

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

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

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