int
__cdecl Java_demo2_jni_com_myapplication_myJNI_check(_JNIEnv
*
env,
int
a2,
int
a3,
int
username,
int
password)
{
const char
*
v5;
/
/
edi
_JNIEnv
*
ENV;
/
/
ebp
int
v7;
/
/
eax
_BYTE
*
v8;
/
/
esi
bool
v9;
/
/
zf
signed
int
v10;
/
/
ecx
const char
*
v11;
/
/
edi
bool
v12;
/
/
zf
_BYTE
*
USER;
/
/
esi
signed
int
v14;
/
/
ecx
_BYTE
*
PASS;
/
/
esi
signed
int
v16;
/
/
ecx
const char
*
v17;
/
/
edi
int
result;
/
/
eax
int
user;
/
/
[esp
+
18h
] [ebp
-
24h
]
int
pass
;
/
/
[esp
+
1Ch
] [ebp
-
20h
]
v5
=
"308201dd30820146020101300d06092a864886f70d010105050030373116301406035504030c0d416e64726f69642044656275673110300e0"
"60355040a0c07416e64726f6964310b3009060355040613025553301e170d3138303332313033303431385a170d3438303331333033303431"
"385a30373116301406035504030c0d416e64726f69642044656275673110300e060355040a0c07416e64726f6964310b30090603550406130"
"2555330819f300d06092a864886f70d010101050003818d00308189028181008270f53e2cf8c7d7ed200863deb85a054defde773be0b848ee"
"792839d9a81da098dd9b74bbb9679c19ea30b63fe3bb74aabb270a5c9b3359ebe3fdf278b82fe576a6677f0d77f0eb5b088d0711b15d03cad"
"ae08b3b980f28055d0cde4bbc4a0b4b208b0f30f170b6ea77a8620269fa1d375442653663e1dd41293aa1c4910e350203010001300d06092a"
"864886f70d010105050003818100044b9ab7e85346a147926c2d1c6c30e8ffcce174f88acb9763cb776fb1f4dd62183c9524346738ff1aea1"
"6c5fa218c68da76d05a2422aee12fc23563b5e28925c3d96dff855a584fc1ec462aa768277bd25739085d52fe3fedfd396e38180c13fbb289"
"786e524535933dd8a99ed3154880544f3e41f044acc43ceefbbce3af59"
;
ENV
=
env;
v7
=
((
int
(__cdecl
*
)(_JNIEnv
*
,
int
,
int
))getSignature)(env, a2, a3);
v8
=
(_BYTE
*
)ENV
-
>functions
-
>GetStringUTFChars(&ENV
-
>functions, (jstring)v7,
0
);
user
=
(
int
)ENV
-
>functions
-
>GetStringUTFChars(&ENV
-
>functions, (jstring)username,
0
);
pass
=
(
int
)ENV
-
>functions
-
>GetStringUTFChars(&ENV
-
>functions, (jstring)password,
0
);
((void (__cdecl
*
)(signed
int
, const char
*
, const char
*
, _BYTE
*
))unk_A5D533C0)(
4
,
"JNI_LOG"
,
"JNI获取到的签名是%s"
,
v8);
/
/
libJniTest.so:A5D538C4 aJniS db
'JNI获取到的签名是%s'
,
0
v10
=
963
;
do
{
if
( !v10 )
break
;
v9
=
*
v8
+
+
=
=
*
v5
+
+
;
-
-
v10;
}
while
( v9 );
if
( !v9 )
{
((void (__cdecl
*
)(signed
int
, const char
*
, const char
*
))unk_A5D533C0)(
4
,
"JNI_LOG"
,
"签名不一致 退出程序"
);
/
/
libJniTest.so:A5D538F3 asc_A5D538F3 db
'签名不一致 退出程序'
,
0
((void (__cdecl
*
)(_DWORD))unk_A5D533D0)(
0
);
JUMPOUT(unk_A5D5384D);
}
v11
=
"koudai"
;
((void (__cdecl
*
)(signed
int
, const char
*
, const char
*
))unk_A5D533C0)(
4
,
"JNI_LOG"
,
"签名一致"
);
/
/
libJniTest.so:A5D538DF asc_A5D538DF db
'签名一致'
,
0
USER
=
(_BYTE
*
)user;
v14
=
7
;
do
{
if
( !v14 )
break
;
v12
=
*
USER
+
+
=
=
*
v11
+
+
;
-
-
v14;
}
while
( v12 );
if
( !v12 )
goto LABEL_19;
PASS
=
(_BYTE
*
)
pass
;
v16
=
6
;
v17
=
"black"
;
do
{
if
( !v16 )
break
;
v12
=
*
PASS
+
+
=
=
*
v17
+
+
;
-
-
v16;
}
while
( v12 );
if
( v12 )
result
=
(
int
)env
-
>functions
-
>NewStringUTF((JNIEnv
*
)env,
"登陆成功"
);
/
/
libJniTest.so:A5D53916 asc_A5D53916 db
'登陆成功'
,
0
else
LABEL_19:
result
=
(
int
)env
-
>functions
-
>NewStringUTF((JNIEnv
*
)env,
"登陆失败"
);
/
/
libJniTest.so:A5D53923 asc_A5D53923 db
'登陆失败'
,
0
return
result;
}