| .. | ||
| __init__.py | ||
| atlas_sign.py | ||
| captcha_assist.py | ||
| captured_profile.py | ||
| constants.py | ||
| device_cookie.py | ||
| device_id.py | ||
| device_profile.py | ||
| dfp_cache.py | ||
| dfp_client.py | ||
| dfp_forms.py | ||
| dfp_knn.py | ||
| dfp_sign.py | ||
| dfp_sq0.py | ||
| enc_data.py | ||
| fap_request.py | ||
| h5_jsbridge.py | ||
| h5_kws_sign.mjs | ||
| h5_kws_vm.py | ||
| h5_kws.py | ||
| h5_kww_alg.py | ||
| h5_kww_server.mjs | ||
| h5_kww.py | ||
| h5_sig3.py | ||
| h5_vendor_encode_server.mjs | ||
| h5_vendor_encode.mjs | ||
| http_transport.py | ||
| ksse_crc.py | ||
| ksse_deobf.py | ||
| ksse_sted.py | ||
| kwf-0.0.2.2cee19b4b7dec496.js | ||
| kws-11-0.0.1-obfuscated.5e0a90af726d8a7e.js | ||
| kwsg.py | ||
| main-vendor-ox-x1_g5.mjs | ||
| mobile_encrypt.py | ||
| privacykit_encrypt.py | ||
| README.md | ||
| reward_request.py | ||
| reward_sign.py | ||
| sig3_shape.py | ||
| sig3.py | ||
| sig.py | ||
| sms_login.py | ||
| tokensig.py | ||
| weapon_d0.py | ||
| weapon_kas.py | ||
| weapon_mf.py | ||
| weapon_plugin_loader.py | ||
| weapon_vimg.py | ||
| xfalcon_blake_core.py | ||
| xfalcon_te.py | ||
| xfalcon.py | ||
core 算法模块
已还原算法按职责拆分到以下入口:
core.sig:sig,build_sig_plaintext,body_md5core.tokensig:__NStokensig,调用方显式传入账号的client_saltcore.sig3: KWSG10418的__NS_sig3core.xfalcon:__NS_xfalcondigest /$TE_/ valuecore.enc_data: KWSG10400的encData/ ZT envelopecore.atlas_sign: 通用atlasSign短 ZT envelope,head8 + xor16(24-byte digest)core.reward_sign: reward bodysigncore.dfp_sign: DFP / unifiedId 的10405 atlasSign输入拼接与签名封装core.device_id: Java 层可见的did/oDid/rdid本地派生辅助和egid格式校验core.constants: 静态算法常量core.captured_profile: 当前抓到的本机/账号样本值
core.kwsg 只作为旧代码兼容聚合层,不再放算法实现。out/* 中的分析
和请求构造脚本优先从 core 分类模块导入。
注意:did、oDid、rdid、egid、api_st、tokenClientSalt
都不是通用算法常量。它们与设备、账号或登录态绑定,当前样本放在
core.captured_profile,换账号/设备时应替换 profile。core.device_id
只覆盖 APK Java 层已经定位到的本地派生路径;egid 仍走 DFP/KSecurity
链路,当前不要伪造成简单 hash。
oDid 当前已确认是初始化阶段保留下来的原始本地 DID:
FoundationInfoInitModule -> deviceid/i.e() -> ss9/a.b,公共参数
q01/g.getODid() 最终读取 ss9.a.b。后续云端刷新 did 时只更新
ss9.a.a,不会覆盖 ss9.a.b。
egid 链路当前已拆到:
DFP lite kNN -> sq0.b -> core.enc_data.kwsg_10400_raw(deviceInfo)
DFP form -> core.dfp_sign.dfp_atlas_sign(sign)
10405 atlasSign 与已还原的 10418 sign 分支共用
innerFlag=true digest 管线;区别主要在输入字符串由 DFP Java builder
决定。core.dfp_sign 固化了 gdfp_report、unified_log_report、
unified_id_mapping、unified_repair/fetch/checkRepair 的输入拼接规则。