某海外上报接口 strData 纯算逆向

本文仅作学习使用

1.目标

aHR0cHM6Ly9tc3Nkay1zZy50aWt0b2suY29tL3dlYi9yZXBvcnQ/bXNUb2tlbj1ISEhrTHJFN0pWZlNUdE5lei1LOW9YeE96WlpHSFlmOEFKd1pEMUdmRzluNlgtWE9sTUdOcmpSUGZsZ0FrdVhOWGlIb1BvejFfNENXMXdmVnFvamkwZ2FRSVlITEUxaG03VllLUW1oNXM0NWpTNjRVTUNFQ3RIZnI0WF9LMkdYQ2c4MGpCbktIYm1ZaWREbz0mWC1Cb2d1cz1ERlN6c3dTN01ZRFBTRUd0Q3plN3g5WEZoc2JJDQo=

2. debug

2.1 xhr断点

2.2 经典jsvmp输出日志

bash 复制代码
"执行 M->",l,"执行func->", M[sg[112]]," 参数 B-> ",B,"返回 N->",N
bash 复制代码
N&&console.log("执行 p->",p,"执行func->",sg[320]," 参数 o-> ",o," 参数 i-> ",i," 参数 u-> ",u," 参数 a-> ",a," 参数 c-> ",c," 参数 f-> ",f," 参数 s-> ",s," 参数 l-> ",l)
bash 复制代码
N&&console.log("执行 hg->",hg,"执行func->", hg[2]," 参数 N[0]-> ",N[0],"  参数 q-> ",q,"  参数 I-> ",I,"  参数 N[1]-> ",N[1])
bash 复制代码
!N&&console.log("执行 B->",B,"执行func->", B[sg[256]]," 对象 q-> ",q,"  参数 I-> ",I,"返回 A->",A,"typeof A:",typeof A)

2.3 日志分析

拿到日志后分析,日志大概几十万行

  • 一阶段str-code-str:
    初始化码表并动态存取
    双递归计算
    上下文运算值关联
  • 二阶段加盐
    静态数组+时间戳+随机数计算盐和盐arr(扣代码即可)
    str加盐,盐arr转str,截取拼接
  • 三阶段生成数据
    str递归截取运算生成code
    使用新码表取值

2.4 注意点

一阶段取值后的结尾,递归8时未结束需要继续递归,并将最终输出值记录

二阶段加盐时控制流里面会把字符L先拼在前面

三节点取值结尾。若str长度不够3,则生成的4位数向后补=

3. Note

最后一,三阶段放一下经典码表吧

bash 复制代码
    //初始化码表
    var code_table = {}
    for (let i = 0; i < 256; i++) {
        code_table[String.fromCharCode(i)] = i
    }

注意此码表后面会一直往里push

bash 复制代码
Dkdpgh4ZKsQB80/Mfvw36XI1R25+WUAlEi7NLboqYTOPuzmFjJnryx9HVGcaStCe=

然后再补个最终输出的截图

这玩意确实有点复杂,有很多坑,纯算算了5天

相关推荐
深念Y2 天前
Denuvo加密被全面攻破?聊聊D加密原理和这次的破解事件
人工智能·游戏·ai·逆向·虚拟机·虚拟·d加密
white-persist8 天前
逆向入门经典题:从 IDA 反编译坑点到 Python 解题详细分析解释
c语言·开发语言·数据结构·python·算法·逆向·安全架构
曼岛_10 天前
[逆向工程]160个CrackMe入门实战之Andrnalin.2解析(九)
java·数据库·microsoft·逆向
CYRUS STUDIO15 天前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向·frida
CYRUS_STUDIO15 天前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
CYRUS STUDIO16 天前
Frida 源码编译全流程:自己动手编译 frida-server
android·安全·逆向
CYRUS_STUDIO16 天前
Frida 源码编译全流程:自己动手编译 frida-server
android·逆向
岁岁的O泡奶19 天前
NSSCTF_reverse_[SWPUCTF 2022 新生赛]base64——[HDCTF 2023]easy_re
经验分享·python·逆向
NPE~23 天前
[App逆向]环境搭建下篇 — — 逆向源码+hook实战
android·javascript·python·教程·逆向·hook·逆向分析
曼岛_23 天前
[逆向工程]160个CrackMe入门实战之ajj1.2解析(五)
逆向