字节系app通用抓包方案
本帖最后由 Slimu 于 2024-1-11 12:12 编辑# 字节系app通用抓包脚本
> 已测试某音(28.4.0), 某茄小说(6.0.5.32)
## 原理
获取`SSL_CTX_set_custom_verify`的参数3(回调函数)
``` cpp
void SSL_CTX_set_custom_verify(SSL_CTX *ctx, int mode, enum ssl_verify_result_t (*callback)(SSL *ssl, uint8_t *out_alert)) {
ctx->verify_mode = mode;
ctx->custom_verify_callback = callback;
}
```
让回调函数的返回值保持为0, 即ssl_verify_ok即可
``` cpp
enum ssl_verify_result_t BORINGSSL_ENUM_INT {
ssl_verify_ok,
ssl_verify_invalid,
ssl_verify_retry,
};
```
## 代码编写
首先获取一下`SSL_CTX_set_custom_verify`
``` JavaScript
function main() {
Java.perform(function () {
let SSL_CTX_set_custom_verify = Module.getExportByName('libsscronet.so', 'SSL_CTX_set_custom_verify');
}
}
setImmediate(main);
```
spwan模式启动下应用`frida -U -f com.ss.xxx.xxx.aweme -l byteDance.js`
注入后提示报错: **Error: unable to find module 'libsscronet.so'**
很明显, 问题的原因在于注入的时机过早, so还没有加载进来, 解决办法有2个:
1. `setTimeout(main, 3000);`延时执行函数
2. hook系统函数, 监听so加载
``` JavaScript
function onLoad(name, callback) {
//void* android_dlopen_ext(const char* filename, int flag, const android_dlextinfo* extinfo);//原型
const android_dlopen_ext = Module.findExportByName(null, "android_dlopen_ext");
if (android_dlopen_ext != null) {
Interceptor.attach(android_dlopen_ext, {
onEnter: function (args) {
if (args.readCString().indexOf(name) !== -1) {
this.hook = true;
}
},
onLeave: function (retval) {
if (this.hook) {
callback();
}
}
});
}
}
onLoad(soName, () => {
let SSL_CTX_set_custom_verify = Module.getExportByName('libsscronet.so', 'SSL_CTX_set_custom_verify');
if (SSL_CTX_set_custom_verify != null) {
Interceptor.attach(SSL_CTX_set_custom_verify, {
onEnter: function (args) {
Interceptor.attach(args, {
onLeave: function (retval) {
if (retval > 0x0) retval.replace(0x0);
}
});
}
});
}
});
```
当监听到so被加载时进行hook操作, hook到`SSL_CTX_set_custom_verify`后, 获取参数3并hook它, 让此函数执行完成后的返回值保持为0即可
## 效果图
> 完整代码已经上传至(https://github.com/LanBaiCode/FridaScripts) 反手一个star 闷骚小贱男 发表于 2024-5-4 17:34
什么内容呢。
起点读书app 里面很多,兑换起点币 游戏频道里面,很多 H5游戏,大部分是不用登录,直接鉴权访问的, 这类H5可以改物品、开VIP功能吗? 怎么用啊? 带头大哥Even 发表于 2024-5-5 14:42
起点读书app 里面很多,兑换起点币 游戏频道里面,很多 H5游戏,大部分是不用登录,直接鉴权访问的, 这 ...
也分游戏吧,大部分带服务器的都不能改。本地小游戏应该是可以的(例如支付宝小游戏)
据我所知,里面正好有首富这款游戏。。不能改
这是什么工具的怎么用的大佬讲解一下 插眼zsbd 插眼,大佬666 收藏学习,感谢分享 这个也行啊,厉害 收藏学习,感谢分享 chayan,学习