void SetClassInstance(JNIEnv *env, jobject obj, void* instance) { LOGPOS(); int64_t i64 = (uintptr_t)instance; (*env)->SetLongField(env, obj, GetClassField(env, obj, "instance", "J"), i64); }
void cDexDecompiler::DecompileClass( DEX_DECOMPILED_CLASS* Class ) { GetClassDefinition(Class); for (UINT i=0; i<(Class->Ref->ClassData?Class->Ref->ClassData->InstanceFieldsSize:0); i++) GetClassField(Class, Class->Ref->ClassData->InstanceFields[i]); for (UINT i=0; i<(Class->Ref->ClassData?Class->Ref->ClassData->StaticFieldsSize:0); i++) GetClassField(Class, Class->Ref->ClassData->StaticFields[i], TRUE); for (UINT i=0; i<(Class->Ref->ClassData?Class->Ref->ClassData->DirectMethodsSize:0); i++) GetClassMethod(Class, Class->Ref->ClassData->DirectMethods[i]); for (UINT i=0; i<(Class->Ref->ClassData?Class->Ref->ClassData->VirtualMethodsSize:0); i++) GetClassMethod(Class, Class->Ref->ClassData->VirtualMethods[i], TRUE); }
void *GetClassInstance(JNIEnv *env, jobject obj) { LOGPOS(); int64_t i64 = 0; i64 = (*env)->GetLongField(env, obj, GetClassField(env, obj, "instance", "J")); return (void*)(uintptr_t)(i64 & 0xFFFFFFFF); }