文档章节

Android NDK UPX加固

stormm
 stormm
发布于 2015/09/22 15:18
字数 217
阅读 2705
收藏 5

准备编译环境:

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.


© 著作权归作者所有

stormm
粉丝 32
博文 22
码字总数 14557
作品 0
昌平
运维
私信 提问
加载中

评论(11)

y
y702332688

引用来自“木头r”的评论

我用upx打了一个so,放到android 7.0上运行报错
loadLibrary:dlopen failed: "/data/app/××××××/lib/arm/lib××××××.so" has no section headers
有什么办法可以解决这个问题吗?
你解决了吗
解决了麻烦告知下谢谢
我qq1241799452
y
y702332688
同楼上android 7.0上运行报错
loadLibrary:dlopen failed: "/data/app/××××××/lib/arm/lib××××××.so" has no section headers
有什么办法可以解决这个问题吗?
木头r
木头r
我用upx打了一个so,放到android 7.0上运行报错
loadLibrary:dlopen failed: "/data/app/××××××/lib/arm/lib××××××.so" has no section headers
有什么办法可以解决这个问题吗?
此号作废
此号作废

引用来自“fallrain”的评论

引用来自“hsxf”的评论

你好如果so是别人的没有init函数,我怎么使用upx给它加壳么

http://my.oschina.net/rkd/blog/613958?fromerr=dXW6MA82

引用来自“hsxf”的评论

这个文章我看过了,它没有提到没有init段的时候怎么加壳啊,如果我有源码,我可以在源码上加_init函数,但是我没有源码,我怎么改upx的代码让它加壳呢?可以加你QQ深入交流么?谢谢0
加个init的section就行了,里面内容从别的so中拷贝个空的。这里面存的main之前要执行函数的指针
hsxf
hsxf

引用来自“fallrain”的评论

引用来自“hsxf”的评论

你好如果so是别人的没有init函数,我怎么使用upx给它加壳么

http://my.oschina.net/rkd/blog/613958?fromerr=dXW6MA82

引用来自“hsxf”的评论

这个文章我看过了,它没有提到没有init段的时候怎么加壳啊,如果我有源码,我可以在源码上加_init函数,但是我没有源码,我怎么改upx的代码让它加壳呢?可以加你QQ深入交流么?谢谢0

引用来自“fallrain”的评论

你QQ发下
你好我的QQ419248531
hsxf
hsxf
你好我的QQ419248531
stormm
stormm 博主

引用来自“fallrain”的评论

引用来自“hsxf”的评论

你好如果so是别人的没有init函数,我怎么使用upx给它加壳么

http://my.oschina.net/rkd/blog/613958?fromerr=dXW6MA82

引用来自“hsxf”的评论

这个文章我看过了,它没有提到没有init段的时候怎么加壳啊,如果我有源码,我可以在源码上加_init函数,但是我没有源码,我怎么改upx的代码让它加壳呢?可以加你QQ深入交流么?谢谢0
你QQ发下
hsxf
hsxf

引用来自“fallrain”的评论

引用来自“hsxf”的评论

你好如果so是别人的没有init函数,我怎么使用upx给它加壳么

http://my.oschina.net/rkd/blog/613958?fromerr=dXW6MA82
这个文章我看过了,它没有提到没有init段的时候怎么加壳啊,如果我有源码,我可以在源码上加_init函数,但是我没有源码,我怎么改upx的代码让它加壳呢?可以加你QQ深入交流么?谢谢0
hsxf
hsxf
这个文章我看过了,它没有提到没有init段的时候怎么加壳啊,如果我有源码,我可以在源码上加_init函数,但是我没有源码,我怎么改upx的代码让它加壳呢?可以加你QQ深入交流么?谢谢0
stormm
stormm 博主

引用来自“hsxf”的评论

你好如果so是别人的没有init函数,我怎么使用upx给它加壳么

http://my.oschina.net/rkd/blog/613958?fromerr=dXW6MA82
UPX为APK加壳中.init段相关问题

感谢UPX的维护者们.最近在读UPX源码,目的是为.so文件加壳玩. 在此之前阅读了大部分我能搜到的中文相关内容.很多语焉不详,所以综合了一下,编译出了Linux下的版本. 本文简单说明了以下内容: 为...

RenKaidi
2016/02/04
824
5
利用系统提供的崩溃日志解Native层Bug

对Android开发者来讲,尤其是使用NDK编写Native层代码的开发者,在编码过程中通常会碰到各种各样的问题。追踪问题的方式有很多,除了在代码中添加日志,来观察程序运行过程中产生的异常外,对...

shzwork
03/26
54
0
APK反逆向之二:四种基本加固方式

近些年来移动 APP 数量呈现爆炸式的增长,黑产也从原来的PC端移到了移动端,伴随而来的逆向攻击手段也越来越高明。本篇章主要介绍应用加固的最基础的四种方式:1.proguard 混淆 2.签名比对验...

凸一_一凸
09/29
0
0
网易易盾最新一代Java2c加固究竟有什么厉害之处?

导语:几个月前,网易易盾正式推出Java2c加固。它以独有的“静态保护”技术,使得应用程序中的代码出现“下沉”,达到不可逆的效果,兼顾“冷热启动时间”、“CPU”、 “内存占用率”、“体积...

网易云
02/25
0
0
ndk vlc播放器

最近开始研究Android版的vlc,但是有个问题已经让我郁闷很久不会解决,希望路过的高手能指导一下,问题如下 在编译ndk,使用ndk-build clean,效果如下: ####@ubuntugavin:~/vlc_programe/...

gavin_jin
2014/06/19
2.6K
3

没有更多内容

加载失败,请刷新页面

加载更多

python学习10.04:Python list列表使用技巧及注意事项

前面章节介绍了很多关于 list 列表的操作函数,细心的读者可能会发现,有很多操作函数的功能非常相似。例如,增加元素功能的函数有 append() 和 extend(),删除元素功能的有 clear()、 remo...

太空堡垒185
13分钟前
3
0
新手插画学习的方法?教你如何自学?

插画学习的方法?教你如何自学? 从小喜欢画一些漫画头像随笔画,但是其实没有基础。个人偏好小清新手绘风的插画(如下图),每每看到都希望自己能画出这样的作品。 我其实很想说画这种美术功...

huihuajiaocheng
18分钟前
4
0
面试题

1、实现clone();

gtandsn
29分钟前
4
0
CentOS 7 部署 tesseract-ocr

官方地址 github yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/ 若提示 yum-config-manager: command not found 执行以......

阿白
30分钟前
3
0
JAVA比较器中comparator的使用

一个专用的比较器Comparator Comparator是一个专用的比较器,当一个不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式...

daxiongdi
30分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部