首页
社区
课程
招聘
VMProtect SDK+ASProtect SDK混合编程[代码演示]
发表于: 2006-1-12 17:59 44961

VMProtect SDK+ASProtect SDK混合编程[代码演示]

2006-1-12 17:59
44961
刚看到VMProtect这个东东的时候真的不知道如何去使用
就用了最笨的方法...OD跟踪~跟到保护的地方然后添加地址^_^~~

说正题好了
程序具体保护实例
VMProtect SDK+ASProtect SDK保护
工具:
VMProtect 1.12
ASProtect 1.33[Cr]
相关工具可以到www.pediy.com下载到

具体保护例子:
简单的字符串判断例子
内部使用
VMProtect SDK将验证代码保护起来
外部使用ASProtect保护
具体实例看代码

关于使用VMProtect的保护代码的一点说明
想简单的确定自身保护位置可以使用两种方法
以Delphi为例子
1.
在工程编译选项中:
Project->Options->Linker
选项卡中的Map File选项中~将单选框选择Detailed
然后在VMProtect添加保护代码中会看到函数地址
2.就是直接使用SDK代码
asm                              //使用VMProtect的SDK
  db $EB,$10,'VMProtect begin',0
end;

asm
  db $EB,$0E,'VMProtect end',0
end;
//---the end---
VMProtect使用说明[俄文版]
http://www.polytech.ural.ru/vmprotect.htm

附件中有全部代码和SDK:
program Test;
{$APPTYPE CONSOLE}
uses
  Windows;

function AGenKey:string;      //数组动态生成免得别别人从内存中看出来
const
  Aint : array[0..9] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
  Achr  : array[0..25] of Char = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
                                  'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
                                  'U', 'V', 'W', 'X', 'Y', 'Z');
begin
  {key=H8E8A4R8T}
  asm                              //使用VMProtect的SDK
    db $EB,$10,'VMProtect begin',0
  end;
  Result := Concat(Achr[7],Aint[8],Achr[4],Aint[8],Achr[0],Aint[4],Achr[17],Aint[8],Achr[19]);
  asm
    db $EB,$0E,'VMProtect end',0
  end;
end;

var
  StrSN:String;
begin
  Writeln('//////////////////////////////////////////');
  Writeln('//    VMProtect SDK+ASProtect SDK Example');
  Writeln('//    Coded By:Anskya');
  Writeln('//    Email:Anskya@Gmail.com');
  Writeln('//    Web:Www.Anskya.Net');
  Writeln('//////////////////////////////////////////');
  Writeln('');
  Writeln('');

  Write('输入注册码:');
  Readln(StrSN);

  {$I reg_crypt_begin.inc}         //使用ASProtect的SDK
  asm                              //使用VMProtect的SDK
    db $EB,$10,'VMProtect begin',0
  end;

  if StrSN=AGenKey then
  begin
    Writeln('恭喜注册成功');
  end else
  begin
    Writeln('^_^注册失败!');
  end;

  asm
    db $EB,$0E,'VMProtect end',0
  end;
  {$I reg_crypt_end.inc}

  Readln;
end.
附件:test.rar

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

收藏
免费 7
支持
分享
最新回复 (21)
雪    币: 615
活跃值: (1132)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
学习了,2合1
2006-1-12 19:35
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
小零 我怎么在f.s.t翻不到你这篇帖子呀
2006-1-12 20:03
0
雪    币: 450
活跃值: (552)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
4
学习学习再学习!
2006-1-12 20:07
0
雪    币: 255
活跃值: (266)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
5
vmprotect直接支持map文件
直接就可以找到想要加密的函数
2006-1-12 22:47
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
6
楼上教教我怎么用map文件吧
2006-1-12 23:07
0
雪    币: 1272
活跃值: (746)
能力值: ( LV13,RANK:810 )
在线值:
发帖
回帖
粉丝
7

1.
在工程编译选项中:
Project->Options->Linker
选项卡中的Map File选项中~将单选框选择Detailed
然后在VMProtect添加保护代码中会看到函数地址

上面说的很清楚了~^_^~
2006-1-12 23:22
0
雪    币: 333
活跃值: (116)
能力值: ( LV9,RANK:570 )
在线值:
发帖
回帖
粉丝
8
Anskya 兄,我也写了个对VMp的理解,发到
http://bbs.pediy.com/showthread.php?threadid=20324
了,不知理解对否?
2006-1-13 01:03
0
雪    币: 217
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
Www.Anskya.Net这个网站被金山毒霸列为恶意网址,禁止访问了。
2006-1-13 10:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
现在虚拟机大行其道啊。
2006-1-13 12:44
0
雪    币: 21
活跃值: (269)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
问个蠢问题,用asprotect加壳的时候,如果不在modes中选“use activation keys" 处理的时候,只显示
1 pair mark(s) for encryption found...
0 pair mark(s) proceed...

而选中了呢,倒是处理了……
但结果是只是简单的返回
而且还很有可能提示not a valid module
不明白怎么用这个sdk,楼主,能提示一下么?
2006-1-19 07:39
0
雪    币: 21
活跃值: (269)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
忽然看到楼主的发贴数,注册时间,想让楼主提示下,看来是没戏了.....
2006-1-19 07:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
虚拟机就是增加软件被破解的时间
2006-1-19 16:20
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
谢谢讲解!!
2009-1-17 16:55
0
雪    币: 166
活跃值: (1397)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
谢谢,不知道VB的可以吗
2009-3-15 15:28
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
我顶,好文。。。
2009-4-21 17:05
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
感谢楼主的分享,学习一下!!!
2009-8-16 22:19
0
雪    币: 170
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习学习再学习!
2009-8-28 22:10
0
雪    币: 237
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
markkkkkkkkkkkkkkk
2011-9-16 23:21
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
正解~
2013-3-7 11:37
0
雪    币: 1587
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
太强了 ,谢谢楼主。
2013-3-7 11:47
0
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
其实在强的软件和壳都有被破、被脱的那悲剧的一天~
2013-8-8 05:18
0
游客
登录 | 注册 方可回帖
返回
//