首页
社区
课程
招聘
[原创]ali移动安全挑战赛第三题解题思路
2015-1-25 13:32 2109

[原创]ali移动安全挑战赛第三题解题思路

2015-1-25 13:32
2109
这题主要就是ali的dex壳了

因为在公司也没有折腾这块, 所以我是对手脱没有想法了.

然后我就想着hook 各种String函数. equals, substring, split....

然后看到... ___ ... 这个东西.  手动输入到输入框里面, 发现提示不一样.

然后日志里面有sos. 额....  原来是用的摩尔斯电码(摩尔斯:而且还不是标准的摩尔斯电码). 太狠了.  然后试了各种串. 主要是根据string.xml里面的key串进行的尝试. 发现都有问题.  

然后还通过反射打印各个字段的值, 在这里得到一个很重要的数据, 就是一个摩尔斯转换表.

没办法, 只能脱壳看逻辑了. 然后就开始折腾ZjDroid.

先把 com.zjdroid.invoke 这个广播的名字给换了, 然后在发现使用ZjDroid没反应, 日志都没有.

觉得有问题. 然后发现壳的Application OnCreate 是native 方法. 难怪hook不上.

然后就换地方. 就用构造函数吧. 但是用构造函数的话, 相当于里面还有东西没有初始化完. 所以就写了个线程, 延迟执行. 就这样. dex壳就脱掉了.

脱掉壳之后的代码真是一坨狗屎了..

然后看到使用各种加密混淆视听.  当然最后还是得到了结果.

小插曲, 在得到结果后, 然后就马上翻译成摩尔斯码进行输入. 但是结果不对. 很纳闷. 难道是脱壳有问题?(因为逻辑看了很多次) 然后就从hook的字符串函数中看到, 里面解析出来的结果不对. 得知使用的不是标准摩尔斯码, 然后就用之前得到的摩尔斯转换表 ... end

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回