开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 29274|回复: 12
收起左侧

[Windows逆向] 简单解读pddt.gif、tne.gif接口

[复制链接]
结帖率:67% (2/3)
发表于 2021-11-25 14:26:05 | 显示全部楼层 |阅读模式   广西壮族自治区南宁市

介绍
最近在对拼多多进行作业时发现,会产生大量t.git以及tne.gif接口,本以为是图片,结果看到其实是post数据,并且粗略看过全都是一些设备信息相关数据,这究竟是何用意,我们简单对一些数据进行逆向追踪分析试试看。

tne.gif解读
我们先来看一下tne.gif的数据如下:


[JavaScript] 纯文本查看 复制代码
{
        "error_code": "44400",
        "dns_ip": "unknown",
        "system": "aosp_angler-eng 7.1.2 N2G48B eng.root.20200221.205546 test-keys",
        "module": "30057",
        "payload": "{\"system_version\":\"7.1.2\",\"package_type\":\"Main\",\"ssid\":\"\\\"xiaojun\\\"\",\"process\":\"com.xunmeng.pinduoduo\",\"HttpManagerErrorType\":\"20\",\"url\":\"https:\\/\\/meta.yangkeduo.com\\/\",\"network_operator\":\"\",\"thread_count\":\"18875\",\"net\":\"\",\"manufacture\":\"Huawei\",\"mem_info\":\"maxMemory 512.00 MB  totalMemory 24.53 MB  freeMemory 0 bytes\",\"disk\":\"79.0 24.00 GB\",\"exceptionStr\":\"javax.net.ssl.SSLPeerUnverifiedException: Certificate pinning failure!\\n  Peer certificate chain:\\n    sha256\\/b1b54697cb57877f039a80522adfdaa768126f3dd587f42946e9a440db2ddaa0: CN\u003d*.yangkeduo.com,OU\u003d技术部,O\u003d上海寻梦信息技术有限公司,ST\u003d上海市,C\u003dCN\\n    sha256\\/daa05e6bb0de440f00219c8607ee1180d65b3c416cc7ff57824dc9fee25f68c9: C\u003dNZ,ST\u003dAuckland,L\u003dAuckland,O\u003dXK72 Ltd,OU\u003dhttps:\\/\\/charlesproxy.com\\/ssl,CN\u003dCharles Proxy CA (20 Jul 2021\\\\, DESKTOP-PLGJBD3)\\n  Pinned certificates for meta.yangkeduo.com:\\n    sha256\\/3e9099b5015e8f486c00bcea9d111ee721faba355a89bcf1df69561e3dc6325c\\n    sha256\\/7d05ebb682339f8c9451ee094eebfefa7953a114edb2f44949452fab7d2fc185\\n    sha256\\/7e37cb8b4c47090cab36551ba6f45db840680fba166a952db100717f43053fc2\\n    sha256\\/4348a0e9444c78cb265e058d5e8944b4d84f9662bd26db257f8934a443c70161\\n    sha256\\/cb3ccbb76031e5e0138f8dd39a23f9de47ffc35e43c1144cea27d46a5ab1cb5f\\n    sha256\\/31ad6648f8104138c738f39ea4320133393e3a18cc02296ef97c2ac9ef6731d0\\n    sha256\\/7431e5f4c3c1ce4690774f0b61e05440883ba9a01ed00ba6abd7806ed3b118cf\\n    sha256\\/552f7bdcf1a7af9e6ce672017f4f12abf77240c78e761ac203d1d9d20ac89988\\n    sha256\\/cbb522d7b7f127ad6a0113865bdf1cd4102e7d0759af635a7cf4720dc963c53b\\n    sha256\\/bec94911c2955676db6c0a550986d76e3ba005667c442c9762b4fbb773de228c\\n    sha256\\/179fbc148a3dd00fd24ea13458cc43bfa7f59c8182d783a513f6ebec100c8924\\n    sha256\\/ca42dd41745fd0b81eb902362cf9d8bf719da1bd1b1efc946f5b4c99f42c1b9e\\n    sha256\\/ebd41040e4bb3ec742c9e381d31ef2a41a48b6685c96e7cef3c1df6cd4331c99\\n\\tat okhttp3.h.a(CertificatePinner.java:212)\\n\\tat okhttp3.h.a(CertificatePinner.java:157)\\n\\tat com.xunmeng.pinduoduo.basekit.http.c.a.a(PDDCertificatePinner.java:83)\\n\\tat okhttp3.internal.connection.c.a(RealConnection.java:323)\\n\\tat okhttp3.internal.connection.c.a(RealConnection.java:263)\\n\\tat okhttp3.internal.connection.c.a(RealConnection.java:155)\\n\\tat okhttp3.internal.connection.e.a(StreamAllocation.java:195)\\n\\tat okhttp3.internal.connection.e.a(StreamAllocation.java:130)\\n\\tat okhttp3.internal.connection.e.a(StreamAllocation.java:109)\\n\\tat okhttp3.internal.connection.a.a(ConnectInterceptor.java:42)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat okhttp3.internal.a.a.a(CacheInterceptor.java:93)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat okhttp3.internal.b.a.a(BridgeInterceptor.java:93)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.j.a(RetryAndFollowUpInterceptor.java:127)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.b.a(CmtInterceptor.java:121)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.e.a(GzipInterceptor.java:28)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.g.a(RetryInterceptor.java:34)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.f.a(LongLinkInterceptor.java:265)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.xunmeng.pinduoduo.arch.config.g$c.a(RemoteConfig.java:258)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.xunmeng.pinduoduo.basekit.http.manager.c$4.a(HttpManager.java:182)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.c.a(CompletionInterceptor.java:95)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat com.aimi.android.common.http.unity.internal.interceptor.a.a(CircuitAPIInterceptor.java:35)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:111)\\n\\tat okhttp3.internal.b.g.a(RealInterceptorChain.java:77)\\n\\tat okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:202)\\n\\tat okhttp3.RealCall.execute(RealCall.java:75)\\n\\tat com.aimi.android.common.http.unity.a$a.execute(UnityCallFactory.java:181)\\n\\tat com.xunmeng.pinduoduo.arch.a.a.b.a.a(CallFactoryInterceptor.java:38)\\n\\tat com.xunmeng.pinduoduo.arch.a.a.a.a.a(RealInterceptorChain.java:41)\\n\\tat com.xunmeng.pinduoduo.arch.a.a.b.b.a(NormalizeInterceptor.java:19)\\n\\tat com.xunmeng.pinduoduo.arch.a.a.a.a.a(RealInterceptorChain.java:41)\\n\\tat com.xunmeng.pinduoduo.arch.a.f.d(VirtualCall.java:159)\\n\\tat com.xunmeng.pinduoduo.arch.a.f$a.b(VirtualCall.java:117)\\n\\tat com.xunmeng.pinduoduo.arch.a.a.a.run(NamedRunnable.java:20)\\n\\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)\\n\\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)\\n\\tat java.lang.Thread.run(Thread.java:761)\\n\",\"ram\":\"31.0 2.00 GB\",\"longlink_local_port\":\"45697\",\"longlink_local_ip\":\"192.168.101.98\",\"rooted\":\"yes\",\"battery\":\"\"}",
        "pdd_id": "",
        "platform": "Android",
        "network": "1",
        "app_version": "4.80.0",
        "user_agent": "android Mozilla/5.0 (Linux; Android 7.1.2; AOSP on angler Build/N2G48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Mobile Safari/537.36  phh_android_version/4.80.0 phh_android_build/ca003764fa4071d744febe019128f06c22706ee1 phh_android_channel/sm pversion/0",
        "log_version": "1.0.0",
        "user_id": "",
        "android_id": "cf35bec7444f530a",
        "model": "AOSP on angler"
}


如上面数据所示,大部分都是手机设备的基本信息以及APP版本号,基本没什么可解读的,都是读取了手机的设备属性,也没有进行其它加密,而payload字段里面又包含了一个json。

module 是一它的常量值,类型与接口类型,这也是个人猜测,因为这个值是每个不一样的tne.gif接口都会变,并且是在APP源码内的,如下图所示:



也就是说,猜测服务器是根据module来区分这个接口是什么接口。

payload该字段我们特别查看一下exceptionStr字段,翻译过来是抛出异常的信息,根据内容查看,里面记录了证书信息以及调用堆栈,并且细心的可以发现,这里因为我是用charles抓包,连charles的证书信息也被它所记录,也就是服务器是知道你在抓包的(如果它想)




这里相对t.gif记录的数据更全面,包含你的设备RAM信息,DISK信息

rooted该字段是判断你的设备是否root,我们可以通过源码来分析下它的判断方式

上图我们看到他通过h(),i(),j() 3种方式进行判断,我们逐一查看他的判断方式

第一种判断方式如下图:判断你的手机包是否是test-keys(调试机),因为笔者的机器正式该类型,所以被记录了yes

第二种判断方式如下图:它是通过文件进行判断。 第三种判断方式:由于代码没有完全还原,但是也不难看出是通过/system/xbin/which判断的 thread_count该字段因为是一个数字,也对它进行了查找,发现是读取的系统文件/proc/sys/kernel/threads-max获取到的值。 以上是tne.gif的部分数据解读,其它大部分数据都是明文的设备信息,至于为什么服务器会记录这么多次,并且触发条件是如何的,目前不得而知,但是这也可能是风控的一个重要要点之一,可能很多小伙伴觉得那我直接不触发这个接口不就好了,傻瓜,拼多多的账号肯定是跟设备关联的,如果服务器判断你目前用的账号没有上报服务器信息,那他就知道你是直接调用接口,直接ban你很正常的。 t.gif解读 [mw_shl_code=javascript,true]log_id=b2c411c9acf14e5094bcb0154f460b43 uin= local_ip=192.168.101.98 page_sn=10002 internal_version=1573041766242 ssid=%22xiaojun%22 page_id=10002_1637757085176_1872686415 pid=16051 time=1637757085026 lite_mode=0 network_operator= page_el_sn=402871 op=impr install_token=d7900863-3701-47ec-ad98-bbc4cefd379a page_name=index manufacture=Huawei ack_id=10002-lo_platform_login_benefit_wd-307-1%7Clm%3A0-id%3AdEG1637757085- seq=1637757084189 network=1 platform=Android app_version=4.80.0 module_id=lo_platform_login_benefit_wd local_port=45697 global_id=307 user_id= model=AOSP+on+angler rctk=vxnLLiokfT97BWpRDY7Iqttol44En6nS3wTHvazejXs%3D0mXjt9nur3KYW2MYIwjFPIqkojGZZjuvL




t.gif目前根据个人猜想,貌似是一个行为记录接口,根据op作为接口类型区分。
由于它的格式是x-www-form-urlencoded,该接口分2部分数据都混在了一起,一个是它的固有数据,也就是设备信息,第二个则是它额外的数据,根据op类型来变。

具体封装定义在:com.aimi.android.common.stat.i 处



log_id 该字段是直接随机uuid,并且把字符-给替换成空的。
install_token 同样也是uuid随机

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1好评 +1 精币 +1 收起 理由
icyjin + 1 + 1 诺离大神必出精品,一直在钻研和分享啊!感谢

查看全部评分

签到天数: 1 天

发表于 2024-4-10 15:47:06 | 显示全部楼层   山东省济宁市
我比较稀罕的是奇易模块的应用
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-9-23 13:08:57 | 显示全部楼层   湖北省武汉市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2023-8-3 21:38:38 | 显示全部楼层   四川省绵阳市
诺离大神必出精品,一直在钻研和分享啊!感谢
回复 支持 反对

使用道具 举报

结帖率:40% (2/5)
发表于 2023-7-20 01:30:38 | 显示全部楼层   福建省厦门市
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-2-19 15:34:42 | 显示全部楼层   浙江省嘉兴市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:0% (0/9)
发表于 2022-4-22 20:34:53 | 显示全部楼层   浙江省宁波市
直接告诉你结果吧:这个是电商平台常用的事件流系统,记录你APP运行时的每一步操作
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 6 天

发表于 2022-4-20 20:37:23 | 显示全部楼层   浙江省杭州市
诺离大神必出精品,一直在钻研和分享啊!感谢
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 6 天

发表于 2022-4-13 12:02:52 | 显示全部楼层   四川省攀枝花市
大哥 安卓逆向取Token接吗?
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2022-1-18 22:18:09 | 显示全部楼层   广东省梅州市
6666666666很专业
回复 支持 反对

使用道具 举报

结帖率:55% (11/20)
发表于 2021-11-25 23:20:15 | 显示全部楼层   福建省厦门市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表