某猫投诉app逆向 【一鱼多吃app逆向】

发布于:2023-05-22 ⋅ 阅读:(269) ⋅ 点赞:(0)

某猫投诉app逆向 【一鱼多吃app逆向】

  • 故事场景:某大型投诉网站关键词搜索为例

脱壳工具

查壳

  • 好家伙,360加固

Dexdump脱壳

  • 前置条件:手机安装frida

推荐frida安装教程:https://mp.weixin.qq.com/s/kHpnRi4yG6d3EAIFNcphHg

推荐DexDump安装教程 https://blog.csdn.net/weixin_38819889/article/details/123880076

抓包分析

分析源码

用Idea软件打开解压的包文件,在 \assets\dist\views\tousu\tousuDetail.js 路径下找到tousuDetail.js文件,全局查找 signture

定位signature位置

根据函数 getUrlParam() 返回的 urlparam 值,查找signature 相关的函数,复原js函数

  • getparam.js 相关参数函数复原
function randomWord(randomFlag, min, max) {
   var str = "",
       range = min,
       arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
   // 随机产生
   if (randomFlag) {
      range = Math.round(Math.random() * (max - min)) + min;
   }
   for (var i = 0; i < range; i++) {
      var pos = Math.round(Math.random() * (arr.length - 1));
      str += arr[pos];
   }
   return str;
}

function getParam() {
   var ts = new Date().getTime();
   var rs = randomWord(false, 16);
   var token = 'P0tk894Tcxi4t%S$';
   sign = [ts, rs, token].sort().join('');
   return {'ts': ts, 'rs': rs, 'sign': sign};
}
  • get_app_sign.py 调用js文件
import execjs
import hashlib


def get_sha256():
    with open('getparam.js', 'r', encoding='utf-8') as f:
        js_text = f.read()
    ctx = execjs.compile(js_text)
    ctx_dict = ctx.call('getParam')
    sign_str = ctx_dict['sign']
    rs = ctx_dict['rs']
    ts = ctx_dict['ts']
    sha256 = hashlib.sha256()
    sha256.update(sign_str.encode('utf-8'))
    signature = sha256.hexdigest()
    return {'ts': ts, 'rs': rs, 'signature': signature}


"""
    使用sha256加密算法,返回str加密后的字符串
"""
# s = get_sha256()
# print(s)
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到