您好,登錄后才能下訂單哦!
今天小編給大家分享一下github設備激活的方法的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
<br>查閱資料,設備ID注冊主要是有device_id和install_id(iid)。注冊的URL:[http://log.******.com/service/2/device_register/](http://log.******.com/service/2/device_register/)
。<br>先根據device_id和install_id來做搜索。某音沒有做加固,用Jadx直接打開,同時搜索device_id和install_id可以發現主要代碼區段在com.**.android.common.applog.AppLog
包中<br>cdn.nlark.com/yuque/0/2020/png/97322/1609167730788-236be7c6-ff07-4091-93d6-56ca77011438.png"><br><br><br> <br>確實很可疑,有很多設備ID和設備相關的參數和方法,但是沒有設備注冊相關的代碼,先放著不談。<br>接著直接搜索device_register吧,出來的結果并不多,發現Jadx無法正常解析,雖然看指令也能看出大概,這里就是設備注冊的具體邏輯了。<br><br>使用JEB打開后是這個效果。<br><br>總體和網上的資料一致,收集各種設備信息,并壓縮和加密,看到這其實發現設備ID的獲取并不困難。<br><br>這里推薦這個項目device_register,能夠直接生成device_id,其中加密函數調用采用了unidbg。<br>
<br>不過上述項目的作者在README中也提到,通過該方式獲取到的device_id和iid去訪問接口,會得到空的響應。原作者猜測是有相關的激活請求,測試下來確實如此。所以本文的重點是分享一種欺騙打點日志,實現設備ID重激活的思路。<br>回到之前最開始看到的AppLog類,里邊有很多記錄用戶行為并上傳打點日志的情況,而這些日志里邊會包含device_id和iid。于是猜測到會不會是這些打點日志影響了device_id的有效性。如果我們把生成的device_id注入到真實的手機App中,那么打開App會按我們注入的device_id來打點,是不是就能洗白了?<br>查閱資料發現,如果將AppLog類中還有一個控制打點日志body是否需要加密的方法,找到名字對應是getLogEncryptSwitch,先將其改為false。之后發現抓包確實都顯示明文了。<br><br><br><br>可以發現body中header字段帶上了設備信息,追溯下來其實就是mheader這個字段,所以首先要把device_id和iid注入到這個mheader中。<br>注入完成之后抓包發現,URL中的device_id和iid還沒有變,不過這里邊的參數修改也比較容易,找到統一加請求參數的類com.**.android.d.e
將device_id和iid扔進去即可。<br>最后看一下device_id的存儲位置。回到AppLog的getServerDeviceId和getInstallId方法,可以看到他們其實最終是從SharedPreferences取出的數據。所以除了要注入獲取device_id和iid的相關方法,刪除SharedPreferences(/data/data/<package_name>/shared_prefs
)來清除原有的device_id和iid會更加保險。<br>做完上述的所有操作后,重新打開App抓包可以發現,所有的打點日志都用到了我們新注入的device_id,并且device_register接口返回了新install_id,經測試可以在所有接口上使用。<br>
以上就是“github設備激活的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。