0%

笔试题目之app逆向

笔试题目之app逆向

没咋搞过app,当初只会改zip,解压分析dex, 这次刚好学了下动态调试,虽然没做出来吧,过程中还是学到了挺多

首先jeb打开app,搜索

image-20200509115736214

查到有两处,开头第一处我没去注意

image-20200509115757812

光注意这里了

image-20200509115818973

这里很简单,取md5,然后2位一取然后就比较

然后发觉这是个不可能的比较, 取出一个16位的字符串跟开头限定长度为11, 相相矛盾, 然后我以为这里可以绕过, 最后想到只有整数溢出有可能绕过, arv6为String, 只要我输入的字符串足够长, 让其整数溢出可以绕过开头长度判断, 然而最后的比较还是过不了,最后不了了之

起初, 动态调试了下,发觉跟我用java跑出来的结果一样,还是无法绕过,

然后看了下提示,那个Congratulation, 我改了下判断,让其直接跳到Ccngratulation. 才发觉这个是错误的验证…浪费我大把时间

查看引用,追回到这里

image-20200509120143676

看到这里首先调用了this.x(v0)

应该就是这里执行过后,不往下执行了,

查了下native,发觉要进入so层看

进去看导出表

image-20200509120420011

只有一个java的,进去查看

image-20200509120519973

说实话,看不懂这是在干什么…

同时进入Jni_Onload查看

image-20200509120605763

看上去似乎只是注册了些java数据类型

遂准备动态调试, 折腾了好久, 首先有些模拟器装都装不上, 雷电3x装上了, 我调试的时候一进入so层就崩溃了

image-20200509120722985

发觉是没有x86的so,

上华为真机调试, 没root, 无法附加到进程,因为查看不到, 无果, 无备用机, 等到时学android逆向再买个谷歌亲儿子真机吧

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/fdc3ef13/
版权声明:转载请注明出处!