[C] 纯文本查看 复制代码
signed int __fastcall isZhuishuSignKey(JNIEnv *a1, int a2)
{
JNIEnv *v2; // r4@1
int v3; // r5@1
int v4; // r0@1
int v5; // r7@1
int v6; // r0@1
int v7; // r0@1
int v8; // r6@1
int v9; // r0@1
int v10; // ST0C_4@1
int v11; // r0@1
int v12; // r5@1
int v13; // r0@1
int v14; // r5@1
int v15; // r0@1
int v16; // r0@1
int v17; // r0@1
int v18; // r0@1
int v19; // r5@1
int v20; // r0@1
int v21; // r0@1
int v22; // r0@1
signed int result; // r0@2
v2 = a1;
v3 = a2;
v4 = ((int (*)(void))(*a1)->GetObjectClass)();
v5 = v4;
v6 = ((int (__fastcall *)(JNIEnv *, int, const char *, const char *))(*v2)->GetMethodID)(
v2,
v4,
"getPackageManager",
"()Landroid/content/pm/PackageManager;");
v7 = ((int (__fastcall *)(JNIEnv *, int, int))(*v2)->CallObjectMethod)(v2, v3, v6);
v8 = v7;
v9 = ((int (__fastcall *)(JNIEnv *, int))(*v2)->GetObjectClass)(v2, v7);
v10 = ((int (__fastcall *)(JNIEnv *, int, const char *, const char *))(*v2)->GetMethodID)(
v2,
v9,
"getPackageInfo",
"(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;");
v11 = ((int (__fastcall *)(_DWORD, _DWORD, const char *, const char *))(*v2)->GetMethodID)(
v2,
v5,
"getPackageName",
"()Ljava/lang/String;");
v12 = ((int (__fastcall *)(JNIEnv *, int, int))(*v2)->CallObjectMethod)(v2, v3, v11);
((void (__fastcall *)(JNIEnv *, int, _DWORD))(*v2)->GetStringUTFChars)(v2, v12, 0);
v13 = ((int (__fastcall *)(JNIEnv *, int, int, int))(*v2)->CallObjectMethod)(v2, v8, v10, v12);
v14 = v13;
v15 = ((int (__fastcall *)(JNIEnv *, int))(*v2)->GetObjectClass)(v2, v13);
v16 = ((int (__fastcall *)(JNIEnv *, int, const char *, const char *))(*v2)->GetFieldID)(
v2,
v15,
"signatures",
"[Landroid/content/pm/Signature;");
v17 = ((int (__fastcall *)(JNIEnv *, int, int))(*v2)->GetObjectField)(v2, v14, v16);
v18 = ((int (__fastcall *)(JNIEnv *, int, _DWORD))(*v2)->GetObjectArrayElement)(v2, v17, 0);
v19 = v18;
v20 = ((int (__fastcall *)(_DWORD, _DWORD))(*v2)->GetObjectClass)(v2, v18);
v21 = ((int (__fastcall *)(_DWORD, _DWORD, const char *, const char *))(*v2)->GetMethodID)(v2, v20, "hashCode", "()I");
v22 = ((int (__fastcall *)(JNIEnv *, int, int))(*v2)->CallIntMethod)(v2, v19, v21);
if ( v22 == 1902783089 )
result = 1;
else
result = (unsigned int)(v22 - 722848853) <= 0;
return result;
}