本着技术学习与研究的目的,因此就不将完整的破解代码发出。维护网络安全人人有责
本文配合其余文章一块儿服用效果更好,能更全面体会安全产品的设计。
(1)《第三代验证码研究》https://www.cnblogs.com/boycelee/p/11363611.html(推荐)html
(2)《顶象验证码破解与研究》https://www.cnblogs.com/boycelee/p/14269941.html(推荐)ios
(3)《极验验证码破解与研究》https://www.cnblogs.com/boycelee/p/14021048.html(推荐)web
(4)《极验无感验证破解》http://www.javashuo.com/article/p-avtzzlmf-vn.htmljson
(5)《同盾小程序指纹破解》https://www.cnblogs.com/boycelee/category/1819211.htmlcanvas
周末参加Hackathon大赛,据说T盾小程序设备指纹可以惟一标识设备,因而就分析了下1.5.6版本的设备指纹js文件。小程序
其实有不少人在破解安全公司的JS文件时,都习惯于先反混淆,这就致使了会花费大量时间在反混淆上。但其实就我逆向极验、顶象、同盾的经验来讲,目前市面上的大多数安全公司的混淆能力,都达不到须要反混淆才能看明白的地步。因此我总结的方法以下:安全
(1)学习基本语法。这样咱们就能快速找到关键参数或函数(例如小程序获取设备信息wx.打头的特征)网络
(2)静态分析。观察有没有没有彻底混淆的关键字,是否是咱们关注的关键字?app
(3)动态调试。在静态分析的基础上,针对特定点进行调试。函数
(4)尝试将反复出现的关键字进行部分还原。
(5)对关键参数生成的函数进行溯源。
(6)耐心分析,直至理清楚总体思路。
partner:同盾 app_name:测试小程序名称 t:时间戳与NFC开关状态 id:客户端Openid v:小程序指纹版本 b:常规系统参数(语言、屏幕大小、权限、机型等) c:针对b参进行hash128 d:陀螺仪信息 e:网络信息 f:canvas文件信息(存储至绘制图形,存储至临时文件夹) g:针对以上信息一部分加密处理 h:针对以上信息一部分加密处理
最终明文参数:key:partner value:tongdun 最终明文参数:key:app_name value:tongdun_web 最终明文参数:key:t value:``1603525414486``^^``1603525417141``^^{``"W10"``:{``"errMsg"``:``"getHCEState:fail function cannot run on service"``}} 最终明文参数:key:id value:013x0e0w3H2gbV2MC91w3NtmTz4x0e0V^^- 最终明文参数:key:v value:WNTElH/5Y1auzB70e5Jhop== 最终明文参数:key:a value:- 最终明文参数:key:b value:{``"language"``:``"zh_CN"``,``"wifiEnabled"``:``true``,``"safeArea"``:{``"bottom"``:``862``,``"height"``:``818``,``"top"``:``44``,``"width"``:``414``,``"left"``:``0``,``"right"``:``414``},``"bluetoothEnabled"``:``true``,``"locationAuthorized"``:``true``,``"deviceOrientation"``:``"portrait"``,``"notificationSoundAuthorized"``:``true``,``"screenHeight"``:``896``,``"windowHeight"``:``808``,``"version"``:``"7.0.14"``,``"fontSizeSetting"``:``17``,``"system"``:``"iOS 13.5.1"``,``"notificationAuthorized"``:``true``,``"statusBarHeight"``:``44``,``"pixelRatio"``:``2``,``"windowWidth"``:``414``,``"notificationBadgeAuthorized"``:``true``,``"locationEnabled"``:``true``,``"model"``:``"iPhone XR<iPhone11,8>"``,``"batteryLevel"``:``63``,``"screenWidth"``:``414``,``"screenTop"``:``88``,``"microphoneAuthorized"``:``true``,``"cameraAuthorized"``:``true``,``"albumAuthorized"``:``true``,``"notificationAlertAuthorized"``:``true``,``"brand"``:``"iPhone"``,``"platform"``:``"ios"``,``"SDKVersion"``:``"2.12.2"``}^^wifi^^``false``^^[``"facial"``]^^``0.5458558797836304 最终明文参数:key:c value:[]^^-^^- 最终明文参数:key:d value:[{``"x"``:-``0.01``,``"y"``:-``0.01``,``"z"``:-``1``},{``"x"``:-``0.01``,``"y"``:-``0.01``,``"z"``:-``0.99``},{``"x"``:-``0.01``,``"y"``:-``0.01``,``"z"``:-``1``},{``"x"``:-``0.01``,``"y"``:-``0.01``,``"z"``:-``0.99``},{``"x"``:-``0.01``,``"y"``:-``0.01``,``"z"``:-``0.99``}]^^[{``"direction"``:``70.64``,``"accuracy"``:``14.36``}] 最终明文参数:key:e value:{``"SSID"``:``"ABCDEFG"``,``"autoJoined"``:``true``,``"signalStrength"``:``0.46473270654678345``,``"justJoined"``:``false``,``"BSSID"``:``"aa:bb:cc:dd:ee:ff"``,``"secure"``:``true``} 最终明文参数:key:f value:- 最终密文参数:key:g value:c9cbdf8136533ae5f7255bede0b2547f 最终密文参数:key:h value:b7aee97b6dbba8061e080239656d5ee7
目前T盾小程序设备指纹并不能像其所说的那样,可以惟一标识设备。至少在设备维度仍是作不到的。
维护网络安全,人人有责