答疑,就是在每周四,把问的比较多的,统一回答下。写文章也会比私信回复更详细些。
1.为啥你的公号不能留言?
啊这,我也想有留言功能啊,大家看下面的图就知道了。
真希望相关政策放宽,我好开通。
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协议加解密工具 要学那些知识?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论