首页
社区
课程
招聘
[原创]动手写加密壳
发表于: 2015-7-15 18:46 27482

[原创]动手写加密壳

2015-7-15 18:46
27482
收藏
免费 4
支持
分享
最新回复 (37)
雪    币: 62
活跃值: (971)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
26
感谢楼主分享,学习了。
2015-7-22 08:44
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
加壳好帖子,学习。
2015-7-23 15:14
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
这个绝对是适合初学者的东西 不错收下了
2015-7-25 07:30
0
雪    币: 1258
活跃值: (1434)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
作者 PE.h 文件中
PIMAGE_SECTION_HEADER CPeFile::AddSection(char *SectionName,DWORD SectionSize)
...
..
        //更新数据
        _pNthead->OptionalHeader.SizeOfImage = PEAlign(psec[LastSec].VirtualAddress+psec[LastSec].Misc.VirtualSize,dwSecAlig);
  这一句 确定是 + ?  不是  += ?
作者写的还行,不知道谁试过,我没运行成功。
2015-8-9 17:27
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
30
SizeOfImage 好多资料里面都写的是 最后一个节表虚拟地址+节表长度。
AddSection参考的是 玩命的代码。
2015-8-9 18:24
0
雪    币: 1258
活跃值: (1434)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
_pNthead->OptionalHeader.SizeOfImage += 新加的节块Raw大小,

  按理说 最后一个节块(在没加之前)+ 新加的节表大小(长度)。
  
  关键 这 SizeOfImage 是映像大小 ,所以也能这么算。

谢楼主。
2015-8-9 23:42
0
雪    币: 200
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
学习一下先
2015-8-14 17:27
0
雪    币: 89
活跃值: (214)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
感觉无比的强大啊
2015-8-26 01:08
0
雪    币: 2359
活跃值: (288)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
这个太好了,我正好要用一下。
2015-8-30 14:31
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
谢谢分享
2016-3-27 20:39
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
vc6报错呀,unresolved external symbol _main
2016-5-2 03:19
0
雪    币: 1431
活跃值: (4418)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
37
楼主可以参考下这样下比较通用kernel32
                                       xor                ecx,  ecx
                       mov                esi,  fs:[30h]                              //  Ptr32  _PEB
                       mov                esi,  [esi  +  0ch]                        //  Ptr32  _PEB_LDR_DATA
                       mov                esi,  [esi  +  1ch]                        //  Get  InInitializationOrderModuleList.Flink
               next_module  :
                       mov                eax,  [esi  +  8h]                          //  eax  =  kernel32.DLL地址
                       mov                edi,  [esi  +  20h]                        //  BaseDllName
                       mov                esi,  [esi]                                    //  下一个模块
                       cmp[edi  +  12  *  2],  cx                              //  模块结尾是0
                       jne                next_module                                  //继续循环
                       mov          dwKerenl32Addr,eax                    //找到的地址
2017-4-22 14:21
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
无名大人!好激动呀!
2017-7-22 09:00
0
游客
登录 | 注册 方可回帖
返回
//