吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3466|回复: 5

[C/C++] 保护壳_代码混淆_代码膨胀交流

[复制链接]
紫金御龙鳞 发表于 2019-3-16 14:26 | 显示全部楼层 |阅读模式

本帖最后由 紫金御龙鳞 于 2019-3-16 20:43 编辑

萌新近期准备写壳,如果有朋友们对壳感兴趣或者有深入研究,请私信附联系方式联系我

目前在写代码膨胀部分,目前的设定框架是由3块组成:

  • 代码块的拆分
  • 重定位数据的处理
  • 混淆地址管理器





一、代码块的拆分:

代码块拆分意义就是将一个代码块 根据 jcc  null  call 等指令拆分组成一个个区块

0.png

此后将代码区块按代码块拆分的1,2,3 这3块进行分别混淆,并拼接起来。

二、混淆地址管理器

在代码混淆过程中,你并不知道接下来的代码区块将会被膨胀到多大,所以必须要一个地址管理器来确定下一区块的大小。
首先要将地址分块,按照去除重定位(401000 处加载基址)的方式分配地址:

代码块1 :  address 0x40B016
代码块2 :  address  xxx
代码块3:address  xxx

使用地址管理器将代码块的地方分配并连接起来达到如下效果:由于不能上传动图我这里用图片地址
1.正常流程
https://qqadapt.qpic.cn/txdocpic/0/e05f837c44a0449dac5dd16357756a09/0
2.代码块块后流程
https://qqadapt.qpic.cn/txdocpic/0/afc02a9ce169079648763cbb2b1608ef/0
三、重定位数据的处理

有些mem操作数可能是全局变量,需要进行重定位的修复处理,这里我们就仿照vmp的重定位处理方式进行简单的重定位处理:

1.正常流程:
https://qqadapt.qpic.cn/txdocpic/0/66714e481e7f5bd10e7e632a00c042a4/0
xxx.gif (论坛不能上传gif 动图)

2.重定位流程处理:
https://qqadapt.qpic.cn/txdocpic/0/c4032b64c66c573e891995ce650eeeb1/0


框架说完了,那么接下来就要进入指令的处理,无论是模拟指令执行(vm)还是指令膨胀或者指令混淆,他们的本质都是对指令的等价替换。
例如对指令 push 0x123456   来处理:
这条指令是定长指令 push imm  主要是对0x123456 进行处理,那么我们可以首先拿到0x123456 这个立即数
对0x123456进行加法,异或 等操作
imm = ( 0x123456+0x111111 ) ^ 0x22222 = 0x216745
在混淆代码中表现出来:
push eax
mov eax,imm
xor eax,0x22222
sub eax,0x111111
push eax
mov eax,dword ptr[esp+0x4]
这样就完成了 对 push 0x123456 指令的混淆。

但如何处理指令是一个令人头疼的问题,比方说jz 这种指令 分为短跳和长跳
  jz  ->  74      跳转长度(1-bit)
  jz  ->  0F 84  跳转偏移(4-bit)
他可以向下跳转或者向上跳转,更不用说其他特殊指令 loop,jecxz,loopnz,loopz 等指令。

最后要说的是:作为一个萌新,有很多不懂的地方一些其他通用指令的模拟,和对壳的建议 希望可以找到几个朋友对我多多指点和交流



评分

参与人数 2HB +2 THX +1 收起 理由
消逝的过去 + 2
agan8888 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
dadinixiang 发表于 2019-4-9 17:16 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
3268992854 发表于 2019-7-19 18:32 | 显示全部楼层

支持楼主~~~~~666666666
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
3268992854 发表于 2019-7-19 18:33 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yang519 发表于 2020-2-22 03:10 | 显示全部楼层


吃水不忘打井人,给个评分懂感恩!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
cloud210 发表于 2021-11-9 20:43 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

1层
2层
3层
4层
5层
6层

免责声明

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

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


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

Powered by Discuz!

吾爱汇编 www.52hb.com

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