某某牛App算法解密

sign签名会用到消息摘要算法,比如MD5.SHA1,HMAC, 明文不一样密文肯定不一样,所以在进行消息摘要算法之前肯定会用到排序,比如sort
签名算法特点:将提交的数据进行排列,然后头尾或中间加一些其他字符
Gson常用的类库,用来将obj对象转为json数据的

Image.png

进到MD5,在签名update之前数据打印出来,就是明文

Image.png

encrypt的值通过encodeDesmap计算得出

Image.png

进入encodeDesmap
Image.png

返回
Image.png

到这里就了解加密过程,那我们首先要计算出这个转进来的data是什么东西,这个data是包含sign的值
Image.png

以及运行过程中这个里面是多少
Image.png

还有这个进来后这个值是多少
Image.png

md5加密16字节,des密钥使用的是8个字节,他只会截取md5前8个进行使用
Image.png

现在需要得到我们一些函数运行中的值是多少com.xxx.online.util.DesSecurity

Image.png

com.xxx.online.http.RequestUtil

Image.png

**想得到这些内容有什么方式?
1.smali插桩/smali动态调试 需要反编译然后回编译 ,如果是知道具体加密在那个点上直接Hook
2.jeb动态调试
3.Hook(java层Hook两个都可以,如果是so层用frida)*

本文链接:

https://www.linqi.net.cn/index.php/archives/189/