SO Helper,一下簡稱SH。SH是一款可視化ARM彙編修改工具,它能快速的幫助你修改SO文件的彙編代碼,並且SH也支持修改16進製。
值得注意的是,SH的反彙編功能有限,修改點的尋找還是得借助IDA。在IDA中找到關鍵點後記錄下修改的地址,再使用SH來修改彙編代碼。
修改SO文件的彙編代碼
支持修改16進製等等
SO Helper功能圖解
0x0 : 打開文件
SH打開文件的方法非常的簡單,隻需要將SO文件拖入【文件】選擇夾中即可。
打開文件後,SH自動開始對SO文件進行分析,分析的內容有【區段】【符號】【HEX】【所有彙編指令】,請耐心的等待SH分析!
當彈出如下提示框的時候,表示SH已經全部分析完畢!
如果遇到如下提示,就說明打開失敗。
解決方案:
1、檢查是否是有效的ELF文件
2、移動文件到沒有空格和中文字符的目錄中去。
3、請檢查殺毒軟件是否攔截
0x1: 符號表
主程序界麵的選擇夾第二欄是【符號表】,在【符號表】中記錄了所有導出符號的地址,如圖所示:
這裏有【查找】功能,輸入 導出函數的關鍵字,如"jni",即可查找。 再次按下【查找】按鈕會繼續向下查找!
雙擊我們感興趣的表項就能跳轉到【反彙編】窗口。 如果要查看HEX,可以在表項上按下鼠標右鍵,會彈出一個右鍵菜單,在右鍵菜單中選擇【查看HEX】即可。
0x2:區段
主程序界麵的選擇夾第三欄是【區段】,在【區段】中記錄了ELF文件的所有區段(節表 Section)的信息,如圖所示:
區段列表也有右鍵菜單,可以查看HEX!
0x3: HEX查看器
主程序界麵的選擇夾第四欄是【HEX查看器】,【HEX查看器】中你可以任意的修改16進製值!相當於HEX編輯器,不過十分的簡陋!如圖所示:
雙擊即可進入編輯模式!隻有HEX數據編輯才有效果,HEX數據修改的時候請按照 XX XX XX的格式,輸入完畢後按下回車鍵,會出現如下界麵:
選擇【是】。 這是SH采用的是“統一修改”模式。“統一修改”模式指的是將所有要修改的數據集中起來,最後一起修改,修改集中的地方在【修改列表】,稍後會為大家講解。
0x4: 反彙編
主程序界麵的選擇夾第五欄是【反彙編】,這是SH的靈魂所在!如圖所示:
雙擊彙編代碼這一欄的表項即可進入【編輯模式】如圖:
在這裏輸入新的彙編指令即可,新的彙編指令必須遵循如下規則,否則無法通過編譯
1、必須保證語法的準確性
2、請保證舊指令與新指令的長度一致(16位/32位)
隻有達到以上兩點才會編譯通過,SH會把修改記錄加入到【修改列表】中去。
缺陷:
地址中的符號需要手動改寫成數值!!!!!!
0x5:修改列表
主程序界麵的選擇夾第五欄是【修改列表】,SH將所有需要修改的數據記錄在了這裏,如圖所示:
點擊【編譯】按鈕即可導出SO文件!【導出列表】功能會保存當前的修改列表,方便下次工程使用!導出後可以再次用【加載列表】來導入。
列表有右菜單,右菜單中有【刪除】的功能。
注意!HEX類型的數據默認是一次性修改的長度是16字節!當這並不影響你的修改!
SH的反彙編功能有限,修改點的尋找還是得借助IDA。在IDA中找到關鍵點後記錄下修改的地址,再使用SH來修改彙編代碼。
76.4M / 03-25
55M / 06-05
237.9M / 04-13
140.5M / 03-06
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
353.9M / 06-05
131.8M / 04-13
230.8M / 03-03
195.6M / 03-03
165.4M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
325.8M / 06-07
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
110.5M / 04-23
26.7M / 03-16
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
201.2M / 04-13
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
9.48G / 07-06
50KB / 07-06
116.2M / 04-10
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
509.7M / 07-06
561.8M / 07-11
1.32G / 01-19
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06