騰訊加固純手工簡易脫殼教程


聲明:
1.本文轉載自吾愛破解論壇:http://www.52pojie.cn/thread-428271-1-1.html,若有轉載請注明出處,尊重原創作者。
2.本文僅供學習交流,請勿用於非法途徑。

騰訊殼本身沒對代碼做什么保護,主要就是讓apktool和dex2jar失效而已,其中的反調試更加沒用了,手工修復完全不涉及調試,主要找到方法,處理完成,就跟原來的app一樣了,所以騰訊殼屬於很弱的加固殼

自己已經測試了一個demo和市場上的app,都沒什么問題

本教程不說原理了,自己根據我做的去理解一下

騰訊殼針對apktool做了處理,使之無法反編譯,之前zzage大牛的教程中提到的是manifest中加入了錯誤引用,現版本是處理的resources.arsc,加入了兩個錯誤引用,觸發了apktool的bug

使用shakaapktool可以正常反編譯

1.搜索“fasten”,在attrs.xml和public.xml 中會發現此引用,刪除這兩行

    <item type="attr" name="fasten" />
    <item type="attr" name="_?m@0x7f010023" />

引號中的”_?m@0x7f010023”根據不同app會不同,是連續的兩行,刪除即可

2.使用AndroidKiller ,導入我提供的腳本,在反編譯完成后運行此腳本,腳本中有配置方法,提示完成后即可

3.刪除smali中的A001.smali文件

4.在smali的目錄下com/tencent/StubShell/TxAppEntry,搜索對此文件的引用,直接搜索TxAppEntry,如果發現在其它smali中調用的此文件,直接刪除那句調用即可,最后刪除stubShell文件夾

可能會在mainifest中發現,直接刪除即可,如果Application標簽的name值被替換成了com.tencent.StubShell.TxAppEntry

直接搜索.super Landroid/app/application,部分app的自定義Appliction可能引用有所出入,根據情況所變,填入程序自身的Appliction標簽名,如果沒有,直接刪除

android:name=”com.tencent.StubShell.TxAppEntry”即可

5.最后就是刪除lib下的libtxRes64.so和asserts下的這5個文件即可
這里寫圖片描述
PS:跟原版繼續想比的話,多了殘余的nop語句,但nop不參與程序邏輯,所以無影響,其次部分語句被替換成了

加固版
# virtual methods
.method public clearHeader()V
    .locals 1
    move-object v0, p0
    return-void
.end method
原版
# virtual methods
.method public clearHeader()V
    .locals 0
    return-void
.end method

觀察語句,在非靜態方法中p0代表this,部分方法中會調用p0,在加固版本中,將this賦給了v0,最終調用的是v0,其實就是p0,也同樣無影響
處理完成后回編譯,至此app可以正常運行,也可以正常使用dex2jar查看源碼了

 


免責聲明!

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



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