360加固反編譯
Ⅰ 經過360加固的安卓程序該如何破解反編譯後什麼代碼都找不到
1)APKtool 2)dex2jar 3)jd-gui 4)簽名工具 相關技術的基本要求 1)具有一定的閱讀JAVA代碼的能力 2)稍微有點Android基礎,越多越好 3)會用eclipse的一些Android調試的相關工具 4)了解一下smali的語法規范和欄位的自定范圍 5)有點應變能力思想轉換能力、 6)雖然代碼的修改是修改其smali文件(用到smali語法),雖然其語言是非常復雜的,但是我們能夠變通就行了,但是要求了解一下smali的語法規范和欄位的自定范圍。 了解以上方法可以非常簡單破解Android APK,破解後,應用里的頁面布局、代碼邏輯、結構演算法等都能一目瞭然。所以為了避免被他人,尤其是競爭對手了解到這些,防破解和反編譯尤為重要。我試過代碼混淆,但是代碼混淆只是對類名進行了變換,增加了破解者的閱讀難度,並不能真正阻止反編譯工程。下面是進行過代碼混淆的APK代碼結構,能看到只是對類名做了變換,變成a、b、c等這樣的名稱。但是仍然可以進行反編譯。 後來又嘗試使用360加固保對APK進行加固保護,發現原有的代碼程序被隱藏起來了,沒法再進行反編譯工作。 所以作為移動應用開發者,適當了解一些破解和反編譯工作有利於保護自己的應用安全。如果不防患於未然,一旦出現盜版情況,那麼你的APP很可能從此被市場所拋棄。
Ⅱ 360加固保為什麼加固後的apk反編譯後仍能看到所有代碼
app發布前,最好做一下掃描和加固,應用掃描可以通過靜態代碼分析、動態數據跟蹤,定位出風險代碼(目前好多都是只告訴APK包裡面有風險),同時監控敏感數據的異常行為。
加固可以在一定程度上保護自己核心代碼演算法,提高破解/盜版/二次打包的難度,緩解代碼注入/動態調試/內存注入攻擊等
但也對應用的兼容性有一定影響,加殼技術不行的話,還會影響程序運行效率.
目前市面上有很多第三方加固的平台, 如果新應用發布前需要掃描或者加固的話,可以先試試免費的,例如騰訊御安全,建議自己先去掃描測試下。
Ⅲ 360加固keystore是什麼東東
加固保為移動應用提供專業安全的保護,可防止應用被逆向分析、反編譯、二次打包,防止嵌入各類病毒、廣告等惡意代碼,從源頭保護數據安全和開發者利益。
Ⅳ 360加固保加固前需要做android 自帶的代碼混淆嗎
你好,加固前不需要做代碼混淆,直接提交原包進行加固即可。android 自帶的代碼混淆只是增加了破解者閱讀代碼的難度,並不能從根本上防止破解。加固是從多維度對代碼進行保護,所以安全性更高。
Ⅳ 360加固保的應用加固技術怎麼樣,可以防破解和二次打包嗎
360加固保加密技術相比其他加固的產品還是做得不錯的 放破解 二次打包效果還不錯 可以用
Ⅵ 芥子空間360加固安全嗎
360加固助手是360加固保PC端產品。360加固保為移動應用提供專業安全的保護,可防止應用被逆向分析、反編譯、二次打包,防止嵌入各類病毒、廣告等惡意代碼
Ⅶ 安卓app360加固怎麼反編譯
1 對比
上傳demo進行加固,解包後對比下原包和加固包,發現加固包在assets文件夾下多了libjiagu.so,libjiagu_x86,lib文件夾下多了libjiagu_art.so,同時修改了dex文件和AndroidManifest文件
打開manifest文件,看到xxx加固對Application標簽做了修改,添加了殼入口,也就是我們反編譯後看到的StubApplication.smali這個文件。
相比於之前版本的加固,自從1.x.x.x加固版本之後,多了幾次反調試,使得動態難度稍微增大了一些,不過針對脫殼機脫殼,再多了反調試也是無用。或者通過修改系統源碼,也能達到消除反調試的作用。
2 動態調試
(1)把app安裝到手機,以調試模式打開app
(2)以shell模式root許可權打開IDA的android_server監聽
(3)tcp轉發
(4)打開IDA,修改配置為在進程開始時下斷
(5)搜索到進程後jdwp轉發,pid值即為我們進程號,並在命令行下附加。
成功附加後,可以下段了,打開Debugger Option
我們選擇在線程開始和庫載入時下斷,修改成功後,jdb附加,點擊運行
程序會斷在elf頭處,按下G鍵,搜索mmap,在mmap函數的段首和斷尾下段
F9運行,來到斷尾時F8單步,
來到此處時,在 BLunk_5C999C2C下斷,F9一下,F7跟進去
跟進去今後在BLX LR處進行下斷,此處就是進行反調試的地方,原理依然是獲取TracePid的值判斷當前是不是處於調試狀態,建議第一次調試的人在fgets和fopen處下斷,再f7跟進此調用就可以看到TracePid的值了。
跟進去之後,我們直接把方法移到最下方,就可以看到kill符號了,這就是殺進程的地方,如果當前處於調試狀態,則直接結束進程。
我們在此函數的所有cmpR0,#0處下斷,F9一下後即斷在斷點處,觀察寄存器窗口的R0值,實質就是當前的TracePid的16進制的值
不確定的可以使用cat /proc/pid/status進行對比一下,我們直接把R0置0,右鍵選擇Zero Value即可清0,繼續F9
我們看到程序又來到了mmap處,繼續f9
當繼續斷在調用反調試功能的方法時,繼續F7跟進,依然在所有的cmp R0,#0處下斷,斷下後把R0清0後繼續F9運行
目前的規律是,調用BLXLR的第一次,第二次和第四次是進行反調試判斷的,第三次並不影響,可以直接f9跳過去,三次反調試搞定後,就可以愉快的F9運行並觀察堆棧窗口了
當看到出現如下所示時:
說明殼已經開始解密並釋放dex文件了,我們直接F8單步十幾步,最後F9一下就可以看到我們需要的dex頭了
直接腳本mp出來即可,最後把libjiagu的所有文件刪除,並修復下Application標,如果存在則修復,不存在刪除即可
Ⅷ Android如何防止apk程序被反編譯
防止反編譯是不可能的,因為任何人拿到apk,都能有辦法反編譯. 我們要防止的是反編譯後的源碼信息被人直接閱讀 和 被修改代碼後被重新打包成apk
自己混淆代碼,反編譯後生成出來的代碼閱讀難度將會提高,至於怎麼混淆,詳細點的網上都能找到
找第三方幫助你加固,舉個栗子:360加固保,易盾,這些都是一些相對成熟的平台,他們防反編譯也有自己的方法,具體想了解的話可以去他們平台試試,360加固保一些功能提供的是免費的哦
Ⅸ 如何使用360加固助手進行自動加固和多渠道打包
打開360加固助手,一鍵上傳APK,即可自動完成應用的加固、簽名、多渠道打包工作。360加固助手是360加固保PC端產品,加固保為移動應用提供專業安全的保護,可防止應用被逆向分析、反編譯、二次打包,防止嵌入各類病毒、廣告等惡意代碼,從源頭保護數據安全和開發者利益。
Ⅹ 360加固保mp出來的dex怎麼修復
通常二次打包的步驟是:解包(反編譯)-->插入/篡改代碼-->生成新包-->重簽名-->運行。
首先可以通過使用ApkTool、Jeb、baksmali/smali等反編譯工具,反編譯apk安裝包,圖1為調用baksmali文件的截圖。
解包後可以看到所有文件列表,找到需要修改的smali文件,這里修改的是MainActivity.smali,如圖2。
解開MainActivity.smali文件後,在裡面插入一段篡改代碼,修改登錄界面中「Button」按鈕上的文本,圖3和圖4是修改前後smali文件中的代碼。
修改後再調用smali.jar文件,將smali重新打包成dex文件,如圖5所示。
接下來再將新生成的classes.dex文件替換原安裝包中的classes.dex,並進行重新簽名,就生成了一款盜版應用。運行該款盜版應用時會發現登錄界面的登錄按鈕被修改替換成了「Fake Btn」,如圖6、圖7所示。
通過簡單的幾個操作步驟,一款未經加固保護的APP就被盜版了,一個團隊一年的勞動成果幾分鍾內就被輕易竊取。通常,盜版應用會通過插入/替換廣告SDK賺取廣告收入、修改支付渠道截取開發者收入、插入病毒/木馬程序盜取用戶信息等形式出現,操作步驟與上面介紹的類似,嚴重侵害了開發者和用戶的利益。
要想保護手機APP,避免被盜版,就要從源頭進行加固保護,讓破解者無從下手。圖8是使用360加固保對APP進行加固前後的對比,加固後再調用baksmali.jar進行反編譯,可以看到代碼文件全部被隱藏,暴露的只是加固程序的一些代碼,破解者自然無法再對源程序進行篡改了。
360加固保基於360核心加密技術,對安卓應用進行加固保護,能有效避免應用被惡意破解、反編譯、二次打包、內存抓取等。同時給應用提供數據加密、簽名校驗、防內存修改、完整性校驗、盜版監測等保護功能,給予安卓應用最強保護,從源頭消滅惡意盜版應用。作為移動互聯網安全服務行業的領跑者,360加固保將持續關注手機應用安全的發展,不斷完善加固保服務,切實保護開發者收入和權益。