看雪论坛
发新帖
7

[原创]自己写的虚拟机加密壳 MapoEngine v1.3 beta

demoscene 2017-7-4 02:15 1777

   

    从刚开始接触逆向、学习脱壳开始,就一直想写一个自己的壳,一个完全属于自己的壳,一个自己用得顺手,超越市面上其它壳的壳。

    我一直觉得,写出自己的软件,有一个自己的作品相比去逆向分析别人的软件能更有成就感,这一点我是从几年前写的 WSUnpacker 通用脱壳机 时开始感受到的,这是我人生中笫一个作品,那时刚接触编程和逆向不久,所有的知识都是靠看书、看论坛大牛的帖子自学的。


   能把自己学习到的知识应用起来写出自己的作品,这不仅能帮助自己巩固学到的知识,更是证明自己能力的一个重要途径,更为重要的是,可以按照自己的想法随意地去修改,去实现自己想要的功能,当自己的作品功能逐渐完善,相比其它同类软件做得要好的时候,这种成就感是前所未有的爽。


    WSUnpacker 是我的笫一个作品,还在上学时的作品,遗憾的是工作后没能坚持一直更新,但是自己一直在使用,因为相比其它同类软件,自己写的更符合自己的习惯。


    MapoEngine 是我的笫二个作品,笫一个版本12年就开始了,因为上班原因,一直断断续续的写了几年都没完成,其间还有过两次全部推倒重来的过程,浪费了不少时间。最近失业在家呆着有一段时间了,趁这段时间打算将它产品化,完成多年来一直想拥有一个自己的壳的愿望。


    MapoEngine是一个以代码保护为核心的保护产品,目前整体框架已基本完成,包括两大块功能:

    一、代码保护功能

    二、外壳保护功能


    其中以代码保护为核心,外壳保护功能为辅

   代码保护:

      以保护代码不被逆向为目的,包括:

        1、代码虚拟化

          MapoEngine 的核心功能,目前市面上最强的壳都是以代码虚拟化为核心,没有代码虚拟化功能的壳目前基本已经退出市场了

        2、代码混淆

          包括花指令生成和指令拆分两个部分,通过把原始指令拆分成功能相等的多条指令并生成大量的花指令穿插在其中,使得攻击者迷失在垃圾代码的海洋中

        3、代码乱序

          打乱指令的正常顺序,使用大量的跳转指令来连接各条指令,执行时指令会上窜下跳,起头让攻击者头晕目眩的效果

   外壳保护:

      外壳保护为辅助功能,包括:

        1、反调试

          反调试为壳的基本功能,为老一代保护壳的主要战场,目前虽然已经不是主流战场,但还是一个必要的功能

        2、反虚拟机(Vmware)

          反虚拟机,防止软件在vmware等虚拟机上运行

        3、导入表保护

          导入表保护,老一代保护壳的主要战场,但直到现在仍然是非常重要的一个保护点,目前的壳基本上都能做到全程序保护,运行时不还原原始导入表,能大大增强壳的强度

        4、反API断点,反API挂勾

          通过自加载系统DLL来防止攻击者对API下断点,防止对API进行Hook,强壳的必要功能

        5、代码压缩

          通过对代码进行压缩来缩小程序体积,必要功能


     目前支持 32位的 exe、dll、ocx的加密


     MapoEngine 目前基本上实现了一个当今主流强壳的基本框架,包括代码虚拟化、代码混淆、代码乱序、导入表全程序加密等核心功能,已经算是迈入了强壳的门槛.

     但这只算是搭起了框架,还有很多不完善的地方,如虚拟机引擎目前很多指令都没有模拟,指令拆分支持的指令还比较少等等,要实现超越vmp之类的壳还有很多路要走,但总算是有了一个框架,只要一点点完善,必定能超越其它壳。


     这是笫一个发布出来的版本,之前的版本曾用在参加过去年和今年的看雪CTF比赛,希望大家能多提点建议,估计BUG会不少,欢迎大家体验

     


     文件太大,附件传不上来,直接下载 http://www.mapoengine.com/Uploads/MapoEngine%20v1.3%20beta.zip

     网盘:https://pan.baidu.com/s/1bpF5o31

     

         

         

  

本主题帖已收到 5 次赞赏,累计¥135.00
最新回复 (29)
xJJuno 2017-7-4 07:42
2
前排膜拜
11
爱琴海 2017-7-4 07:59
3

支持楼主!保护选项似乎不起作用,关闭某些项目都没有变化,比如关闭检测虚拟机,结果出来还是检测虚拟机

wanttobeno 2017-7-4 08:58
4
WSUnpacker  挺好用的
2
pxhb 2017-7-4 09:19
5
下载不了。
StriveXjun 2017-7-4 09:21
6
下载试试看
7
demoscene 2017-7-4 10:17
7
爱琴海 支持楼主!保护选项似乎不起作用,关闭某些项目都没有变化,比如关闭检测虚拟机,结果出来还是检测虚拟机
确实是不起作用,其实除了区段名,其它的选项都是强制开的,代码的耦合性比较高,还没能做分离
7
demoscene 2017-7-4 10:18
8
pxhb 下载不了。
网站昨晚临时上线的,可能有些地区的dns还没生效,加了个网盘连接
https://pan.baidu.com/s/1bpF5o31
1
半盲道人 2017-7-4 11:30
9
厉害厉害,  膜一发
OllyICE64 2017-7-4 11:37
10

膜拜,什么时候把64位的也支持一下

zhukeding 2017-7-4 11:44
11
作者是我见过最有情怀的逆向工程师,在开发过程中我多次劝告不要再搞壳了,但是他最终还是做出来了,这样的情怀,佩服得五体投地。 
雪yaojun 2017-7-4 11:47
12
情怀码农,大力支持。。
dwty 2017-7-4 12:20
13
省了中午的盒饭钱,给大神打个赏,支持这样的情怀!
猪会被杀掉 2017-7-4 14:30
14

demoscene 网站昨晚临时上线的,可能有些地区的dns还没生效,加了个网盘连接 https://pan.baidu.com/s/1bpF5o31

曾经都是巡警的兄弟,估计LZ不认识我了,但我记得LZ,哈哈哈。@雪yaojun @zhukeding

无名小紫 2017-7-4 15:14
15
看雪果然大牛多,正能量也多,像楼主这样保护原创的做法值得肯定
rrrfff 2017-7-4 16:32
16
zhukeding 作者是我见过最有情怀的逆向工程师,在开发过程中我多次劝告不要再搞壳了,但是他最终还是做出来了,这样的情怀,佩服得五体投地。 [em_63][em_63]
这就是兴趣,  怎会为人所动
4
疯子 2017-7-4 17:36
17
膜拜大神
3
xiaohang 2017-7-5 16:00
18
不错,要写壳必须先会脱壳,仅仅是脱壳,就是一件不容易的事了,虽然还有待完善,但是还是要顶楼主一下
残空大师 2017-7-9 17:52
19
HandleOep  failed    delphi7
无名小紫 2017-7-11 17:50
20
膜拜大神
bestyyb 2017-7-14 15:38
21
兴趣有时真的可怕哦,支持楼主。
ahappyboy 2017-7-14 17:46
22
支持楼主,希望能够逐步成为一款国产强壳
ahappyboy 2017-7-14 17:59
23
测试了好几个程序,怎么都无法运行?
7
demoscene 2017-7-15 18:48
24
ahappyboy 测试了好几个程序,怎么都无法运行?
发上来我看一下
ahappyboy 2017-7-17 09:01
25
demoscene 发上来我看一下[em_65]
估计是64位系统的问题,我测试了易语言,VC6,DELPHI,.NET的几个程序都是无法运行
残空大师 6天前
26
ahappyboy 估计是64位系统的问题,我测试了易语言,VC6,DELPHI,.NET的几个程序都是无法运行[em_26]
win7  x64  delphi能运行  就是log.txt显示  [Info]Warning:  HandleOep  failed
7
demoscene 6天前
27

残空大师 win7 x64 delphi能运行 就是log.txt显示 [Info]Warning: HandleOep failed

.net现在是不支持的,其它的delphi,vb,vc,易语言 这些我们发布前都做了测试没问题的,最好能把程序发上来我定位下

7
demoscene 6天前
28
demoscene 这些我们发面前都做了测试没问题的,最好把程序发上来我定位下
抽取OEP是为了防止脱壳,防止在OEP直接下断点,能增加保护的强度
这个提示是抽取OEP失败了,加壳强度稍微降低了,但不影响加壳的其它功能,如果方便可以上传程序我分析一下
残空大师 6天前
29
demoscene 抽取OEP是为了防止脱壳,防止在OEP直接下断点,能增加保护的强度 这个提示是抽取OEP失败了,加壳强度稍微降低了,但不影响加壳的其它功能,如果方便可以上传程序我分析一下

好的


上传的附件:
7
demoscene 6天前
30
残空大师 好的
这个确实会抽取OEP失败,我定位一下,修复后在下个版本一起更新
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.016, SQL: 14 / 京ICP备10040895号-17