解压APK

APKTool解压​​app-debug.apk​​ :

apktool d app-debug.apk

查看abi方式:

adb shell getprop ro.product.cpu.abi

Android逆向:IDA改写so_十六进制

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用。
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。

修改字符串

在​​\app-debug\lib\armeabi-v7a​​下找到libJniTest.so,用IDA32为的打开,切换Shift+F12找到要修改的字符串:

Android逆向:IDA改写so_十六进制_02


双击要修改的字符串“登陆成功”:

Android逆向:IDA改写so_字符串_03

双击左侧的00001F68的内存地址,打开Hex dump窗口(在View>下),切换到Hex模式下:

Android逆向:IDA改写so_arm处理器_04

把“登录成功”的十六进制 (E7 99 BB E5 BD 95 E6 88 90 E5 8A 9F)改为
“修改了啊”的十六进制编码(E4 BF AE E6 94 B9 E4 BA 86 E5 95 8A):

F2或右键应用修改(Apply Changes)。

保存so

Android逆向:IDA改写so_十六进制_05


其他arm64也需要同样修改。

APKTool重新打包

apktool b app-debug -o new.apk

Android逆向:IDA改写so_arm处理器_06

签名

Android逆向:IDA改写so_十六进制_07

安装测试

adb install