聲明:
本文章中所有內容僅供學習交流使用,不用于其他任何目的,抓包內容、敏感網址、數據接口等均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關!
逆向分析
版本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; }