欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    1.我們要達到什么目地?

    我們逆向APK時,如今對于so一般來說是肯定要做修改的,然而IDA修改匯編代碼,不像OD可以直接修改匯編指令,必須通過等修改十六進制。我們僅僅知道00表示代碼清除,90表示NOP指令,即空指令。但僅僅刪除一行代碼這樣的修改肯定是滿足不了需要的。我們需要深入修改一點。

    2.與ARM基礎知識

    是英特爾公司的16位處理器,ARM是ARM公司的32位處理器。每個處理器都對應自己的一套匯編語言,所以兩個處理器分別對應于8086匯編和ARM匯編。由于處理器的位數16進制編輯器改so文件,所以8086匯編指令的機器碼是16位,而ARM匯編指令的機器碼就是32位。機器碼可以看作是二進制指令,其實所謂的HEX即稱為十六進制操作碼或十六進制機器碼,也是二進制指令,只是把二進制的數值用十六進制去展示。

    16進制查看器_16進制編輯器改so文件_如何使用vim編輯2進制

    3.ARM匯編非常重要

    ARM匯編可以做的事情在我看來比8086匯編多得多,如果你會了ARM,就會了主流的嵌入式開發,然后就是硬件編程,然后就是機器人或機械制造。所以,ARM真的非常重要,希望可以去認真學習,不僅是ARM指令集,還有ARM的機器碼的原理,以及ELF文件在linux下的反編譯。下面只能簡單講解。

    4.ARM的機器碼簡單講解

    ARM機器碼為32位,我們以跳轉指令BL和BEQ為例講解。其實我們只需要關注最高的8位,也就是24-31位。首先來看,28-31這四位,不同條件這四位有什么不同。然后在27-24這四位里,BL和BEQ都是1010.所以BL指令的二進制是,即十六進制的EA;相同BEQ的十六進制就是0A。

    16進制編輯器改so文件_如何使用vim編輯2進制_16進制查看器

    5.SO里面的情況

    當我們把SO里的匯編語言放到工具中去轉換為HEX時,會發現和IDA中的HEX有時是完全不同的,這是因為IDA中有時反編譯SO使用的不是ARM,而是16位的ARM16進制編輯器改so文件,也就是Thumb指令,但有時卻是ARM的32位指令。

    6.修改匯編跳轉指令

    這種情況一般是Thumb指令,一般而言一行代碼對應是2個HEX碼。

    16進制查看器_16進制編輯器改so文件_如何使用vim編輯2進制

    例子:bne指令修改為beq指令

    通過工具,我們發現bne跳轉指令對應的HEX機器碼是D1,beq對應的HEX機器碼是D0,然后用修改,再用IDA檢測。

    7.修改數據

    這種情況一般是ARM指令,一般而言一行代碼對應是4個HEX碼。

    16進制編輯器改so文件_16進制查看器_如何使用vim編輯2進制

    例子:修改小黃人快跑中初始化金幣量

    so里面原來ARM代碼:mov R1,#

    最大可改為,也就是65535,修改后的代碼應為:mov R1,#

    原本的代碼對應的HEX:C8 19 04 E3,為什么是這個樣子,這和8086匯編有類似之處,就是十六進制和匯編代碼是大體顛倒的。最后的E3是MOV這個匯編指令。我們做一個正確的顛倒:E3 01 49 C8。這下就懂了吧!所以,我們改為FF 1F 0F E3。

    16進制查看器_如何使用vim編輯2進制_16進制編輯器改so文件

    當然,為了方便,可以直接使用工具,不過這樣的分析能夠極大增強大家ARM分析的能力。不過不要寄太多希望于工具,因為很多時候,工具會發生錯誤或者和IDA中的HEX-VIEW情況不一致,也不利于我們學習的。所以工具只是輔助,主要還是動腦子。

    8.修改字符串

    這種情況比較簡單,字符串就是字符串,修改字符串的HEX碼就是利用ASCII轉HEX的工具就可以,我們可以對比兩個so來看看。當然最簡單修改辦法,是用直接在右邊修改字符串。其實,這和修改文本是一樣的,記事本,都可以。手機端的MT,,十六進制編輯器等等也都可以修改SO的字符串,推薦使用默小坑兄弟的ADK編輯器。

    視頻下載地址:

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有