安卓逆向分析笔记---007
本帖最后由 什么都只会一点 于 2019-7-13 16:50 编辑自己搜索到了解决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签名,运行看看~
修改成功!
-----------------------------------------------------------------------------------------------------------
安卓逆向分析笔记---008:https://www.52pojie.cn/thread-989829-1-1.html
莫问刀 发表于 2019-3-31 09:23
大神,【会一点arm汇编语言,熟悉16进制和so】,如果不会arm汇编,对so不熟悉,是不是没法跟着你学下去呢。
看不懂汇编语言没事,知道几个关键词就可以了,至于其他的,不懂的地方可以来问,看到后会回复的 堂前燕 发表于 2019-3-30 22:26
java层改参数,传1,应该也可以
如果只针对这个软件,当然可以,但是现在更多的软件并没有传参数进so,而是直接在so里面执行完所有操作,smali里面可能只是单纯的调用,所以要学会方法 感谢分享,学习了 感谢分享啊.已经收藏了 评分用完,回复表示支持 java层改参数,传1,应该也可以 谢谢楼主,学习了 大神,【会一点arm汇编语言,熟悉16进制和so】,如果不会arm汇编,对so不熟悉,是不是没法跟着你学下去呢。 谢谢@Thanks!