回 帖 发 新 帖 刷新版面

主题:[讨论]vb源代码加密工具(附上源码)

[url= http://bbs.pfan.cn/post-299536.html]有没有人有vb源代码加密工具?[/url]
没有回应,试着自己做了一个。虽然加密后的源代码直接运行时可能会发生错误,需要手工修正,但勉强能用,至少加密后的代码的可读性像想象中的那么坏了
欢迎提出宝贵的意见和建议。
PS:即使手工修正也有点麻烦啊,需要很好的耐心...大多数错误是“变量未定义”

PS:断断续续地修正了一些错误.
PS.:附上源码(09-05-08)

回复列表 (共13个回复)

沙发

没人理?

板凳

示例:
源代码
[code=c]Public Function getFiles(ByVal strFolder As String, ByVal ext As String) As String()
'* 功能:获得某个文件夹下的某个扩展名的所有文件
'* 输入:strFolder:文件夹路径
'*       ext:目标文件的扩展名,如:jpg,bmp等
'* 输出:返回符合条件的所有文件名
'* **********************************************
On Error Resume Next
Dim strFile() As String
Dim t As String
Dim i As Integer
t = Dir$(strFolder & "\*." & ext)
i = 0
While t <> ""
    ReDim Preserve strFile(i) As String
    strFile(i) = strFolder & "\" & t
    t = Dir
    i = i + 1
Wend
getFiles = strFile()
End Function[/code]

加密后:[code=c]
Public Function ljyKnqjx(ByVal xywKtqijw As String, ByVal jcy As String) As String()
'* 功能:获得某个文件夹下的某个扩展名的所有文件
'* 输入:xywKtqijw:文件夹路径
'*       jcy:目标文件的扩展名,如:oul,gru等
'* 输出:返回符合条件的所有文件名
'* **********************************************
On Error Resume Next
Dim xywKnqj() As String
Dim y As String
Dim n As Integer
y = Dir$(xywKtqijw & "\*." & jcy)
n = 0
While y <> ""
    ReDim Preserve xywKnqj(n) As String
    xywKnqj(n) = xywKtqijw & "\" & y
    y = Dir
    n = n + 1
Wend
ljyKnqjx = xywKnqj()
End Function[/code]

3 楼

看来大家都没这方面的需求...

4 楼

有没这么强烈。

5 楼

[quote]有没这么强烈。[/quote]
什么意思?

6 楼

不好意思。
“看来大家都没这方面的需求...”
有这需求,但不是很强烈。

7 楼

我在学习中。。。。

8 楼

支持一下!看一下好用不?

9 楼

后来才发现,原来这类似于所谓的“凯撒”加密算法

10 楼

呵呵.支持一下下...
不过我有个疑问呀~~~
这个打乱代码在VB中有什么用呢?毕竟最后给别人用的都是编译好的EXE执行体.他反汇编后都是ASM.
如果打乱原码.则没有人能理解原码.这样的原码就失去了可维护性.也不能重用.原码就是让自己或是其它人去读的.如果你不想让别人知道原码.只要保存到你自己电脑上就行了.如果你想公开源码.那你这样做了以后.你是想让别人看懂呢.?还是不想让别人看懂哦~~~?呵呵....

在.NET中就有这个打乱代码的东西.在.NET中这个叫代码混淆.并且.他也不是弄的源码.混淆源码没意义..NET混淆的是编译后的EXE或是DLL等做好的目标.因为.NET的IL运行时语言和托管运行机制.EXE并不是最后的指令.还要经过转换成IL中间语言..NET的反编译器会把未混淆过的EXE完整的还原成源码的状态.包括你源码中的变量名也会还原.所以.一个没经混淆过的.NET程序发行以后.别人就会知道你的算法.甚至知道你源码中使用的变量的名字.经过混淆器混淆过的EXE.反编译后的样子就像是你那种.把所有变量名函数名都变成没有意义的ABCD.你能看到的.只是A函数调用了B函数.B函数里又有一个C变量.具体这个函数与变量是做什么用的.谁也不知道.

所以说.你这个程序.不应该保护源码文件.你应该保护目标文件才能起到保护程序员劳动成果的效果.
从这个角度看.一个好的注册机制算法.一个程序的防破解算法.比这个"源代码混淆器"更有用处.

您说是吧.
呵呵...

我来回复

您尚未登录,请登录后再回复。点此登录或注册