亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

太湖县| 临邑县| 富平县| 禹城市| 新津县| 崇左市| 梧州市| 龙岩市| 肃宁县| 昭通市| 卓资县| 土默特右旗| 贺兰县| 鲁甸县| 清涧县| 神农架林区| 苏尼特左旗| 宁夏| 汤阴县| 彰化县| 莱芜市| 亚东县| 多伦县| 上虞市| 辰溪县| 广东省| 石门县| 浏阳市| 舒城县| 东台市| 达拉特旗| 县级市| 彭水| 广汉市| 荣成市| 延寿县| 西和县| 无为县| 云南省| 如东县| 灌阳县|