准备编译环境:

1、zlib-1.2.8.tar.gz

2、ucl-1.03.tar.gz

3、lzma443.tar.bz2

4、upx-hg-d9e7cb4b5485.tar.gz  https://www.pysol.org:4443/hg/upx.hg

编译UPX设置环境变量:

export UPX_UCLDIR=/usr/local/android/upx/ucl-1.03

export UPX_ZLIBDIR=/usr/local/android/upx/zlib-1.2.8

export UPX_LZMADIR=/usr/local/android/upx/lzma

export UPX_LZMA_VERSION=0x443

export UPX_DIR=/usr/local/android/upx/upx-hg-d9e7cb4b5485

提示几点:

1、upx使用上面给的链接下载,这个版本修复了加固SO后无法在手机上运行的错误

2、编译时提示找不到libz库,需要在UPXDIR/src/MakeFile中添加

INCLUDES += -I$(UPX_ZLIBDIR)

LIBS += $(addprefix -L,$(dir $(wildcard $(UPX_ZLIBDIR)/libz$(libext))))

最后在UPX根目录使用make all编译,编译完成后会在src目录下生成upx.out

准备JNI环境

使用编译好的Upx.out将jni生成的.so文件加固后放入APK中即可在手机上运行起来。

加固语法:

$./upx.out -f -o libjin_upx.so libjni.so

.....

packed 1 file.

android+so+upx,Android NDK UPX加固相关推荐

  1. UPX编译及so加固

    UPX编译及so加固 来源 https://www.cnblogs.com/Reverser/p/5778042.html 参考 http://www.cnblogs.com/fishou/p/420 ...

  2. Android逆向之路---脱壳360加固原理解析

    前言 众所周知,上次说到了如何脱壳360加固,大致意思就是安装一个xposed插件,然后自动就会脱壳了,那么这个插件是如何工作的呢,本次重点说说这个. 上次说道了dumpDex脱壳360加固,其实先说 ...

  3. Android:JNI 与 NDK到底是什么

    前言 在Android开发中,使用 NDK开发的需求正逐渐增大 但很多人却搞不懂 JNI 与 NDK 到底是怎么回事 今天,我将先介绍JNI 与 NDK & 之间的区别,手把手进行 NDK的使 ...

  4. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

    文章目录 一.Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库 二.Visual Studio 中安装的 Android SDK 和 NDK 位置 三. ...

  5. Android之SDK、NDK、JNI和so文件

    Android之SDK.NDK.JNI和so文件 1.     SDK Android SDK(AndroidSoftware Development Kit),即Android软件开发工具包,And ...

  6. 在android studio中配置ndk开发环境

    环境:android studio 1.5 android-ndk-r10b 1.下载android-ndk-r10b,解压. 2.android studio创建新项目, 配置ndk环境 打开fil ...

  7. Android:JNI 与 NDK的区别(含实例教学)

    前言 在Android开发中,使用 NDK开发的需求正逐渐增大 但很多人却搞不懂 JNI 与 NDK 到底是怎么回事 今天,我将先介绍JNI 与 NDK & 之间的区别,手把手进行 NDK的使 ...

  8. Android之eclipse简单NDK入门

    之前写了一篇JNI的使用,这里其实也是JNI的使用,只不过现在的使用更加方便,不需要什么cygwin或者gnu去创建那边麻烦,直接eclipse完成所有操作. 先前的一篇:http://xuzhiwe ...

  9. ldflags android,Android 开发手记一 NDK编程实例

    Android开发手记一 ---- NDK编程实例 在Android上,应用程序的开发,大部分基于Java语言来实现.要使用c或是c++的程序或库,就需要使用NDK来实现.NDK是Native Dev ...

最新文章

  1. 后端缓存的23个关键关注点
  2. 练习 假设性思维 和Mapping from vision to reality
  3. 新上市Lighthouse专用芯片TS3633规格介绍
  4. Docker容器私有仓库——Harbor私有仓库的搭建
  5. 戴尔 成铭3980台式计算机,能文能武!戴尔成铭3980商用台式机评测
  6. 裂变实操:1个模型+4个步骤,教你打造流量的自循环系统
  7. Linux系统 proc self,linux – / proc / self / maps中的“— p”权限是什么意思?
  8. 批处理命令 / 延迟环境变量扩展
  9. boost::mp11::mp_cond相关用法的测试程序
  10. 终端查看命令有哪些功能命令_从命令式功能到纯粹功能式功能,再返回:Monads与范围内的延续...
  11. .NET Core SDK在Windows系统安装后出现Failed to load the hostfxr.dll等问题的解决方法
  12. Nginx代理服务器使用
  13. 极客大学架构师训练营 性能优化 进程 线程 锁 存储 分布式数据库 第14课 听课总结
  14. 重零开始学前端-基础(1) 什么是变量
  15. 读Doom启示录 有感
  16. leaflet报错:map container is already initialized
  17. 数据分析师是什么,深度解析数据分析师
  18. 冶金物理化学复习【6】吉布斯自由能的变化
  19. HTML入门学习线路图
  20. oracle报错ora-00054,ora-00054资源正忙的解决办法-Oracle

热门文章

  1. 泊松分布知识总结及例子
  2. PCB工程师不得不看:超级实用AD常用快捷键总结
  3. 2021-2025年中国移动设备管理软件行业市场供需与战略研究报告
  4. 计算机会考知识点贵州,贵州会考网
  5. 抚州市委宣传部一行莅临红谷滩区·高通中国·影创联合创新中心考察调研
  6. Qt 制作登录对话框
  7. hihocoder#1602 : 本质不同的回文子串的数量(manacher+Hash)
  8. 如何使用visual C++6.0查看MFC源码(.sbr浏览信息文件的功效)
  9. android 多点下载地址,多点app下载安装多点
  10. 如何在QQ空间中使用背景图片