dy a_bogus参数 逆向分析
关于dy的a_bogus逆向,jsvmp 进行抖音抓包,对应的位置在 url = "https://www.douyin.com/aweme/v1/web/aweme/post/" 可以看一下调用栈,不难发现主要的逻辑在bdms_1.0.1.19_fix.js 直接跳过去可以看到d就是指令操作 先一点一点的去看 这个位置调用了atob,代表了对下面的那个字符进行了base64的解密,随后取第 4~7 字节求和得到单字节 key 再用自定义 map 函数 _ 对余下字节逐个异或,最后把结果送进自带的 DEFLATE 解压器,从而得到可执行的数据块,这里可以很好的看出来这一块是一个压缩文件的格式,对应base64的UEsC import base64, zlib, re, hashlib, os, sys from pathlib import Path BASE64_DATA = r""" """.strip() # ============================================== def sanitize_b64(s: str) -> str: return re.sub(r'[^A-Za-z0-9+/=]', '', s) def xor_transform(decoded: bytes) -> tuple[bytes, int, int]: key_sum = sum(decoded[4:8]) & 0xFFFFFFFF km = key_sum % 256 step = km % 10 tail = decoded[8:] out = bytearray(len(tail)) for i, b in enumerate(tail): out[i] = (b ^ ((km + step * i) % 256)) & 0xFF return bytes(out), key_sum, km def inflate_raw(data: bytes) -> bytes: return zlib....