安卓逆向算法解密入门篇
为什么要解密算法
- 做协议分析,就是做脱机协议,比如做一个网站的自动登录,自动签到功能。
- 做数据安全分析
- 接的算法解密订单
- 等等等,情况太多
做起来难度系数
我个人认为有一下几点:
遇到的算法app壳是否是大家经常见到的
- 如果自己有学习兴趣,且遇到的app无混淆无壳,恭喜你,这类的应该是秒杀,工具打开直接通杀 (难度系数:⭐)
- app有壳单又是常用或者很古老之前的壳,这个也是秒杀,因为脱壳的工具在市面上已经大大的存在了如果你找不到那是因为你的圈子能力还没有达到,恭喜你也能很快搞定。(难度系数:⭐⭐)
遇到的算法app壳是大厂的且是付费版的
- 可以查到壳但是找不到工具,也抓不到包,比如某邦邦,这种就要有一定的知识储备能力了,毕竟白嫖的跟付费的肯定不在一个等级。如果真正想做自己又没知识储能力那就背靠大佬好乘凉。背靠大佬我们就要牺牲自己口袋里的东西。(难度系数:⭐⭐⭐)
2.找到算法的入口但是救赎看到不懂,找不到关键点,有些算法是别人魔改过的。这些要静下心来分析喽。毕竟别人的安全知识不是白学的。(难度系数:⭐⭐⭐)
啊,对对对,别叨叨了干货(直接干又有货)
个人理解还是要懂得一定的流程,先分析属于哪一类。想要赢得对,必须要了解对手,二七你要比他强。
下面开始介绍常用的解决方法
- 最常见的算法MD5的全称是message-digest algorithm 5(信息-摘要算法)
例如:
协议头里面X-Sign: X8efe40ac90c7df2a07c0c5a1ffa73c41
协议头里面Sign: X8efe40ac90c7df2a07c0c5a1ffa73c41
PassWord 的: X8efe40ac90c7df2a07c0c5a1ffa73c41
这样说吧,类似这样的80%都是MD5加密,因为他的密文长度都是32位的,这是MD5加密的一个最大的特征。
这里我们暂且讨论java层的。SO层的我还没见过通杀的方法。
java层的直接一个工具完事:
附上教程链接:点击直接观看
- 对称算法 AES DES 3DES
对于这类算法我们经常做的就是找到关键地方。找什么呢。直接上图,
如果大家我对这类算法不太了解而且没有思路先看一遍视频教程:点击直接观看
- RSA对称加密(可逆)
我感觉这类算法还是手动比较好。但是工具还是有的,直接找到publickey就完事了,
大家这个可以百度下rsa加密调用实现,java语言的实现,因为我最近好久没做这个就不分享了。
怎么脱壳呢
分析3种脱壳工具具体看视频,对于新手来说介绍原理纯属。。。。
第一个工具使用方法
第二个工具使用方法
等待更新