准备工作
-
创建一个ndk工程
并创建一个类"HelloWorld.java",内容如下
为方便测试,我们只要一个abi即可
-
编辑ndk.cpp
-
简单调用
设备将会显示"ok888" -
将工程打包为apk,并反编译获得其中的so文件
开始修改so文件
- 使用工具"IDA"打开so文件,会发现我们所编写的函数,字符串"ok888"清晰可见
听说按f5效果更好!
- 关闭IDA,使用"010 Editor"工具打开so文件
上下翻动一下发现有个很熟悉的地方
将"38"改为"55"试试?然后保存(ctrl+s)
再用IDA打开,发现字符串ok888已变成"ok88U"
验证
最后验证下我们的修改成果,将原来的apk文件替换上我们修改后的so文件,回编并签名,最后运行,惊喜地发现屏幕显示为"ok88U"!