标题: [原创]VB做的小软件,给文本加密!
[打印本页]
作者: zhoushijay
时间: 2007-5-22 10:43
标题: [原创]VB做的小软件,给文本加密!
软件做的很简陋,特别是选择路径的时候,请大家多多包涵
本软件原理是把每个字符转为ASC码,然后+1再转回字符,反编译原理就是-1
加密成功后会在同目录下生成一个加密后的文件
文本加密程序
作者: eech
时间: 2007-5-22 11:12
我用它来加密AutoRun.exe的AUTORUN.INI文件,
可加密还原
但加密后,AutoRun.exe认不出来,唉,遗憾
作者: zhoushijay
时间: 2007-5-22 12:17
还原后里面的文字还是一样的吗?
作者: lianjiang2004
时间: 2007-5-22 13:44
对批处理没用吧?
作者: wudixin96
时间: 2007-5-22 14:04
既然只能加密文本文件。就可以把非文本文件过滤不显示
作者: benteng302
时间: 2007-5-22 17:27
哦,做得太糙了。不怎么好呀。
作者: baomaboy
时间: 2007-5-22 20:57
Quote: |
Originally posted by eech at 2007-5-22 11:12:
我用它来加密AutoRun.exe的AUTORUN.INI文件,
可加密还原
但加密后,AutoRun.exe认不出来,唉,遗憾 |
|
你把exe当文本来操作?你即使不做任何更改只是用记事本另存一个exe试试。
作者: zhoushijay
时间: 2007-5-23 11:42
baomaboy
不是,他的意思是把AUTORUN.INI文件来编译,按理说应该可以的
作者: baomaboy
时间: 2007-5-23 14:01
Quote: |
Originally posted by zhoushijay at 2007-5-23 11:42:
baomaboy
不是,他的意思是把AUTORUN.INI文件来编译,按理说应该可以的 |
|
哦 那就比较奇怪了。
作者: zhoushijay
时间: 2007-5-23 15:00
把EXE发上来就有人说这也简陋那也粗糙,我要是只发个加密的代码上来不知道还会不会这样说,还没叫你们买注册码呢 - .-
作者: eech
时间: 2007-5-29 18:29
Quote: |
Originally posted by baomaboy at 2007-5-22 20:57:
你把exe当文本来操作?你即使不做任何更改只是用记事本另存一个exe试试。 |
|
我只是加密INI文件
作者: 3742668
时间: 2007-5-29 23:00
vbs就够了:
Set oStream = CreateObject("Adodb.Stream")
With oStream
.Type = 1
.Mode = 3
.Open
End With
Set oIE=WScript.CreateObject("InternetExplorer.Application","Event_")
With oIE
.MenuBar = 0
.AddressBar = 0
.ToolBar = 0
.StatusBar = 0
.Width = 350
.Height = 100
.Resizable = 0
.Navigate "about:blank"
.Left=Fix((oIE.Document.ParentWindow.Screen.AvailWidth-oIE.Width) / 2)
.Top=Fix((oIE.Document.ParentWindow.Screen.AvailHeight-oIE.Height) / 2)
.Visible = 1
End With
With oIE.Document
.Write "<HTML><BODY Scroll=No>"
.Write "<Input type='File' ID='ccc' />"
.Write "<Button ID='aaa'>加密</Button>"
.Write "<Button ID='bbb'>解密</Button>"
.Write "</body></html>"
End With
oIE.Document.All.aaa.OnClick=GetRef("aaa")
oIE.Document.All.bbb.OnClick=GetRef("bbb")
Do
WScript.Sleep 200
Loop
Sub Event_OnQuit
oStream.Close
Set oIE = Nothing
Set oStream = Nothing
WScript.Quit
End Sub
'***********************************************************************************
'加密
'***********************************************************************************
Sub aaa
Dim str
str = oIE.Document.All.ccc.Value
oStream.LoadFromFile str
oStream.Position = 0
Hex2Bin Bin2StrInc(oStream.Read),str & ".bak"
oStream.Close
oStream.Open
End Sub
'***********************************************************************************
'解密
'***********************************************************************************
Sub bbb
Dim str
str = oIE.Document.All.ccc.Value
oStream.LoadFromFile str
oStream.Position = 0
Hex2Bin Bin2StrDec(oStream.Read),Mid(str,1,Len(str) - 4)
oStream.Close
oStream.Open
End Sub
'***********************************************************************************
'2进制转换为16进制字符串并+1
'***********************************************************************************
Function Bin2StrInc(bin)
Dim i,str
For i = 1 To Lenb(bin)
str = Ascb(Midb(bin,i,1))
Bin2StrInc = Bin2StrInc & Right("0" & Hex(str + 1),2)
Next
End Function
'***********************************************************************************
'2进制转换为16进制字符串并-1
'***********************************************************************************
Function Bin2StrDec(bin)
Dim i,str
For i = 1 To Lenb(bin)
str = Ascb(Midb(bin,i,1))
Bin2StrDec = Bin2StrDec & Right("0" & Hex(str - 1),2)
Next
End Function
'***********************************************************************************
'16进制字符串转换为2进制流
'***********************************************************************************
Sub Hex2Bin(strHex,strFileName)
Dim objStream,objXML,objElement
Set objStream = Createobject("Adodb.Stream")
Set objXML = Createobject("Microsoft.XMLDOM")
Set objElement = objXML.CreateElement("oTmpElement")
objElement.DataType = "bin.hex"
objElement.NodeTypedValue = strHex
With objStream
.Type = 1
.Mode = 3
.Open
.Write objElement.NodeTypedValue
.SaveToFile strFileName
End With
objStream.Close
Set objStream = Nothing
Set objXML = Nothing
Set objElement = Nothing
End Sub
只是简单的例子,并未做任何Bug检测。
作者: qzwqzw
时间: 2007-5-29 23:12
楼上真是好样的
楼主真是有胆的
就一个最简单的凯撒密码干吗还要用VB
想起当时用ANSI C写的这类程序真是太简洁了
其实用debug写个汇编脚本也十分简单
关键没有什么流啦、设备啦那些莫名其妙的
另外,凯撒密码虽然简单(依靠词频和字符特征可以很快确定密码原理)
但有时其变形也能收到意想不到的效果
作者: lxmxn
时间: 2007-5-29 23:15
qzwqzw 可否用debug写个汇编脚本出来让我们学习学习??
嘿嘿,正在学汇编。
作者: qzwqzw
时间: 2007-5-29 23:22
嘿嘿,我好像说过了
天太热,有些发昏,实在没心思写代码
不过我记下了
再过几天
如果没人发善心
只好由我做苦工了
作者: zh159
时间: 2007-5-30 01:59
好东西,正在找一些直接将16进制写成bin的VBS脚本
作者: zhoushijay
时间: 2007-5-30 11:21
本来是想用VBS的,不过正在学习VB嘛,所以就用VB了,就当作作业