侍卫60秒破快手3.9 sig加密算法教程 首先我们观察一下sig的特征 32位 16进制 看这个基本上可以猜测这是一个MD5(APP包基本上都是这样的MD5) 接下来我们来找出参数MD5下跟抓包的对比就知道了 用apk改之理加载 2在模拟器或真机上 用fiddler随便抓一个带sig加密的包 Content-Length: 142 Content-Type: application/x-www-form-urlencoded Host: api.gifshow.com Connection: Keep-Alive type=7&page=1&token=&count=20&last=0&mtype=2&vtype=1&pcursor=&os=android&client_key=5aec8372&network=WIFI&sig=13fba73159c7c9212b7dc011efe21eb7 关键字 "sig" 在apk改之理上搜索这个关键字
双击 随便一个 进入这段smali代码 点击打开java源码 找到关键代码 label290: paramMap.put("sig", as.a(as.a(arrayOfString, "") + "3ef750b22f3e")); 这段代码的大意就是 把一个字符串数组arrayOfString 连接起来 加上3ef750b22f3e 然后 通过as.a(String) 这个类进行加密 我们 点击 as进入这个类 找到对应方法
转到smali 代码 注入log.d() 加一位寄存器 然后再原代码前面加上下面这段代码 const-string v1, "TAG" invoke-static {v1,p0} ,Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I 保存 然后编译成apk 安装在真机或者模拟器上 打开ddms 然后你就会发现 他一系列的参数就摆在你脸前了 随便 用一个MD5下 跟 抓到的对应的包对比下就会发现 这就是我们要的sig的加密参数
|