易盾算法简易分析

文章仅供学习与交流!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!

案例网站:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc=

发包流程是先up包获取irtoken,再取irtokrn,fp,cb去生成img返回token,再根据token生成data走check接口验证。

up返回的是irtoken,我发现这玩意能定死,就先不搞了
 主要是d,n加密,n是32为随机字符串

def get_n():
    aaa = ''
    original_string = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx"
    for i in list(original_string):
        n = int(16 * random.random())
        if 'x'==i:
            aaa+=toStr(n,16)
        else:
            aaa+=toStr(3&n,16)
    return aaa

d是走cb的加密,跟的我烦死了我直接放弃
接下来是取背景的包,我定死irtoken是可以正常获取的,目前先处理fp,跟cb

fp的入参是这么一串东西,主要变化是u,就3个随机字符串加上时间戳再加3个随机字符串{'v':'v1.1','fp':'41888912424753,29646682124647','u':'diS1751960813540yLx','h':'dun.163.com'}

fp入口需要清空ck,再用油猴hook一下就能定位到
hook代码网上拿的

(function() {
	'use strict';
	var _fp =window.gdxidpyhxde;
	Object.defineProperty(window,'gdxidpyhxde',{
	get:function(){
	console.log("调用fp",_fp)
	debugger;
	return _fp;
	},
	set:function(val){
	console.log("生成fp",val)
	debugger;
	this._value = val;
	return val;
	}
	})
	// Your code here...
})();

加密入口在这这套加密跟cb,data的加密一模一样,除了盐不同,这里直接缺啥扣啥,没有一点难度,扣到底值就出来了
大概就是这样

cb的值入参是一个uuid,跟get_fp加密流程一样,把key换一下就行

接下来到check接口,直接在这里断点

这玩意是由轨迹加密生成的 ,在走cb的加密就是d的值

位置在这里,直接无脑扣代码直接就出值

p 是由token,(滑块距离/320)*100字节合起来在走字符串加密,再由cb加密一下
f 是由token,滑块轨迹合起来在走字符串加密,再由cb加密一下
ext 是由token,1+','+traceData数组的位数合起来在走字符串加密,再由cb加密一下
就这样验证的接口就解决了

官网的通过率还是很高的
仅学习用途,如造成不良影响,后果自负

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值