当前位置: 首页 > article >正文

Android防破解重签名方案研究

最近发现有人破解我们的应用,于是研究了一下如何在应用被破解以后,让应用退出的简单实现方案。

很多应用可能会选择加固的方式来实现,但是在海外Google Play上是不允许加固的,因此需要其他策略。

应用被破解以后一般会被修改然后重签名,所以可以在签名上做一些针对性。

这里的方案是通过NDK的方式来把验证过程放到so包里面进行拦截,做了一些特殊的处理,因为应用的这个so是必须依赖的,否则应用里面很多功能都是无法使用的,因此将验证过程进行整合。

static const char *applicationClassPath = "com/demo/zhupeng/app/DemoApplication";

// 应用签名
static const char *appSign = "Java端获取的签名";

// 验证签名是否被修改
jint verifySignature(JavaVM *vm) {
   
    JNIEnv *env;
    if (vm->GetEnv(reinterpret_cast<void **>(&env), JNI_VERSION_1_6) != JNI_OK) {
   
        return JNI_ERR;
    }

    jclass contextClass = env->FindClass("android/content/Context");
    jmethodID getPackageManagerMethodID = env->GetMethodID(contextClass, "getPackageManager",
                                                           "()Landroid/content/pm/PackageManager;");
    jmethodID getPackageNameMethodID = env-></

http://www.kler.cn/news/156729.html

相关文章:

  • Lab 3: Recursion, Tree Recursion(CS61A 2020)
  • JAVA代码优化:随机数字生成(UUID)
  • Unity EventSystem的一些理解和使用
  • 论文阅读:Distributed Initialization for VVIRO with Position-Unknown UWB Network
  • 网页封装APP的原理:将网页转化为移动应用
  • Flask 自定义template和静态文件路径
  • 大华技术GIS开发工程师24届秋招三场面试Offer面经
  • 2023年中国中高端服饰品牌经营现状和市场发展趋势分析|徐礼昭
  • leetCode 51.皇后 + 回溯算法 + 图解 + 笔记
  • 更新头像之后,如何通知对方头像已更新?
  • oops-framework框架 之 初始了解(一)
  • 【Linux基础开发工具】yum生态vim的配置与使用
  • 第四十一篇,一次matlab与spdlog的合作
  • 如何使用PostMan进行并发测试?
  • Ansible及其优势是什么?
  • Vue:Vue-dev开发者工具国内下载地址
  • 盘点2023年有哪些办公的效率工具
  • C语言--每日选择题--Day33
  • 苍穹外卖--导出运营数据Excel报表
  • 【go语言开发】Minio基本使用,包括环境搭建,接口封装和代码测试
  • mac mini只有键盘怎么连接蓝牙鼠标
  • 使用 PHPMailer 实现邮件的实时发送
  • Java中synchronized与Lock的区别与使用
  • CityEngine2023 shp数据城市与路网三维模型并导入UE5
  • 科普关于msvcp140.dll文件是什么内容,解决msvcp140.dll丢失的修复方法
  • Reactor网络线程模型
  • 第十五届蓝桥杯模拟赛(第二期 C++)
  • prometheus基础,结合node_exporter监控节点
  • docker配置redis主从、哨兵集群
  • css新闻链接案例