android编译动态链接库时,缺省的编译选项下默认所有的符号表都会导出, 这导致别人很容易通过符号表获取动态库里的相关信息。

通过增加-fvisibility=hidden选项有时候能影藏部分符号表,如何根本上解决这个问题呢,本文介绍的“jni加密器”就能解决此功能。

1.安装jni加密器:sec.apk

下载链接:http://apk.91.com/Soft/Android/com.sn.sec-2.html

2. 把so拷贝到手机上, 用jni加密器打开它,如下图:

点击打开链接

3. 设置过滤条件

点击设置按钮, 对过滤条件进行设置

例如要对所有包含x264的符号进行加密,在”包含“里输入x264,如果需要保留所有包含java或者com的符号表, 则在”不包含“项填java  com。

4.加密

加密后符号表如下图:

现在所有包含x264的符号全部影藏起来了

使用 jni加密器对 安卓动态库符号表加密相关推荐

  1. 如何修改动态库符号表

    如何修改动态库符号表 一.ELF 文件和有关术语 Unix 系统的可执行文件和动态库文件是以 ELF 格式存放的.为使下面的叙述 清晰而没有伎义,先简要介绍一下 ELF 文件格式,并约定一些术语.关于 ...

  2. linux下动态库符号表,Linux动态库(.so)符号表

    最近编译libbinder.so发现system/lib/libbinder.so只有358K,但单独编译生成的obj/SHARED_LIBRARIES/libbinder_intermediates ...

  3. linux命令之查看动态库符号-nm

    在调用动态库的时候,经常出现由于动态库接口修改或者版本不匹配导致调用动态库找不到函数接口符号的情况. 原因可能有如下几种: 1.由于c++动态库编译没有加extern c导致函数编译时加了c++的前缀 ...

  4. linux动态库符号检查,写 Linux 动态库的最佳实践

    在定义全局变量和函数是,如果我们使用 static 关键字修饰他们,就只能够在同一个文件内引用他们:如果我们不使用 static 关键字,就可以在其他文件中引用他们. 然而,当实现动态库时,问题就变得 ...

  5. 查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

    假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calc ...

  6. java-native方法,通过JNI实现c的动态库的加载,实现软硬件之间的交互,跨平台的基础之一

    java跨平台是java一个具有十分优势的语言特性,为什么能跨平台?我想除了java的jvm本身在语言设计时,采用了字节码这样一种能运行在虚拟机上的指令占了50的功劳,还有50%来自基于C的对不同平台 ...

  7. android动态32位so,Android:动态库(.so)调试技巧

    一.反汇编定位crash ①查看crash log: 上图已标出crash发生在 libdeflicker_gpu.so 库中的 default_fail_func() 函数,但是 libdeflic ...

  8. GDB 源码分析系列文章五:动态库延迟断点实现机制

    系列文章: GDB 源码分析系列文章一:ptrace 系统调用和事件循环(Event Loop) GDB 源码分析系列文章二:gdb 主流程 Event Loop 事件处理逻辑详解 GDB 源码分析系 ...

  9. linux获取符号表调试

    我们在利用gdb调试时通常需要符号表才可以方便地打断点.查看详细变量.位置信息.为了获取对应的可执行文件/动态库的符号表,我们在编译时必须加上-g参数生成对应的符号信息. 通常,我们有两种方式获取对应 ...

最新文章

  1. LSGO:祝大家新年快乐!
  2. SpringBoot 之 普通类获取Spring容器中的bean
  3. python基础-模块导入
  4. 科大星云诗社动态20201123
  5. java操作excel文件之系列一:《读取excel文件的内容保存到数据库》
  6. SQL注入 1-3_基于post报错注入
  7. 数据下载工作笔记三:脚本
  8. angular change the url , prevent reloading
  9. python交换数组中的两个元素_[Python]华为面试题,交换两个数组的元素使之总和的差值最小。...
  10. vue中this.$nextTick()的使用---SpringCloud Alibaba_若依微服务框架改造_ElementUI---工作笔记017
  11. Ubuntu下将TinyOS移植到CC2430芯片
  12. 应届生产品助理/经理面试,应当多谈点什么?
  13. 网站优化都有哪些方法 网站优化技巧?
  14. matlab三个商人三个随从,商人们怎样安全过河 (附MATLAB程序完整)
  15. 什么是CPS?数字孪生技术在工业4.0该如何应用?ThingJS
  16. 【LeetCode】详解环形链表141. Linked List Cycle Given a linked list, determine if it has a cycle in it. To
  17. Scratch源码使用ArduinoConnector.ane与串口通信
  18. kali操作系统+信息搜集工具
  19. 【自然语言处理】【数据增强】PromDA:应用于低资源NLU任务的、基于prompt的数据增强方法
  20. Git补丁简单用法介绍(打补丁.diff 和 .patch 和 git apply、git am应用)

热门文章

  1. POS(Point Of Sales)
  2. 数据库大作业-学生信息管理系统
  3. 【大数据存储技术】第8章 其他NoSQL数据库
  4. 移动安全规范 — 3 -个人密码(PIN)传输规范
  5. 上海音乐学院官宣首位 AI 虚拟歌手入学,已发布首支个人单曲
  6. 公证电子签名:利用多方安全计算实现的去中心化签名服务
  7. Linux常用命令英文全称与中文解释
  8. 最前沿丨第一届通算一体网络理论研讨会
  9. 蒙特卡罗方法(三):铀235裂变中子谱(瓦特、maxwell)(近似修正、乘减)、方位角、质心系与实验室系散射角、中子弹散射后角度-能量分布
  10. 面试时如何做自我介绍