使用 IDA Pro,我如何才能“编辑”值,而不是修补偏移,

逆向工程 艾达 部件 ios
2021-07-05 08:22:59

我是 iOSGods 社区的一员,他们做了很多作弊,但他们并没有真正做到最好地教其他人如何做到这一点。

那些人从不回复我的帮助支持关于寻找抵消的主题,我不明白他们是如何找到抵消等的。所以我想知道是否有一种简单易行的“修补值”方法

我一直在网上冲浪,寻找有关为 ios 应用程序编辑程序集的非常深入的教程,但似乎这些教程要么太难且含糊不清,要么已损坏且陈旧。

例如,我如何修补此函数以使其返回 true 而不是 false:

; bool __cdecl -[ScrollingListTradePortal everythingFree](ScrollingListTradePortal *self, SEL)
__ScrollingListTradePortal_everythingFree_
ADRP            X8, #_OBJC_IVAR_$_ScrollingListTradePortal.everythingFree@PAGE ; bool everythingFree;
LDRSW           X8, [X8,#_OBJC_IVAR_$_ScrollingListTradePortal.everythingFree@PAGEOFF] ; bool everythingFree;
LDRB            W8, [X0,X8]
AND             W0, W8, #1
RET
; End of function -[ScrollingListTradePortal everythingFree]
1个回答

在 IDA 视图(装配视图)中打开二进制文件。将光标放在要修补的行中。单击菜单栏中的编辑 > 补丁程序 > 更改字节。

编辑补丁程序选项

切换到“十六进制视图”。将程序集助记符与 HEX 值匹配。这因每条指令而异。例如,cmp [rbp-4], 4(在 X86_64 中)显示为83 7D FC 04.

按下F2可在十六进制视图中编辑。编辑值。再按F2一次以应用更改。检查 IDA 视图以查看更改。现在去编辑>补丁程序>应用补丁到输入文件。

应用补丁到输入文件

您也可以选择创建备份。

类似问题:StackOverflow: Edit (patch) a binary file in IDA Pro Ask