首页
社区
课程
招聘
[原创]一次简单的手动加壳
发表于: 2015-12-18 21:09 24052

[原创]一次简单的手动加壳

2015-12-18 21:09
24052
记得来15PB的第一堂课 任老师就告诉我们说要写博客之类的,就算写个:
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
  printf("hello world!");
  return 0;
}

世界上人那么多 可能就会有一个因为你的文章而受到启发从而信心大增。
然后我开始写了,坚持到现在。
班上其他同学近期也开始写了 嘿嘿 嗯 他们都比我厉害。

-------------------------------------------
准备工具:010editor 、 od 、 vs2012  、 lordpe

自己用VS任意编个程序 以:
#include "stdafx.h"
#include "windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
  MessageBox(0,L"Hello World!",L"bbs,pediy.com",MB_OK);
  return 0;
}

为例。

将编译好的程序拖入lordpe  点击“区段”-右键“添加区段”:


点击新添加的区段-右键“编辑区段” 更改:

  • 虚拟大小:00000200
  • 物理大小:00000200


保存-确定。

将文件拖入010 菜单栏点击“编辑”-“覆盖插入”-“插入字节” 由上图新添加区段得

  • 起始地址:7A00
  • 大小:200


ctrl+s 保存。

我们拖入od 点击E(可执行模块) 得到基址:00B30000


可求得新添加区段首地址为00B4C000  CTRL+G -回车来到此地址处 空格修改:
jmp 00B41078(入口点)


保存命名为:“mesgbox1.exe”。

将新保存的文件拖入lordpe 更改入口点为1c000

保存-确定。

为了确定是否修改成功请点击程序是否可以正常运行:


增加代码段“可写入”属性:


拖入010加密:
选中代码段-十六进制的操作(加减号 如图)-二进制xor:



ctrl+s保存

修改后:


防止再次基址重定位 修改dll特征:


拖入OD“解密”:
0041C000 >  60               pushad                                   ; 保存寄存器
0041C001    B9 003C0000      mov ecx,0x3C00                           ; 循环次数
0041C006    BB 00100100      mov ebx,0x11000                          ; 代码段起始位置
0041C00B    BA 00004000      mov edx,mesgbox1.00400000
0041C010    03DA             add ebx,edx
0041C012    8033 0F          xor byte ptr ds:[ebx],0xF
0041C015    43               inc ebx
0041C016  ^ E0 FA            loopdne short mesgbox1.0041C012
0041C018    61               popad                                    ; 恢复寄存器
0041C019  - E9 5A50FFFF      jmp mesgbox1.00411078                    ; 跳转至入口点

重命名为“mesgbox2.exe”。

点击查看是否可以运行(PS:没成功继续修改 我这里已成功 )。

拖入OD:


完。

-----------------
附件:
附件.rar

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 9
支持
分享
最新回复 (22)
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享,学习一下。
2015-12-18 23:56
0
雪    币: 180
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢分享
收藏了细细研读
2015-12-19 15:01
0
雪    币: 180
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
求楼主博客地址
2015-12-19 15:42
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习一下  谢谢分享
2015-12-19 16:55
0
雪    币: 191
活跃值: (848)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
6
学习学习
2015-12-19 17:42
0
雪    币: 216
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
楼主发的文章都很不错哦~
2015-12-22 09:33
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
来个平安夜 赞
2015-12-24 23:22
0
雪    币: 55
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
世界上人那么多 可能就会有一个因为你的文章而受到启发从而信心大增。
大神请留步,留下博客再走
2015-12-26 08:53
0
雪    币: 1176
活跃值: (1234)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
10
看雪就是了
2015-12-26 11:38
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错的手动加壳
2015-12-26 21:17
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我有几个问题想问。第一,壳究竟是什么东西啊。第二,你这样做,那别人拉到OD下,不是一样可以看到你把那个地址的数据XOR了吗?不是一样知道你在做什么了吗?
2015-12-27 01:18
0
雪    币: 3872
活跃值: (1081)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
10几年前的异或加密代码方式了,其实用不着010,有OD就够了。
2015-12-27 02:56
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
还有,别人为什么要把壳脱了?像你这个不脱壳,程序一样可以运行啊,为什么非要把壳脱了?脱这个壳是为了什么?
2015-12-27 10:08
0
雪    币: 1176
活跃值: (1234)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
15
防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,
保护你的程序数据的完整性。不被修改或者破解。(有些木马和病毒利用加壳伪装成正常程序)
2015-12-28 09:54
0
雪    币: 201
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最近一直在研究壳,感谢楼主的分享下载下来慢慢看
2016-1-4 09:39
0
雪    币: 224
活跃值: (109)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
多谢分享,学习学习
2016-1-10 20:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
收藏学习一下
2016-1-11 11:51
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
好文章,对于不知道什么是壳的人, 一看你这个例子就明白了。教学思路和方法非常好。感谢分享。
2016-2-29 00:14
0
雪    币: 4634
活跃值: (936)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
20
【  可求得新添加区段首地址为00B4C000    】,lz的00B4C000  这个地址是怎么求出来的??
2017-5-8 14:12
0
雪    币: 4634
活跃值: (936)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
21
哦,懂了
基址:00B30000  +  虚拟地址  1C000
2017-5-8 14:33
0
雪    币: 548
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
mark
2023-3-15 19:59
0
雪    币: 28
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
学习学习
2023-4-10 10:04
0
游客
登录 | 注册 方可回帖
返回
//