需要的工具别找我~论坛有~度娘也有~
APP名称:微指
目标算法:signature
拿人手短~请给点精B和好评以及回复~这是发帖的动力。没人看下次还发个锤子?感谢各位捧场~
发送短信.....开始抓包~
原包数据:
POST http://userapi.weizhi.me/registersms?signature=CE0F10358832C127C02AD9027660D2B3&mobile=15223297153 HTTP/1.1
User-Agent: Android
Connection: Keep-Alive
Content-Type: application/json;charset=utf-8
Host: userapi.weizhi.me
Accept-Encoding: gzip
Content-Length: 0
原包返回:
{"code":1,"msg":"获取注册短信验证码成功","validitytime":"-1992"}
+*****************************************************
目测是MD5算法
开始反编译提取JAR。。查找关键字“signature” 找到了一堆。于是乎根据APK包名+POST的action方法名称最终定位到这儿
原算法: localHttpSignature.putSig(Nativecore.MD5Encrypt(localStringBuilder.toString()));
确实是MD5算法。进入:Nativecore.MD5Encrypt
发现算法是在SO里面。。。然后怎么办呢?
这个时候你得打算三件事。
1.尝试使用传递的数据进行MD5,猜测是否这个SO里面的MD5算法本身就是一个单纯的MD5算法?
2.SO文件内的MD5不但加密了传递的数据还附加了其他的内容进行总的MD5?
3.SO文件内的MD5是混合MD5算法或者是其他算法的结果再次MD5返回?
首先我会尝试第一种。。。
1.动态调试获取传递进入Nativecore.MD5Encrypt的传递数据
发送短信传入的数据为:mobile15223297153
再次捕获的包数据:
POST http://userapi.weizhi.me/registersms?signature=A83446F5AC8701C8CAD8AEB1A24AA4FF&mobile=15223297152 HTTP/1.1
User-Agent: Android
Connection: Keep-Alive
Content-Type: application/json;charset=utf-8
Host: userapi.weizhi.me
Accept-Encoding: gzip
Content-Length: 0
然后使用E的MD5试试看看是否一致~
使用E的MD5
到大写 (取数据摘要 (到字节集 (“mobile15223297153”))) =“363E9C3D3D9AD0F2F19CCDE5DB054F93” 与网页的算法不一致看来是SO里改过的~
这时候用到IDA。加载SO。这个SO的名字是 wz-jni.so 从SO里寻找算法。。
搜索 字符串的方法名称 MD5Encrypt
IDA出现结果。。
定位~找到了算法。。
可以看出。是在字符串的首部加入了另外一段字符串“ 5w1d8abf75al954t608e48r3 ” 然后MD5
现在再来尝试一下~ md5(“5w1d8abf75al954t608e48r3”+“mobile15223297153”)
结果是“A83446F5AC8701C8CAD8AEB1A24AA4FF” 与 网页一致。那么这个MD5的算法就到位了。。
剩下的就是找注册的包啦~
注册数据:
POST http://userapi.weizhi.me/registe ... sword=bbs125la&signature=BB37856E996666DC8094BEA832843391&key=35b4a6ff9b07d387b2913bfea3a40f38&interfaceid=100000001&deviceid=864394103844744&mobile=15223297152 HTTP/1.1
User-Agent: Android
Connection: Keep-Alive
Content-Type: application/json;charset=utf-8
Host: userapi.weizhi.me
Accept-Encoding: gzip
Content-Length: 0
断点数据:
但是我发现这个注册还有一个KEY的值?看着也像MD5算法,但是设置在MD5的断点并未断下,这个时候说明这个KEY可能是常量或者另外的MD5算法。
我尝试搜索KEY的值“35b4a6ff9b07d387b2913bfea3a40f38”发现是常量~那就不管了~
开始用E写代码。。。
换个号码发短信:
手机收到:215636
注册账号:
至此已成功啦~
代码图片
发表评论: