首页
社区
课程
招聘
[求助]关于VMProtect加密码delphi程序的问题
发表于: 2009-9-4 13:25 4642

[求助]关于VMProtect加密码delphi程序的问题

2009-9-4 13:25
4642
请问一下。正确的加标志位。是像这样吗?

      Function ConnectServer:TIdTCPClient;
              var  IdTCPClient: TIdTCPClient;
        begin

///这里
             asm
  db $EB,$10,'VMProtect begin',0
end;

         IdTCPClient:= TIdTCPClient.Create (nil);
         IDTcpClient. Port :=DefPort;
         IDTcpClient.  Host :=DefHost;
         try
                         IdTCPClient.Connect;
                         result:= IdTCPClient  ;
         except
            idTcpClient.Destroy ;
            result:=nil;
         end;
//这里
             asm
  db $EB,$10,'VMProtect end',0
end;

        end;

为什么我这样加了以后。我的程序可以编译过去。但是我无法实现这个过程的功能。一调用这个过程程序就自动关闭了。

还有一个小问题。最近在学王爽的汇编。其实有一道题目。

cs=2000,ip=0;

jmp 0ff0:0100
后。cs就变成1000了。为什么不是ff00?请了解一点的指教下。谢谢。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你是要对程序加VMProtect壳还是做什么?
加壳的话一般是对exe进行的,而且楼主只是定义了一个VMProtect字符串,能有什么作用,难道这个字符串还会自己释放魔法吗

jmp 0ff0:0100   
实际为 jmp 10f0 在段1000中
2009-9-4 14:28
0
雪    币: 124
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是这样.我看介绍.
   VMProtect 在加delphi程序时.只要我在程序的过程中加上这些标志.  
   VMP会自动找出这些标志放到虚拟机.
   但是我照DEMO上做的.总是有问题.
2009-9-4 15:21
0
雪    币: 164
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
标识写错了!

asm
  db $EB,$10,'VMProtect begin',0
end;

asm
  db $EB,$0E,'VMProtect end',0
end;

注意下面这个是 $0E,也就是字符串'VMProtect end'的长度+1
这句话的作用相当于下面
jmp aa
'标识串'
aa:
2009-9-4 16:04
0
雪    币: 124
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢。的确是这样。困扰了我好久。谢谢了。
2009-9-4 18:57
0
雪    币: 156
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
额..我一般是用的Vc...呵呵...没注意D的标识符
2009-9-4 20:08
0
游客
登录 | 注册 方可回帖
返回
//