自己搜索到了解决Androidkiller反编译的问题的方法,以后还是用AndroidKiller吧
解决方法如下:https://www.52pojie.cn/thread-658341-1-1.html
【课前需知】
会一点arm汇编语言,熟悉16进制和so
【所需工具】AndroidKiller、IDA(有没有意识到什么~)
【用例下载链接】链接:https://pan.baidu.com/s/1nkU2tjybb0WdELJ1q9RX2g 提取码:z91l
本次笔记要完成的任务,如图(来自跟鬼哥学so修改)
【开始操作】
将APK拖入AndroidKiller,打开AndroidManifest.xml,找到第一启动类,打开第一启动类的smali文件,打开源码查看(具体操作方法详情请看逆向分析笔记一)
可以看到这里有个VipLevel的地方,打开JniGg查看
可以看到JniGg里面什么都没有,值得注意的是这里,调用了lib文件夹里的gg-jni.so的文件,只能so分析了
找到gg-jni.so的位置,右键打开文件路径,将so文件拖入IDA进行分析,直接点OK
在左边框框里点一下,Ctrl+F,下面就会出现搜索框,前面可以看到是 VipLevel方法
双击左边那个方法名打开
我们会看到如下情况,右键选择Text view,默认第一行就是方法开始的第一行,向上翻一下可以看的函数名,如下图
哦对,说漏了,左下角这个表示分析完成了,因为软件本身不大,分析比较快,其他的游戏分析起来可就没这么快了,比较大的能分析一下午
可以看到第一行与最后一行,中间这一段就是VipLevel的汇编指令
可以看到我们要实现的Gold Vip,然后要注意的是前面的三个BXX,这是相关的跳转语句,具体识别方法看左边红框框里的
so文件不能影响到字节的长度,所以不能直接删除
【修改方法一】
将三个Bxx Nop掉
鼠标点击一下要修改的指令,右键在点击上面的Hex view
将这里修改成nop指令,也就是90 90,右键Edit修改,改完之后右键Apply changes保存
返回IDA View看一下
那一行直接没了,同样的方法,修改另外两个判断
改完之后保存退出,重新导入APK签名,运行看看~
修改成功!