笔试题目之app逆向
没咋搞过app,当初只会改zip,解压分析dex, 这次刚好学了下动态调试,虽然没做出来吧,过程中还是学到了挺多
首先jeb打开app,搜索
查到有两处,开头第一处我没去注意
光注意这里了
这里很简单,取md5,然后2位一取然后就比较
然后发觉这是个不可能的比较, 取出一个16位的字符串跟开头限定长度为11, 相相矛盾, 然后我以为这里可以绕过, 最后想到只有整数溢出有可能绕过, arv6为String, 只要我输入的字符串足够长, 让其整数溢出可以绕过开头长度判断, 然而最后的比较还是过不了,最后不了了之
起初, 动态调试了下,发觉跟我用java跑出来的结果一样,还是无法绕过,
然后看了下提示,那个Congratulation, 我改了下判断,让其直接跳到Ccngratulation. 才发觉这个是错误的验证…浪费我大把时间
查看引用,追回到这里
看到这里首先调用了this.x(v0)
应该就是这里执行过后,不往下执行了,
查了下native,发觉要进入so层看
进去看导出表
只有一个java的,进去查看
说实话,看不懂这是在干什么…
同时进入Jni_Onload查看
看上去似乎只是注册了些java数据类型
遂准备动态调试, 折腾了好久, 首先有些模拟器装都装不上, 雷电3x装上了, 我调试的时候一进入so层就崩溃了
发觉是没有x86的so,
上华为真机调试, 没root, 无法附加到进程,因为查看不到, 无果, 无备用机, 等到时学android逆向再买个谷歌亲儿子真机吧
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/fdc3ef13/
版权声明:转载请注明出处!