網上一大堆的什麼原理的看不懂,直接用大白話總結
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)