-
-
[原创]ali移动安全挑战赛第三题解题思路
-
发表于: 2015-1-25 13:32 2178
-
这题主要就是ali的dex壳了
因为在公司也没有折腾这块, 所以我是对手脱没有想法了.
然后我就想着hook 各种String函数. equals, substring, split....
然后看到... ___ ... 这个东西. 手动输入到输入框里面, 发现提示不一样.
然后日志里面有sos. 额.... 原来是用的摩尔斯电码(摩尔斯:而且还不是标准的摩尔斯电码). 太狠了. 然后试了各种串. 主要是根据string.xml里面的key串进行的尝试. 发现都有问题.
然后还通过反射打印各个字段的值, 在这里得到一个很重要的数据, 就是一个摩尔斯转换表.
没办法, 只能脱壳看逻辑了. 然后就开始折腾ZjDroid.
先把 com.zjdroid.invoke 这个广播的名字给换了, 然后在发现使用ZjDroid没反应, 日志都没有.
觉得有问题. 然后发现壳的Application OnCreate 是native 方法. 难怪hook不上.
然后就换地方. 就用构造函数吧. 但是用构造函数的话, 相当于里面还有东西没有初始化完. 所以就写了个线程, 延迟执行. 就这样. dex壳就脱掉了.
脱掉壳之后的代码真是一坨狗屎了..
然后看到使用各种加密混淆视听. 当然最后还是得到了结果.
小插曲, 在得到结果后, 然后就马上翻译成摩尔斯码进行输入. 但是结果不对. 很纳闷. 难道是脱壳有问题?(因为逻辑看了很多次) 然后就从hook的字符串函数中看到, 里面解析出来的结果不对. 得知使用的不是标准摩尔斯码, 然后就用之前得到的摩尔斯转换表 ... end
因为在公司也没有折腾这块, 所以我是对手脱没有想法了.
然后我就想着hook 各种String函数. equals, substring, split....
然后看到... ___ ... 这个东西. 手动输入到输入框里面, 发现提示不一样.
然后日志里面有sos. 额.... 原来是用的摩尔斯电码(摩尔斯:而且还不是标准的摩尔斯电码). 太狠了. 然后试了各种串. 主要是根据string.xml里面的key串进行的尝试. 发现都有问题.
然后还通过反射打印各个字段的值, 在这里得到一个很重要的数据, 就是一个摩尔斯转换表.
没办法, 只能脱壳看逻辑了. 然后就开始折腾ZjDroid.
先把 com.zjdroid.invoke 这个广播的名字给换了, 然后在发现使用ZjDroid没反应, 日志都没有.
觉得有问题. 然后发现壳的Application OnCreate 是native 方法. 难怪hook不上.
然后就换地方. 就用构造函数吧. 但是用构造函数的话, 相当于里面还有东西没有初始化完. 所以就写了个线程, 延迟执行. 就这样. dex壳就脱掉了.
脱掉壳之后的代码真是一坨狗屎了..
然后看到使用各种加密混淆视听. 当然最后还是得到了结果.
小插曲, 在得到结果后, 然后就马上翻译成摩尔斯码进行输入. 但是结果不对. 很纳闷. 难道是脱壳有问题?(因为逻辑看了很多次) 然后就从hook的字符串函数中看到, 里面解析出来的结果不对. 得知使用的不是标准摩尔斯码, 然后就用之前得到的摩尔斯转换表 ... end
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- [原创]ali移动安全挑战赛第三题解题思路 2179
- [原创]ali移动安全挑战赛第二题解题思路 2079
- [原创]ali移动安全挑战赛第一题解题思路 1842
- [求助]可能实现ipa包的动态修改吗? 9671
看原图
赞赏
雪币:
留言: