Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android Dex结构体定义不准确 #861

Open
hzshang opened this issue Mar 14, 2023 · 0 comments
Open

Android Dex结构体定义不准确 #861

hzshang opened this issue Mar 14, 2023 · 0 comments

Comments

@hzshang
Copy link

hzshang commented Mar 14, 2023

https://ctf-wiki.org/android/basic_operating_mechanism/java_layer/dex/dex/#class-def
wiki上展示的DexClassDataHeader结构体是下面的定义

struct DexClassDataHeader {
    u4 staticFieldsSize;  /* 静态字段个数 */
    u4 instanceFieldsSize; /* 实例字段个数 */
    u4 directMethodsSize;  /* 直接方法个数 */
    u4 virtualMethodsSize; /* 虚方法个数 */
};

不过根据Android文档 https://source.android.com/docs/core/runtime/dex-format?hl=zh-cn#class-data-item
这里的header定义类型应该为ueb128

名称 格式 说明
static_fields_size uleb128 此项中定义的静态字段的数量
instance_fields_size uleb128 此项中定义的实例字段的数量
direct_methods_size uleb128 此项中定义的直接方法的数量
virtual_methods_size uleb128 此项中定义的虚拟方法的数量
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant