目录:
产品应用场景主要用于营销活动反作弊、渠道推广反作弊、交易安全保护、账户安全保护、接口安全保护。渠道买量、应用推广、小程序推广。
产品功能:
虚假行为分析
从设备与账户维度进行聚类关联分析、行为异常分析,甄别虚假作弊用户、IP、设备,锁定源头风险。
终端风险感知
有效识别模拟器、群控、作弊设备、模拟器、农场工具。
大数据关联分析
结合渠道大数据与风险数据,筛选出可疑对象和目标,通过特定业务判断完成风险环形数据,支持算法模型的嵌入。
2.1.1. 前端接入:根据前端类型选择对应 SDK 进行接入,支持 Android App、iOS iApp、小程 序(头条小程序、微信小程序、支付宝小程序)、WEB/WAP/H5。
2.1.2. 接入验证:前后端接入完成后,联合客户端、服务端进行整体联调。
2.1.3. 运行APP成功返回blackbox设备指纹。
接入产品逆向分析还原出基本的产品架构,如图2-3所示
图2-3
// FMAgent.ENV_SANDBOX 表示沙盒环境
JSONObject v6 = null;
.text:000000709EAE5E4C RegisterNatives_sub_786D163E4C
图3-4
td_eea7e05642c04e240c51 //解压解密VMBycode
libtongdun.so模块中的大部分方法都会调用上面两个方法,传入vmbycode解析执行。
td_eea7e05642c04e240c51方法解压解密后VMBycode后进入VM,代码如下:
.text:000000709EA954F0 EnterVM_sub_709EA954F0
解析VMbycode执行对应的Hnadle:
.text:000000709EA95878 dsp_loc_786D55A878
常见的算术运算
.text:000000709EA93DD8 ADD_sub_709EA93DD8
.text:000000709EA93E08 SUB_sub_709EA93E08
.text:000000709EA93E20 AND_sub_709EA93E20
.text:000000709EA93E44 EOR_sub_786E901E44
.text:000000709EA93FAC MUL_sub_709EA93FAC
.text:000000709EA97B60 getdatabas_sub_786E905B60
以上Handle都是加密时要用到的。
.text:000000709EA936C0 call_loc_709EA936C0
如果不还原算法的话调试时重点关注这个Handle就能大致分析清楚整体的逻辑。如果要做算法还原就得分析每一个Handle。
如果是第一次运行APP判断本地是否有随机数ID,如果没有就生成用AES加密存放在三个地方做为钉子文件:
SharedPreferences td-client-id-3
AES加密是反射调用JAVA实现:
.text:000000709EB4EA6C ; R1:原数据,R2:key
如果本地有存放就读取与设备信息一起上报服务器。
读取maps查找是否有对应的包名特征
//特征
反射loadclass检测是否有xposed
getSystemClassLoader
查找进程中是否有包含关键字
xposedbridge
特征
access
access
access
我是小三,目前从事软件安全相关工作,虽己工作多年,但内心依然有着执着的追求,信奉终身成长,不定义自己,热爱技术但不拘泥于技术,爱好分享,喜欢读书和乐于结交朋友,欢迎加我微信与我交朋友(公众号输入框回复“wx”即可)
未完,接下一篇