Dex 結構解析

網上一大堆的什麼原理的看不懂,直接用大白話總結

 LEB128 前面最高位的bit是1的話就代表後面的字節有意義

數據只有7個bit

0x02b0 => 0000 0010 1011 0000 =>去除最高位(0000 0010 (1)011 0000 )=> 000 0010 011 0000 =>按4bits重排 => 00 0001 0011 0000 => 0x130

 

重點關注這幾個

 

string 就是存字符串的

type就是類型如同int long byte的這種類型

idx指向的string的idx

proto 返回值和參數

field 類中的變量

如下圖

class_idx指向的其實是type_idx

name_idx指向的string_idx

method 如其名類中方法

結構

class_idx指向的其實是type_idx

name_idx和上面一樣都是string_idx

重點來了

class

如下圖

是這麼個批樣

兩個指針指向了真正的代碼

class_def->data_item->method_list.method[1]->code_item //這個是瞎幾把寫的爲了好理解

分享一個

LOAD:0000E708: The function has undefined instruction/data at the specified address.

直接用idapython 解決
MakeFunction(0xE408,0xE708)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章