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

相关推荐
Q_970956393 分钟前
java+vue+SpringBoo足球社区管理系统(程序+数据库+报告+部署教程+答辩指导)
java·开发语言·数据库
要开心吖ZSH7 分钟前
微服务架构的演进:迈向云原生
java·微服务·云原生
程序员爱钓鱼11 分钟前
Go语言中的反射机制 — 元编程技巧与注意事项
前端·后端·go
为了更好的明天而战27 分钟前
Java 中的 ArrayList 和 LinkedList 区别详解(源码级理解)
java·开发语言
烛阴40 分钟前
一文搞懂 Python 闭包:让你的代码瞬间“高级”起来!
前端·python
JosieBook1 小时前
【Java编程动手学】Java中的数组与集合
java·开发语言·python
N_NAN_N1 小时前
类图+案例+代码详解:软件设计模式----单例模式
java·单例模式·设计模式
weixin_399380691 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
lang201509281 小时前
Reactor ConnectableFlux支持多订阅者
java·网络
R-sz1 小时前
java流式计算 获取全量树形数据,非懒加载树,递归找儿
java·开发语言·windows