|
本帖最后由 宝明 于 2021-7-22 00:09 编辑
Ps 仅供学习交流 否则后果自负 APP来自论坛 一个求助帖 https://bbs.125.la/forum.php?mod=viewthread&tid=14690728&extra=&page=1 主要学习看看思路 以后多个尝试方法 |
1.下载app,随手拖入查壳:无壳 模拟器安装后运行,直奔登录抓包
- POST http://lianai.gxhhskj.com/index.php/Login/login HTTP/1.1
- {"telphone":"15252661111","password":"baoming520","clientid":"","uuid":"60d01177c501303e","timestamp":1626877068,"sign":"6faaa2c276b6d8c485502d75f66c81b6"}
复制代码 2.直接根据经验目测md5无疑,接着一套工具hook走起此处省略,肯定是hook不出的,毛都没有,不在java难道是so?看着app这么烂理论不是,所以我打开了压缩包观察,
随手点了点文件夹。原来如此,好家伙,就是个Android WebView H5的网页,问题不大,又没壳,那就简单多了
3.打开login.html的网页双击本地浏览器打开,搜索加密sign,基础东西不解释,找到关键点,发现就是传入个时间戳,调用myEncrypt加密
搜myEncrypt,跟到js部分 发现还被混淆过,但是可以大致知道加密方式
- function _0x7e3643(_0x462407) {
- return hex_md5(KEY + hex_md5(_0x2223ce[_0x54d4('0', 'UDEP')](hex_md5, _0x462407) + KEY));
- }
复制代码
就是传了个时间戳,各种拼接md5,那过程到底如何拼接的才是重点,可这对于我们这种新手,实属看不懂啊,so我们奇特的思路开始了
-------------------------------------------表演开始-------------------------------
4.既然是h5,又调用了hex_md5,那我们去文件夹找找加载的js静态文件试试,果不然,在\assets\apps\__UNI__BA8A8D9\www\static\js 下发现,一家子都在这儿
我们直接把md5这个js拖出来,编辑,搜索找到hex_md5()函数进行修改,直捣黄龙
原数据:
function hex_md5(s){
return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
修改为:
function hex_md5(s){
alert(s + " md5结果:"+ binl2hex(core_md5(str2binl(s), s.length * chrsz))); //弹出信息框 明文s和加密结果
return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
完事之后保存文档,拖进去压缩包替换掉原先的js文件,然后模拟器卸载app,重新安装我们修改过的至此基本结束,下面可以看看我们的成果了,哈哈哈哈哈哈哈!!!!先脑补一下吧,操作是挺骚气的
运行app后就已经有窗口开始弹出,我们确定,到登录后输入,和我们预想的结果一样
- {"telphone":"15251111111","password":"baoming520","clientid":"","uuid":"60d01177c501303e","timestamp":1626879640,"sign":"5c5761d259f4b7b44e583724a0c3d11b"}
复制代码
分析多次弹出参数,明白了加密方式了,我们可以开始敲代码啦
至此我们的任务全部完成,其实我们也可以在myEncrypt下的加密函数添加弹窗或者输出console.log()都可以,看个人喜好
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|