吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 22077|回复: 342

[其他图文] 芒果教你写壳之代码虚拟化(一)

  [复制链接]
ssjjdns 发表于 2021-2-10 15:57 | 显示全部楼层 |阅读模式

{:5_116:}

大家好。我是芒果,今天给大家带来一个代码虚拟化技术的入门。
所谓代码虚拟化,就是反逆向的一种技术,将正常的汇编代码将被替换成只有壳可以识别的字节码。
然后移交到壳的虚拟机来解析执行。由于壳内部解析指令的过程比较复杂。如果被分析的时间成本比较高,也比较烧脑、
从而达到程序关键算法和逻辑难以逆向的目的。

这一期我们来自己动手来创造一个属于自己的代码虚拟机,自己写一款代码虚拟化的壳!!!!
由于教程嘛。我们就先实现让自己写的壳VM掉 push ebp这个指令。
后面大家可以自己发挥,来支持VM更多的指令(丰富虚拟机的指令集)。
毕竟我也是小菜,如果有写的不对的地方还请指正。

我们这只是一个入门教程嘛。所以全程不涉及高级语言的代码实现,只是一些简单的汇编和lordpe的操作,顺便讲解一下原理。
【PS:如果后面我有时间,将出一期教程,使用易语言来实现写壳】
1.下面是普通的易语言程序,od载入,默认是断到oep这里,我选中了一个push ebp 指令。今天我们这个简单教程就先让自己的壳来VM掉这个push ebp指令
QQ截图20210210162044.png


2.给原来程序添加壳代码段。我设计了两个区段,一个是vmcode,一个是vmdata,vmcode是主要存放虚拟机代码;vmdata主要是存放虚拟机要解析的指令集(就是自定义的虚拟机字节码存放的地方)【加区段的话,可以使用lordpe来加区段】
注意:区段属性的问题:vmdata区段一定是C0000040(表示可读写) vmcode区段属性一定是60000020(表示可执行代码)
QQ截图20210210162314.png
然后我们来划分一下vmdata区段内存空间,由于x86下面8个常见寄存器(EAX,EBX,ECX....)每个是8字节的长度,所以我们这个vmdata的前64个字节就分别来存放这8个寄存器的值。
QQ截图20210210162948.png
然后是自定义字节码。我随便定义了个,FF EE EE EE EE EE FF这个8个字节代表指令push ebp。(FFEEEEEEEEEEEEFF就属于我们自定义的字节码啦,od是不能解析的,只有我们的虚拟机知道他是push ebp)然后我们把它放到哪里呢?就放到8个虚拟机寄存器的后面吧!【其实我还耍了个小聪明:FFEEEEEEEEEEEEFF无论正着读还是倒着读都一样,就不用考虑取出的时候高位还是低位的问题了。】
QQ图片20210210164926.png
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 104威望 +1 HB +203 THX +41 收起 理由
NOP + 2
一起学 + 1
xiaoxixpj + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
longge188 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
我是谁呀 + 1
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
459121520 + 1
爱学习的老冯头 + 1
消逝的过去 + 1
WolfKing + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
行行行行行行 + 1
仙仙猫 + 1
sjtkxy + 1
娄胖胖 + 1
纯英文 + 1
极速菜 + 1
望海巡山 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
车太震 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
智慧的猪猪 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
旧年 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
萌幻之乡 + 1 这是堆式机,并且这种写法只适合单线程玩
||| + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
zyyujq + 1 + 1
霜冻之月 + 1
pygicx + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
imicavin + 1 + 1 [吾爱汇编论坛52HB.COM]-学逆向防逆向,知进攻懂防守!
北极星 + 1
微熊猫 + 2
luo271338515 + 1
泥猴啊 + 1
陈沦 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
Wayne + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
侠客行 + 1
凌夏随缘 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
皮娜十 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
秋名山放牛娃 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
fjgh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
DeeDarrick + 1 [吾爱汇编论坛 52HB.COM]- 学破解防破解,知进攻懂防守!
三月十六 + 1
baobeitom + 2 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
小老头 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
MoeRay + 1
hotD + 2 + 1
山野屌丝 + 1
让IP飘一会 + 2 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
playboy + 2
SmallEXpel + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yuhan520 发表于 2021-2-10 22:18 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
VipDongle 发表于 2021-2-10 22:25 | 显示全部楼层

学习下,估计难度大呀
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
陈冠希 发表于 2021-2-10 22:43 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zfx199879 发表于 2021-2-10 22:51 | 显示全部楼层

学习一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
10069685351 发表于 2021-2-10 22:56 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pjm123456 发表于 2021-2-10 23:08 | 显示全部楼层

谢谢分享教学
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pipi9 发表于 2021-2-10 23:20 | 显示全部楼层

谢谢分享教学
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
1421509617 发表于 2021-2-11 00:01 | 显示全部楼层

吃水不忘打井人
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
莣孒嬡沵芣蓜 发表于 2021-2-11 00:08 | 显示全部楼层

感谢楼主分享我拿走了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表