首页
社区
课程
招聘
[发个安卓VMP加壳器ADVMP源码]求大神 一起研究安卓SO共享库 ELF文件的VMP加壳实现原理和代码
发表于: 2016-4-18 22:42 19986

[发个安卓VMP加壳器ADVMP源码]求大神 一起研究安卓SO共享库 ELF文件的VMP加壳实现原理和代码

2016-4-18 22:42
19986
求看雪移动安全的  ELF研究大神   ELF加壳器开发大神  ELF黑客调试大神   一起研究,众人拾柴火焰高。。。。。

小生目前追求移动ELF加壳的最高境界VMP加壳实现,故求虐。。。。。希望大神带队攻克难关。。。。上次小生研究 SO加壳器ELF代码级动态加密 被喷,最终成功也算是欣慰,这次研究ELF VMP 目测要被各位大神喷出翔。。。。

本帖 ELF版的vmp加壳器 ,回帖第一时间互动回复!不能实现的话,小生直播 吃翔

感谢看雪这个平台,感谢看雪上所有为移动安全付出辛苦的牛人,有了你们的付出将把移动安全推向高潮!

以下文章是小生之前保留的是别人写的,附件内有 安卓版的 VMP源码 。。。。。

  现在 发出来一起研究。。。

小生有个疑问就是本帖附件的 这个源码 能否用于安卓 ELF库文件 SO 上的 代码保护 VM? 如果只能保护 dex, 那这个 网上流传安卓VMP 没啥鸟用。。。 现在游戏代码都是写在 so文件里面的。。dex 都是java写的,逆向破解也没啥价值。。。。
小生是菜鸟,紧跟大神的脚步,请大神拍砖。。。


—————下面是以前保留的文章,不是小生写的,是庵收藏的———————————————————————

介绍

这个壳的核心——字节码解释器,它参考了dalvik虚拟机的解释器。不需要hook、注入。目前只支持算数运算指令。

我个人把dalviki指令分为这么几类:

算数运算指令。

引用类指令。如const-string、invoke-kind,这类指令需要引用dex的资源。
其他指令

解释执行算数运算指令较为简单。

引用类指令的实现需要解析dex文件的格式,把class、method、field、string等数据解析一遍,保证可以找到这些数据,那么引用类指令的解释执行就可以实现,这个是我准备要做的。

虽然现在还比较简陋,但是能运行了下面有源码放出

关于dalvik虚拟机如何解释执行opcode我有一些分析,有兴趣的可以瞅瞅~

dalvik虚拟机解释执行字节码
【分析】生成dalvik解释器原文件的脚本:gen-mterp.py
dalvik虚拟机启动过程(一共有3篇)

这个壳叫advmp,最初的名字是avmp,意思是Android VMP,但是想了想不敢称VMP啊,因为虽然代码中字节码实现了解释执行,但是也要结合dalvik,而且代码中借鉴了dalvik的源码,所以中间加了个D,向dalvik致敬。
例子
压缩包中有一个buwaishell.jar文件,可以用它来加壳,是不是有点激动,想试一试!
可惜你想多了,它目前只对一个APK有效,就是压缩包中的AndroidHelloWorld.apk文件,在命令行下使用命令"java -jar buwaishell.jar -s .\AndroidHelloWorld.apk -o .",然后就会生成一个AndroidHelloWorld.shelled.apk文件。
那么buwaishell.jar到底做了什么哪?它把APK中的一个方法变成了native,然后把这个方法的指令抽取了出来,这个指令很简单,就是一个加法指令,然后当APK运行的时候会在解释器里执行抽取出来的指令,然后得出正确的结果。

源码目录说明
AdvmpTest:测试用的项目。
base:Java项目。里面是一些工具类代码。
control-centre:Java项目。控制加固流程。
separator:Java项目。抽离方法指令,然后将抽离的指令按照自定义格式输出,并同时输出C文件。
template/jni:C代码。里面包含了解释器的代码。
ycformat:自定义的文件格式,用于保存抽取出来指令等数据。
—————文章结束,注意这个文章不是小生写的,小生只是菜鸟——————————

小生有个疑问就是这个源码 能否用于 ELF SO 上的 代码保护 VM? 如果只能保护 dex, 那这个 网上流传安卓VMP 没啥鸟用。。。 现在游戏代码都是写在 so文件里面的。。dex 都是java写的,破解也没啥价值。。。。
小弟是菜鸟不懂。。。


ADVMP-master.zip

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 1
支持
分享
最新回复 (50)
雪    币: 53
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这种东西都是商业用的,一般不会给你资料的。不过虚拟机原理网上资料很多,你可以多看下windows下虚拟机的实现。
2016-4-18 23:35
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
我已经发了,Zkeleven大大 我只是问问 附件上的 源码能加密  安卓 so共享库 elf文件吗?
2016-4-18 23:42
0
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持楼主 多分享点知识
2016-4-19 08:46
0
雪    币: 1556
活跃值: (840)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主加油啊,能不能用上就靠你了
2016-4-19 08:51
0
雪    币: 343
活跃值: (806)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
6
可以做。ELF VMP这方面已经有人做出来了
2016-4-19 09:55
0
雪    币: 219
活跃值: (52)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
你能把字体调小点吗,看着好难受...
2016-4-19 10:01
0
雪    币: 3
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不歪的这个源码是java层的vmp壳(的非常非常小部分实现),毕竟java层才是重打包的重灾区,so层可以用其他保护方案,比如混淆插花加密等等,而且这只是个poc,实现的功能很有限但参加价值巨大,提供了很好的思路,并不能用于so,当然你可以在此基础上做扩展,前提是先读懂advmp,然而不歪的代码并不好懂~

so 层的vmp据说早有实现,只是并未公开,兼容性是个大问题。

小女子只了解以上,欢迎大神来探讨(●'◡'●)
2016-4-19 10:10
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢指教,
这位女侠别来无恙,吓死小生了,女的做这个的是非常罕见的啊,何况还这么专业,小生自愧不如,您是看雪木兰姐!手游才是商业价值大,手游戏都是SO,不怕重新打包。。。。只怕SO被改被调试。。。
2016-4-19 10:23
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢 拼命三千大大光临!
2016-4-19 10:24
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
11
不可以,我还年轻,这是我的个性。。。。
2016-4-19 10:26
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
12
我准备直播吃翔。。。。。坐等大牛指导带队。
2016-4-19 10:28
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
MARK.网上看了下VMP的视频教程,讲原理的太少了。唉
2016-4-19 10:33
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
14
懂这东西估计能设计Arm芯片了。。。
2016-4-19 10:38
0
雪    币: 3
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
喔,我是学院派,不搞商业化
2016-4-19 11:23
0
雪    币: 76
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
会脱百度壳么 我有个apk ,美女能不能帮忙下
2016-4-19 11:47
0
雪    币: 34
活跃值: (45)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
Elf的vElf的vmp没意义。而且加那么多壳干嘛,这个世界没壳多美好?
2016-4-19 12:24
0
雪    币: 3040
活跃值: (1151)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
18
谁呀?哈哈,这么牛逼 ~~
2016-4-19 12:57
0
雪    币: 53
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
VMP原理其实很容易理解,网上也有很多VMP的资料,主要是实现起来很麻烦,需要的知识特别多,不过据我所知,已经有公司研究出来了,估计目前正在灰度测试。自己要写的话,难度有点大,还是建议先学习下windows下的vmp,毕竟资料很多,然后研究elf的。
2016-4-19 13:07
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
20
必须要有壳。。。。谢谢这位少侠回复。
2016-4-19 13:23
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
21
感谢大大回帖指教,低调研究VMp的公司猥琐了。。。。。。。要像我一样张扬起来才好。
2016-4-19 13:26
0
雪    币: 64
活跃值: (67)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
22
学院派?微信留下,约吗?
2016-4-19 15:30
0
雪    币: 343
活跃值: (806)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
23
不知道呢。可能是某某大神。
2016-4-19 16:07
0
雪    币: 3
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
wx一直留着
2016-4-19 17:22
0
雪    币: 144
活跃值: (224)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
25
加油

商业化很难,重要的是思路
2016-4-19 18:38
0
游客
登录 | 注册 方可回帖
返回
//