蚂蚁金服12万破解悬赏-第一战

上篇我们预测了阿里蚂蚁金服破解题目的几种思路,现在我们来看看实际情况如何。

上篇地址

(已按照官方说明更新了下载地址)
http://www.jianshu.com/p/93b0b4e7e091

吐槽下先

上篇我们就提到了官方给的下载链接不可访问,方式还以为不到开赛时间官方未开放下载,或者阿里的同学都忙着去开宇宙最大公司大会了,得等到凌晨准时开通。

经过漫长的等待,困啊,到了零点去访问还是无法访问,当时想这不是阿里的风格啊,大概00:30的时候等不下去就想看看公众号有没有回复,结果在公众号文章的底部回复中看到官方的答复,公众号的下载地址为内网地址,同时还公布了外网地址。这算不算命题组的失误呢?

赛题情况

  1. 先上个图给大家看看
    赛题界面

  2. 赛题为单机版
    我的预测之3、4明显不符合了。

  3. 赛题的apk包没做加固
    预测之2还是对的,但只能算对了一部分,因为apk部分的代码相对比较简单,而他把核心逻辑封装到了libcore.so以及core.bin文件中,说实话我之前对这两个玩意没任何概念,我不认识他们他们不认识我。

  4. 开启so破解的漫长路
    经过恶补知识,大概知道了so为何物。既然是C类的东东,那就祭出ida神器吧,不过发现自己的ida不能用F5伤心啊,于是经过多次尝试终于找到一个靠谱的破解版可用。
    ida主要代码部分还算清晰,不过又涉及了一个VM的概念,核心逻辑都在VM中完成,这个鬼我还在死磕中。

涨技能

经过这四天的研究,我发现自己涨了很多技能,即使不能成功破解也值了。给大家简单列一下,有兴趣可以加qq群找我,这些问题对熟悉android开发的大神是小菜一碟,但是android小白,走了很多弯路。

  1. 手机编程
    Aide一个NB的在android手机上开发android应用的app。
    之前就一直用过这个工具,奈何我的电脑开发环境不给力,eclipse下一直编译异常,重新更新sdk后还是有问题。于是乎回到手机上开发了。

  2. 引用so
    这个问题费了很长时间才在aide中引入了32位的so,期间学会了绝对路径load库文件、相对路径loadlibrary,解决了32位 64位的问题。

  3. 学会了无源代码看app日志
    这个问题咨询了好几个android开发的小伙伴,网上查了很多资料才搞定。用了adb神器,可以查看手机的logcat,熟悉了常用的命令用法。

  4. adb连接bluestack
    新手机没有做root,调试起来很不方便,于是用了常用利器bluestack,并通过adb命令实现了模拟器的日志查看,通过adb命令安装应用。顺便掌握了模拟器和windows互传文件。(后来突然bluestack中不显示windows的共享目录的文件了,但是可以写入文件,不知道什么原因,重启也未解决,后续有时间再跟进)。

  5. 学习的apk拆包修改重新打包
    用到了apktool工具,第一次使用,酷爽。以后再也不担心修改打包问题了。

  6. 学习了apk签名
    使用了auto-sign,可以对重新打包的apk进行签名。

  7. 学习arm thumb指令集
    经过摸索最终才步入正道,弯路太多不忍直视。知道了arm thumb指令的区别,知道了怎么对照指令个机器码,同时加深了汇编知识的积累。

  8. 尝试了底层破解绕过机制
    这个纯属为了好玩,直接把蚂蚁金服的验证关闭了,界面返回验证通过。给大家个截图娱乐娱乐

验证通过的截图娱乐用

革命尚未成功,尚需继续努力。

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入技术爱好者交流群373107565,我们一起学技术!

原创文章 16 获赞 10 访问量 1万+

猜你喜欢

转载自blog.csdn.net/jmfang/article/details/77966598