91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用無效字節碼指令引發逆向工具崩潰(一)

發布時間:2020-07-15 17:06:05 來源:網絡 閱讀:501 作者:大水牛牛 欄目:移動開發

由于大部分逆向工具都是線性讀取字節碼并解析,當遇到無效字節碼時,就會引起反編譯工具字節碼解析失敗。

 

我們可以插入無效字節碼到DEX文件,但要保證該無效字節碼永遠不會被執行(否則您的程序就會崩潰了!)。

 

首先我們新建一個測試類。為了繞過Dalvik運行時代碼驗證,BadCode.java要保證不被調用。(否則運行app,會出現java.lang.verifyerror異常)

利用無效字節碼指令引發逆向工具崩潰(一)

然后生成apk,用ida打開classes.dex。并找到BadCode類的aaa方法。選中的三行代碼對應”System.out.println("aaaa");”

利用無效字節碼指令引發逆向工具崩潰(一)

切換到HexView-a視圖,記錄下指令碼 “62 00 02 04 1A 01 8E 07  6E 20 19 10 10 00” 和對應偏移“0003A2A4”

利用無效字節碼指令引發逆向工具崩潰(一)

 

使用C32asm,以十六進制的方式打開dex文件。按快捷鍵“Ctrl + G”,定位到“0003A2A4”

把“62 00 02 04 1A 01 8E 07  6E 20 19 10 10 00”改為“12 01 38 01 03 00 FF FF 00 00 00 00 00  00

利用無效字節碼指令引發逆向工具崩潰(一)

 

Opcodes解釋:

12 01  //  const/4  v1, 0 //v1=0

38 01 03 00  //  if-eqz   v1, loc_3A2AC //if(v1==0) 跳轉到 loc_3A2AC:

FF FF  // FFFF (Bad opcodes) //本行代碼被跳過永遠不會執行

// loc_3A2AC:

 

保存dex。把修改后的dex文件拖入DexFixer進行修復。

利用無效字節碼指令引發逆向工具崩潰(一)

 

用修復后的dex覆蓋原apk中的dex文件。

利用無效字節碼指令引發逆向工具崩潰(一)

 

刪除META-INF簽名文件

利用無效字節碼指令引發逆向工具崩潰(一)

使用簽名工具,對apk重新簽名。

利用無效字節碼指令引發逆向工具崩潰(一)

Apk安裝到手機,運行成功

利用無效字節碼指令引發逆向工具崩潰(一)

 

下面試試反逆向工具的效果

 

Apktool:(很遺憾,新版本已經修復了這個錯誤)

利用無效字節碼指令引發逆向工具崩潰(一)

 

Dex2jar:(反編譯失敗)

利用無效字節碼指令引發逆向工具崩潰(一)

 

用到的工具:

IDA http://pan.baidu.com/share/link?shareid=132208&uk=1795434040

C32Asm http://www.crsky.com/soft/3128.html

DexFixerhttp://bbs.pediy.com/showthread.php?p=1158816

Ijiami signerhttp://t.cn/R2tfvdP (需登錄注冊賬號:http://t.cn/R2tfAiC


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盱眙县| 象州县| 平谷区| 齐齐哈尔市| 丹江口市| 靖西县| 内黄县| 淅川县| 灌阳县| 龙井市| 资讯| 盐池县| 宁德市| 措美县| 进贤县| 普宁市| 禄丰县| 内丘县| 湘潭市| 甘泉县| 遵化市| 阿拉善右旗| 梁平县| 华亭县| 黄龙县| 曲松县| 益阳市| 宁远县| 响水县| 垣曲县| 普安县| 建始县| 宿松县| 二手房| 博白县| 伊金霍洛旗| 拉孜县| 嘉定区| 茶陵县| 昭苏县| 历史|