拼多多 anti-token unidbg 分析

声明:

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析

版本7.3-7.4 都试过加密没什么改变。

由于我账号被封了(大号之前搞web被封了)所以只能找一个检测的接口来做测试。如图。不带数据返回40002.找了很久大部分都是走缓存返回的假如你被封号只有一小部分接口可以使用并且做检测。拼多多也是真狠检测。京东淘宝就很人性化一定限度允许爬虫研究学习。也分别在这两个平台买过手机也算补偿马哥和强哥了。简单说一下anti-token。

这是加密hook位置。学习了2个星期app现在基本看一下就知道他在那里太刻意的做反爬我也总结出了一些技巧找这些加密位置。加固那些另外说还没到那个阶段。

复制代码
function hook_java(){
    Java.perform(function(){
        var DeviceNative = Java.use("xxxxxxxx.secure.DeviceNative");
        // DeviceNative.info3.implementation = function(a,b,c){
        //     console.log("DeviceNative.info3 invoked");
        //     console.log("a: " + a)
        //     console.log("b: " + b)
        //     console.log("c: " + c)
        //     let ret = this.info3(a,b,c);
        //     console.log("ret: " + ret)
        //     return ret;
        // }
        DeviceNative.info2.implementation = function(ctx,b) {
            console.log("DeviceNative.info2 invoked");
            console.log("ctx: " + ctx)
            console.log("ctx.getSystemService", ctx.getSystemService("phone"))
            console.log("b: " + b)
            let ret = this.info2(ctx, b);
            console.log("ret: " + ret)
            return ret;
        }

    })


}

unidbg hook

他需要什么就去hook看看值是什么hook不到说明设置了禁止hook和反射获取有些库是什么这样直接问ai返回什么叫就行了。例子。

复制代码
let telephonyManager = Java.use('android.telephony.TelephonyManager')
telephonyManager.getSimOperatorName.overload().implementation = function(){
    console.log("telephonyManager.getSimOperatorName invoked")
    let result = this.getSimOperatorName()
    console.log("result: " + result)
    return result;
}
telephonyManager.getSimOperatorName.overload('int').implementation = function(a){
    console.log("telephonyManager.getSimOperatorName invoked",a)
    let result = this.getSimOperatorName(a)
    console.log("result: " + result)
    return result;
}

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
桦说编程3 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen3 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi4 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8244 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员4 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国5 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Zyy~5 小时前
《设计模式》装饰模式
java·设计模式
A尘埃5 小时前
企业级Java项目和大模型结合场景(智能客服系统:电商、金融、政务、企业)
java·金融·政务·智能客服系统