乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: havano

如何防止VB(a)应用程序被劫持?

[复制链接]

14

主题

78

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
134
发表于 2006-4-28 09:33:40 | 显示全部楼层
我使用此线程中提到的加密变体编译为dll,并使用其他功能密钥对程序的操作进行加密;所有字符串信息都加密了,我的意思是全部。拥有一个返回用户是否可以继续的标志的加密模块是不够的——他们所要做的就是弄清楚调用了哪个函数,编写他们自己的具有相同函数签名的dll,让所说的函数返回真/什么和噗,他们可以访问。
这对我很有帮助很多年了。
回复

使用道具 举报

14

主题

78

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
134
发表于 2006-4-29 19:09:45 | 显示全部楼层
谢谢MP,我想在用INI文件陪伴应用程序的行中,其中包含授权Autocad用户的加密序列号。主应用程序读取它调用的 Autocad 对象的序列号,并将其与加密的序列号进行核对。我在互联网上找到了一个免费的河豚en-/decryption dll,我可以使用:blofsh10.dll
  1. 'This gets the current Autocad serial number
  2. Dim Serialnumber As String
  3. Serialnumber = ThisDrawing.GetVariable("_PKSER")

为了防止人们用规避检查的dll替换dll,INI文件可以包含一个控制字符串,该字符串必须使用主应用程序中的硬编码密码(解密密钥)正确解密。
回复

使用道具 举报

15

主题

109

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
169
发表于 2006-5-4 21:04:02 | 显示全部楼层

我赞成!
我在这里放了一个制作dll的vb项目示例:
http://www . website toolbox . com/tool/post/mill lister/vpost?id=1071084
将您的代码放在那里,阅读说明,然后就完成了。
如有任何问题,请随时打电话给我。
戴夫
回复

使用道具 举报

12

主题

150

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
198
发表于 2006-5-22 00:28:31 | 显示全部楼层
我不介意对密钥/密码字符串使用简单的XOR加密。但是,如何将生成的字符串保持在0-9,A-Z,a-z等范围内,并能够准确地对其进行解密?
一个示例代码片段会很好!
回复

使用道具 举报

14

主题

78

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
134
发表于 2006-5-22 01:41:14 | 显示全部楼层

简单且快速完成-
  1. Function Encrypt(ByVal text As String, _
  2.                  ByVal mask As String) _
  3.                  As String
  4.     Dim i           As Long, _
  5.         j           As Long
  6.    
  7.     Dim textBytes() As Byte, _
  8.         maskBytes() As Byte
  9.         
  10.     Dim lbMask      As Long, _
  11.         ubMask      As Long
  12.         
  13.     Dim xorCode     As Integer
  14.     textBytes = text
  15.     maskBytes = mask
  16.    
  17.     lbMask = LBound(maskBytes)
  18.     ubMask = UBound(maskBytes)
  19.    
  20.     j = LBound(maskBytes)
  21.    
  22.     For i = LBound(textBytes) To UBound(textBytes) Step 2
  23.         xorCode = textBytes(i) Xor maskBytes(j)
  24.         ''  modify this to suit
  25.         If  32  34 Then textBytes(i) = xorCode
  26.         j = j + 2: If ubMask < j Then j = lbMask
  27.     Next i
  28.    
  29.     Encrypt = textBytes
  30. End Function

在VB的即时窗口中测试-
?encrypt(" http://www . the swamp . org "," 123456")
YFGD://EDC。BYW@CT[A.\FR
?加密(" YFGD://EDC。BYW@CT[A.\FR "," 123456 ")
http://www . the swamp . org
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 15:43 , Processed in 0.931725 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表