反編譯基礎知識

2021-10-08 10:40:22 字數 683 閱讀 7066

!!! 嚴正宣告

本文相關反編譯技術僅限於技術研究使用,不能用於非法目的,否則後果自負.

apktool 逆向apk檔案的工具

官方**

apktool主要用於逆向apk檔案,可以將資源解碼,並在修改之後可以重新構建它們.它還可以用來重新構建apk.

1.1 功能

將資源解碼成近乎原始的形式(包括resources.arsc, classes.dex, 9.png. 和 xmls)

將解碼的資源重新打包成apk/jar

組織和處理依賴於框架資源的apk

smali除錯

執行自動化任務

安裝教程

1.2 使用

逆向apk檔案: apktool d xx.apk,逆向之後只能看到**的smali格式檔案,需要學習smali語法才能看懂.

重新打包: apktool b xx,打包出來的是沒有簽名的apk,需要簽名才能安裝

1.3 smali 語法

smali是dalvik虛擬機器指令語言. 當使用apktool反編譯apk檔案之後,會生成乙個smali資料夾,裡面是虛擬機器需要執行的smali**.smali語言的一些基本語法還是不複雜,可以簡單了解下.萬一需要看一下別人實現的炫酷的ui效果呢…順手偷一段別人的**,哈哈…不對,讀書人的事情怎麼能算偷呢?

下面是用apktool反編譯之後的smali目錄:

編譯基礎知識

cpp生成可執行程式 g test.cpp o test 靜態庫gcc c cjson.c ar rcs libcjson.a cjson.o 動態庫gcc c o cjson.o fpic cjson.c gcc shared o libcjson.so cjson.o 或直接連寫 gcc sha...

《基礎知識 編譯與底層》

對於c 原始檔,從文字到可執行檔案一般需要四個過程 1 預處理階段 對源 檔案中檔案包含關係 標頭檔案 預編譯語句 巨集定義 進行分析和替換,生成預編譯檔案。2 編譯階段 將經過預處理後的預編譯檔案轉換成特定彙編 生成彙編檔案 3 彙編階段 將編譯階段生成的彙編檔案轉化成機器碼,生成可重定位目標檔案...

編譯原理 編譯程式基礎知識

本文主要講的什麼是編譯程式,編譯的各個階段 源語言是像fortran pascal或c那樣的高階語言,目標語言是像組合語言或機器語言那樣的低階語言,這種翻譯程式就叫做編譯程式 翻譯程式 就是把一種語言 稱為源語言 書寫的程式翻譯成另外一種語言 稱為目標語言 的等價程式。預處理 乙個源程式可能分成幾個...