【周四答疑】想自己写app协议加解密工具 要学那些知识?

  • A+
所属分类:逆向工程

答疑,就是在每周四,把问的比较多的,统一回答下。写文章也会比私信回复更详细些。

1.为啥你的公号不能留言?

啊这,我也想有留言功能啊,大家看下面的图就知道了。

真希望相关政策放宽,我好开通。

【周四答疑】想自己写app协议加解密工具 要学那些知识?


2.ubuntu下用docker编译ollvm 这篇文章代码没有换行符,你咋不改?

这篇文章:跟着铁头干混淆3 ubuntu下用docker编译ollvm(保证成功)

后面部分代码确实没换行,这确实是我的锅,发的时候没有发现这个问题。

但是,微信公号的修改文章功能,极其难用,这种大段修改更难。

所以大佬们可以看这个链接:https://www.jianshu.com/p/87702f522639

这个链接有换行符


3.想自己写app协议加解密工具 要学些什么知识?

这里分开讨论,把app分成简单,中等,复杂。

1. 简单:

要学的编程语言:

   1) js     :   学js是用来复现app里面的算法

   2) java :学java是方便你看懂apk反编译后的代码。

要学的技巧:

   1) 抓包:包都抓不到分析啥协议。

    2) 基本的安卓逆向技巧 : 这个,常识得有吧。

   3) frida/xposed  rpc(远程调用) : 很多场景,对性能要求不高的时候,没必要实现算法。毕竟也费时费力不是,知道接口在哪里,直接调用不就可以了吗。


2.中等

中等包含简单部分的所有知识。

要学的语言:

    1) c/c++    :  有些算法逻辑已经写在了so层,不学c++咋看。

   2) python  :   挺多脚本工具,都是python写的,学python也能更快的用起来,而且也能自己根据需求,简单改改。而且,复现算法,python的数学支持库比js更多更全。

要学的技巧:

    1) 脱壳: 这里学下脱壳机咋用就可了, 比如youpk, aupk。这些工具对前三代壳,落地加载,不落地加载,指令抽取,还原的蛮好的。


3.复杂

复杂包含上面所有知识。

要学的语言:

     1) armv7 armv8 : F5不能解决所有问题,大佬你得自己上硬钢汇编了。

要学的技巧

     1) 编译原理相关:太多太多app被ollvm混淆了so层代码。而且,有些厂商丧心病狂,用自己写的工具,混淆java层代码。

      不知道大佬们有没有分析过dexguard,这个对java层的混淆真的是彻底,是我见过的最恶心的。

       挺多反混淆工具要么有bug,要么不适用于所有场合。所以,该学学编译原理,和反混淆这块了。

 

     2) 编码技巧:之前听讲座,有个大佬说,开发高度决定逆向高度。我深以为然。

      挺多设计模式,你懂还是不懂就是两个概念,假设,你一眼看过去就知道作者啥思路,关键代码应该再哪里。比那些,用一些技巧反复横跳的人,就高了很多个维度。


    3) 安卓逆向要学的其他知识 :你很有可能碰到,年薪50w的大佬,花了好几个月写的安全防护,所以,努力学习吧大佬。


以上,都是王某某的个人观点,如果有疏漏之处,大佬们见谅。


最后来一句之前看到过的鸡汤:

很多你看到的很厉害的人,不过是在与时间赛跑。

0708 王某某于工地办公楼



本文始发于微信公众号(移动安全王铁头):【周四答疑】想自己写app协议加解密工具 要学那些知识?

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: