361改機改串一鍵新機原理分析


簡介

361軟件套裝,包括361一鍵新機(MultiAccount)以及360虛擬定位(FakeLocation)兩個獨立的英文界面App,下面分別來介紹:

MultiAccount Master:最強大的傻瓜式改串軟件,提供一鍵新機、全息備份、精准還原等功能。首創以App為中心的操作方式;無需任何參數配置;支持應用多開;自動更換IP;支持網絡代理配置訪問;模擬2G/3G/4G/Wifi;各種App組合隨意搭配;支持分辨率調節。

Fake Location Pro:針對任意位置進行定點、定區域、定路線的精准營銷(拓展微信、QQ,微博粉絲,發放推廣信息)。提供經典虛擬定位、隨機掃街、路徑掃街、模擬導航四種虛擬定位模式。支持微信、微博、QQ、考勤機。微信營銷神器、模擬掃街神器、防查崗神器、模擬考勤打卡神器。

361偽裝了哪些參數

IDFA
IDFV
用戶名
系統版本
設備型號,固件版本
User-Agent
移動網絡運營商信息
地理位置
uname / sysctl等參數
WIFI SSID BSSID
IMEI
序列號
MAC地址

PS:不得不說360的位置模擬確實做的比其他改機軟件強多了,顯得非常專業,設計了各種業務場景,只是價格偏高。另外361的改機參數也不比AWZ/ALS少

361的Cydia源

    apt.from2.vip               360     2.6.2
    apt.from2.vip               361     2.0.2
    www.x360y361.cn             360     2.6.2
    www.x360y361.cn             361     2.0.2

分析要點

這里只做學習討論改機原理及361自身反逆向機制。361安裝后,有如下文件:

  • /Applications/RST.app 主程序,用於生成改機參數
  • /Applications/location360Pro.app 主程序,用於生成位置參數
  • /Library/MobileSubstrate/DynamicLibraries/rstweak.{dylib,plist} 該tweak通過hook一些可以獲取系統屬性和app屬性的C函數和ObjC函數實現的修改app參數
  • /Library/MobileSubstrate/DynamicLibraries/GPSTravellerTweakVIP.{dylib,plist} 該tweak通過hook一些系統服務中的函數實現位置修改

第一階段

361/360系列工具和AWZ/ALS系列工具在分析時有如下區別:

  • 代碼混淆
    AWZ/ALS使用Hikari工具鏈做了各種保護,361/360則自己內聯了很多無用代碼。后者更容易分析,只需要在IDA中使用Keypatch把指令全Nop掉就可以分析。然而AWZ/ALS對dylib沒有做任何保護,很容易根據它的原理自己實現一套軟件,而361/361對要Hook的函數名都做了加密。
  • 反調試
    AWZ/ALS使用了多種方式檢測調試,361/360則無
  • 網絡通信
    AWZ/ALS的特點是,盡可能不調用系統函數,比如在生成json串的時候是自己拼湊的,最終body再一次加密,同時使用底層socket函數做授權驗證;361/360的保護相對較弱,只是對json的各個字段進行一次加密,最終使用Objective-C函數進行網絡通信,很容易用fiddler定位。然而361/360也不是一無是處的,他的授權驗證同時存在於RST.app和rstweak.dylib中,而AWZ/ALS我們只需要搞定ALS.app就算破解了。
  • 后台服務
    AWZ/ALS使用后台服務(DHPDaemon)來通過notify通信隱藏一些操作,同時daemon也有授權驗證,361/360則無

由於361/360系列工具調用Objective-C函數進行網絡請求,因此切入點就是Objective-C的幾個http網絡通信函數。通過跟蹤,可以解密得到如下字段,寫tweak進行修改,即可成功破解App:

"xzd=d186b90f336a56b7f8d8a6c56b5983f7&lalala=1&la=2019-11-29 16:55:16"

lalala      是否激活
la          過期時間
enabled     是否激活
endDate     過期時間
s           過期時間
dy          過期時間
dr          過期時間

最后別忘了,兩個dylib中也存在類似的授權驗證,否則改機是沒有效果的。至於怎樣驗證修改了哪些參數,可以參考我寫的另一篇文章ALS分析。

第二階段

通過跟蹤可知,361修改了以下函數(比AWZ/ALS更全一些):

sysctl                                  修改設備名,設備型號,iOS版本等
sysctlbyname                            修改設備名,設備型號,iOS版本等
uname                                   修改設備名,設備型號,iOS版本等
SCNetworkReachabilityGetFlags           修改網絡類型,WIFI/2G/3G/4G
CNCopyCurrentNetworkInfo                修改WIFI名和BSSID
IORegistryEntrySearchCFProperty         修改設備串號,IMEI,序列號,mac地址,芯片ID等等
IORegistryEntryCreateCFProperty         修改設備串號,IMEI,序列號,mac地址,芯片ID等等
_CTServerConnectionCopyMobileIdentity   修改IMEI
UIDevice                                修改設備型號,iOS版本,設備名,IDFV
ASIdentifierManager                     修改IDFA
CTCarrier                               修改運營商信息,包括運營商名,MCC,MNC,ICC
NSProcessInfo                           修改啟動時間
MSCopyAnswer                            修改設備名,設備型號,設備標識,序列號,Wifi地址,DieId,等許多內部參數
AADeviceInfo                            修改udid,apnsToken,UserAgent,序列號,wifi的mac地址,iOS版本,設備名
getifaddrs                              修改wifi的內網ip和蜂窩網內網ip
CLLocationManager                       修改位置參數,包括經緯度,海拔,速度等
MKUserLocation                          修改位置參數,包括經緯度,海拔,速度等
BSLaunchdUtilities                      屏蔽微信檢測
NMSSHSession                            屏蔽越獄檢測(ssh)
DeviceInfo                              屏蔽越獄檢測
NSFileManager                           屏蔽越獄檢測
NSString                                屏蔽越獄檢測
NSData                                  屏蔽越獄檢測


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM