int
__cdecl Java_demo2_jni_com_myapplication_myJNI_check(_JNIEnv
*
env,
int
a2,
int
a3,
int
a4,
int
a5)
{
const char
*
v5;
/
/
edi
_JNIEnv
*
v6;
/
/
ebp
void
*
v7;
/
/
eax
_BYTE
*
v8;
/
/
esi
bool
v9;
/
/
zf
signed
int
v10;
/
/
ecx
const char
*
v11;
/
/
edi
bool
v12;
/
/
zf
_BYTE
*
v13;
/
/
esi
signed
int
v14;
/
/
ecx
_BYTE
*
v15;
/
/
esi
signed
int
v16;
/
/
ecx
const char
*
v17;
/
/
edi
int
result;
/
/
eax
int
v19;
/
/
[esp
+
Ch] [ebp
-
30h
]
int
v20;
/
/
[esp
+
18h
] [ebp
-
24h
]
int
v21;
/
/
[esp
+
1Ch
] [ebp
-
20h
]
v5
=
"308201dd30820146020101300d06092a864886f70d010105050030373116301406035504030c0d416e64726f69642044656275673110300e0"
"60355040a0c07416e64726f6964310b3009060355040613025553301e170d3138303332313033303431385a170d3438303331333033303431"
"385a30373116301406035504030c0d416e64726f69642044656275673110300e060355040a0c07416e64726f6964310b30090603550406130"
"2555330819f300d06092a864886f70d010101050003818d00308189028181008270f53e2cf8c7d7ed200863deb85a054defde773be0b848ee"
"792839d9a81da098dd9b74bbb9679c19ea30b63fe3bb74aabb270a5c9b3359ebe3fdf278b82fe576a6677f0d77f0eb5b088d0711b15d03cad"
"ae08b3b980f28055d0cde4bbc4a0b4b208b0f30f170b6ea77a8620269fa1d375442653663e1dd41293aa1c4910e350203010001300d06092a"
"864886f70d010105050003818100044b9ab7e85346a147926c2d1c6c30e8ffcce174f88acb9763cb776fb1f4dd62183c9524346738ff1aea1"
"6c5fa218c68da76d05a2422aee12fc23563b5e28925c3d96dff855a584fc1ec462aa768277bd25739085d52fe3fedfd396e38180c13fbb289"
"786e524535933dd8a99ed3154880544f3e41f044acc43ceefbbce3af59"
;
v6
=
env;
v7
=
(void
*
)getSignature(env, a2, a3);
v8
=
(_BYTE
*
)v6
-
>functions
-
>GetStringUTFChars(&v6
-
>functions, v7,
0
);
v20
=
(
int
)v6
-
>functions
-
>GetStringUTFChars(&v6
-
>functions, (jstring)a4,
0
);
v21
=
(
int
)v6
-
>functions
-
>GetStringUTFChars(&v6
-
>functions, (jstring)a5,
0
);
__android_log_print(
4
,
"JNI_LOG"
,
"JNI获取到的签名是%s"
, v8);
/
/
.rodata:
000008C4
aJniS db
'JNI获取到的签名是%s'
,
0
v10
=
963
;
do
{
if
( !v10 )
break
;
v9
=
*
v8
+
+
=
=
*
v5
+
+
;
-
-
v10;
}
while
( v9 );
if
( !v9 )
{
__android_log_print(
4
,
"JNI_LOG"
,
"签名不一致 退出程序"
, v19);
/
/
.rodata:
000008F3
asc_8F3 db
'签名不一致 退出程序'
,
0
exit(
0
);
}
v11
=
"koudai"
;
__android_log_print(
4
,
"JNI_LOG"
,
"签名一致"
, v19);
/
/
.rodata:
000008DF
asc_8DF db
'签名一致'
,
0
v13
=
(_BYTE
*
)v20;
v14
=
7
;
do
{
if
( !v14 )
break
;
v12
=
*
v13
+
+
=
=
*
v11
+
+
;
-
-
v14;
}
while
( v12 );
if
( !v12 )
goto LABEL_19;
v15
=
(_BYTE
*
)v21;
v16
=
6
;
v17
=
"black"
;
do
{
if
( !v16 )
break
;
v12
=
*
v15
+
+
=
=
*
v17
+
+
;
-
-
v16;
}
while
( v12 );
if
( v12 )
result
=
(
int
)env
-
>functions
-
>NewStringUTF((JNIEnv
*
)env,
"登陆成功"
);
/
/
.rodata:
00000916
asc_916 db
'登陆成功'
,
0
else
LABEL_19:
result
=
(
int
)env
-
>functions
-
>NewStringUTF((JNIEnv
*
)env,
"登陆失败"
);
/
/
.rodata:
00000923
asc_923 db
'登陆失败'
,
0
return
result;
}