no
This commit is contained in:
@@ -151,7 +151,7 @@ public class APISecurity {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
//TODO 这里获取的signingInfo 为空 猜想是flag不对 但看源码好像 目前只能使【GET_SIGNATURES 对应signatures】
|
||||
PackageInfo packageInfo = pm.getPackageArchiveInfo(path, PackageManager.GET_SIGNING_CERTIFICATES);
|
||||
// PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES);;
|
||||
// PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES);
|
||||
if (packageInfo != null && packageInfo.signingInfo != null) {
|
||||
Signature[] signatures = packageInfo.signingInfo.getApkContentsSigners();
|
||||
return AppSigning.getSignatureString(signatures, AppSigning.SHA1);
|
||||
|
||||
@@ -56,7 +56,7 @@ android {
|
||||
}
|
||||
}
|
||||
//这里libold.so 是hook用的实际是apk 为了读源文件签名hook
|
||||
sourceSets.main.jniLibs.srcDirs = ['libs'] //为了直接读取 lib目录下 arm64-v8a/libold.so 和api-so无关
|
||||
sourceSets.main.jniLibs.srcDirs = ['libs'] //为了直接读取 lib目录下 arm64-v8a/libold.so=apk 和api-so无关
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -365,9 +365,7 @@ Java_cn_android_security_APISecurity_init(
|
||||
}
|
||||
//包名验证
|
||||
const char *pkgName = env->GetStringUTFChars(package_name, nullptr);
|
||||
if (strcmp(pkgName, APP_PKG) == 0) {
|
||||
secret = API_SECRET;//包名匹配 拿取api
|
||||
} else {
|
||||
if (strcmp(pkgName, APP_PKG) != 0) {
|
||||
LOGE("非法调用2,Package: %s", pkgName);
|
||||
return JNI_FALSE;
|
||||
}
|
||||
@@ -404,6 +402,7 @@ Java_cn_android_security_APISecurity_init(
|
||||
return JNI_FALSE;
|
||||
}
|
||||
isInit = true;
|
||||
secret = API_SECRET;//拿取api
|
||||
LOGI("初始化成功!");
|
||||
return JNI_TRUE;
|
||||
}
|
||||
|
||||
@@ -47,10 +47,10 @@ public class MyApplication extends Application implements InvocationHandler {
|
||||
// 在构造函数里提早检测
|
||||
AppSigning.earlyCheckSign();
|
||||
}
|
||||
|
||||
private void copyFile(Context context, final String fileName) {
|
||||
//源apk 文件签名hook用
|
||||
private void copyFile(Context context, final String libName) {
|
||||
//data/app/packagename/lib/arm64/libold.so 将源文件搞到此目录
|
||||
String libPath = context.getApplicationInfo().nativeLibraryDir + File.separator + fileName;
|
||||
String libPath = context.getApplicationInfo().nativeLibraryDir + File.separator + libName;
|
||||
apkPath = new File(libPath);
|
||||
Log.e("mhyLog", "File:" + libPath);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user