中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
<<   [1] [2]  >>   >
作者:
标题: Reg2VBS→vbs版 上一主题 | 下一主题
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『楼 主』:  Reg2VBS→vbs版

To wert123 reg2vbs.rar




2007-6-1 12:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 2 楼』:  

辛苦了啊,baomaboy大师又一个vbs版的好东东 不过最好把源码还原出来吧 reg转换生成的vbs也能还原的更清楚些吗


2007-6-1 14:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 3 楼』:  

让我猜猜你的原理: 应该是把里面的注册表路径提取出来放入变量 a 然后再把这个reg文件改写成, ws.write a 名字再换成*.VBS 是这样的吗?




你好,脚本专家! <a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-6-1 14:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 4 楼』:  

Originally posted by wert123 at 2007-6-1 14:01: 辛苦了啊,baomaboy大师又一个vbs版的好东东 不过最好把源码还原出来吧 reg转换生成的vbs也能还原的更清楚些吗
算不得什么好东东,只是简单得文本读取创建而已,并且没什么实用价值,如果不是因为你不喜欢reg只喜欢vbs这个原因此东东都没必要存在,另外你说reg转vbs后加密了,其实没有,从那个转换后得文件完全可以推出我的源码,这也是不加密转换后代码得原因。 源码加密还是老原因,模版、无用代码、每次都要引起口舌。。。。




2007-6-1 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 5 楼』:  

Originally posted by zhoushijay at 2007-6-1 14:09: 让我猜猜你的原理: 应该是把里面的注册表路径提取出来放入变量 a 然后再把这个reg文件改写成, ws.write a 名字再换成*.VBS 是这样的吗?
基本正确




2007-6-1 14:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 6 楼』:  

O 也




你好,脚本专家! <a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-6-1 14:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 7 楼』:  

源码加密还是老原因,老原因是什么 麻烦把源码贴出来吧,我不会推,也不会转 我O 也不了啊


2007-6-1 15:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 8 楼』:  

得,看下面的吧还是。。。。。。 [ Last edited by baomaboy on 2007-6-1 at 04:12 PM ]




2007-6-1 15:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:  

Rem EnCode_4.0 By baomaboy 'reg2vbs.vbs by baomaboy Dim WshSHell,FSO on Error Resume Next Set WshSHell = WScript.CreateObject("WScript.Shell") Set FSO = CreateObject("Scripting.FileSystemObject") Set WinVer = WshSHell.Environment("Process") Set Args = WScript.Arguments CloseTime = 5 FileName = WScript.ScriptName FileFullName = WScript.ScriptFullName FilePath = FSO.GetParentFolderName(FileFullName) InsPath = FSO.GetSpecialFolder(1) InsFullName = FSO.BuildPath(InsPathFileName) LnkPathNT = WshSHell.SpecialFolders(2) LnkPath9X = WshSHell.SpecialFolders(14) LnkPathAll = WshSHell.SpecialFolders("SendTo") OtherFileName = "Manage_New.txt" OtherFilePath = FSO.GetSpecialFolder(2) TemFileName = "无标题":TemFilePath = FSO.GetSpecialFolder(2) Copyright = "玲珑科技" Email = "Email:fty1995@163.com" InsTitle = "Reg2Vbsbybaomaboy" RegPath1 = "HKEY_CLASSES_ROOT\regfile\shell\RegToVbs\" RegValue1 = "转换为VBS脚本文件" RegForm1 = "REG_SZ" RegPath2 = "HKEY_CLASSES_ROOT\regfile\shell\RegToVbs\command\" RegValue2 = "wscript.exe""""%L""" RegForm2 = "REG_SZ" If FileFullName <> InsFullName Then intAnswer = MsgBox("【是】将“" + InsAnswer + "”加入到右键菜单," & Chr(10) & Chr(10) & "【否】将“" + InsAnswer + "”从右键菜单删除。",vbQuestion + vbYesNoCancel,"安装-" + InsTitle + "-" + Copyright) If intAnswer = vbYes Then WshSHell.RegWrite RegPath1,RegValue1,RegForm1 WshSHell.RegWriteRegPath2,RegValue2,RegForm2 FSO.GetFile(FileFullName).Copy(InsFullName) WshSHell.popup "添加脚本文件:" + vbLf + InsFullName + vbLf + "添加注册表项:" + _ Chr(34) + RegPath1 + Chr(34) + vbLf & CloseTime & " 秒钟后本窗口将自动关闭!" + vbLf + vbLf + _ " Copyright(C)" + Copyright + " " & QQ & " " + Email,CloseTime,"安装成功 - " + InsTitle + " - " + Copyright, 0 + 64 End If If IntAnswer = vbNo Then WshSHell.RegDelete RegPath2 WshSHell.RegDelete RegPath1 FSO.DeleteFile InsFullName WshSHell.popup "删除脚本文件:" + vbLf + InsFullName + vbLf + "删除注册表项:" + _ Chr(34) + RegPath1 + Chr(34) + vbLf & CloseTime & " 秒钟后本窗口将自动关闭!" + vbLf + vbLf + _ " Copyright(C)" + Copyright + " " & QQ & " " + Email,CloseTime,"卸载成功 - " + InsTitle + " - " + Copyright, 0 + 64 End If If intAnswer = vbCancel Then End If Else If Args.count = 0 Then wscript.quit Set ReadFile = FSO.OpenTextFile(Args(0),1,False, - 1) ReadAllText = ReadFile.ReadAll ReadFile.Close If Mid(ReadAllText,1,3) <> "Win" And Mid(ReadAllText,1,3) <> "REG" Then Set ReadFile = FSO.OpenTextFile(Args(0),1) ReadAllText = ReadFile.ReadAll ReadFile.Close End If For i = 1 To Len(ReadAllText) TempNum = Asc(Mid(ReadAllText,i,1)) If TempNum = 34 Then TempNum = 18 ElseIf TempNum = 13 Then TempNum = 28 ElseIf TempNum = 10 Then TempNum = 29 End If ThisText1 = ThisText1 & Chr(TempNum) Next Set WriteFile = FSO.OpenTextFile(Args(0) & ".VBS",2,True) WriteFile.WriteLine("On Error Resume Next:Dim WshSHell,FSO,Reg2Vbs:Set WshSHell = WScript.CreateObject(""WScript.Shell""):Set FSO = CreateObject(""Scripting.FileSystemObject""):Reg2Vbs=""" & ThisText1 & """") WriteFile.WriteLine("Execute(""For i=1 To Len(Reg2Vbs)""&vbCrLf&""TempNum = Asc(Mid(Reg2Vbs,i,1))""&vbCrLf&""If TempNum = 28 Then""&vbCrLf&""TempNum = 13""&vbCrLf&""ElseIf TempNum = 29 Then""&vbCrLf&""TempNum = 10""&vbCrLf&""elseif TempNum=18 Then""&vbCrLf&""TempNum = 34""&vbCrLf&""End If""&vbCrLf&""ThisText2 = ThisText2 & chr(TempNum)""&vbCrLf&""Next"")") WriteFile.WriteLine("Set RegFile = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(2),""Temp.reg""),2,True):RegFile.WriteLine(ThisText2):RegFile.Close:WshSHell.Run(""regedit /s ""&FSO.BuildPath(FSO.GetSpecialFolder(2),""Temp.reg"")):WScript.Sleep 500:FSO.DeleteFile FSO.BuildPath(FSO.GetSpecialFolder(2),""Temp.reg"")") WriteFile.Close End If Set WshSHell = Nothing:SetFSO = Nothing:Set Args = Nothing:WScript.Quit(0) [ Last edited by slore on 2007-6-2 at 06:43 PM ]


2007-6-1 16:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 10 楼』:  

谢谢啊 [ Last edited by wert123 on 2007-6-1 at 04:11 PM ]


2007-6-1 16:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:  

For i = 1 To Len(ReadAllText) TempNum = Asc(Mid(ReadAllText,i,1)) If TempNum = 34 Then TempNum = 18 ElseIf TempNum = 13 Then TempNum = 28 ElseIf TempNum = 10 Then TempNum = 29 End If ThisText1 = ThisText1 & Chr(TempNum) Next 这个部分……为什么不用replace函数?引号的话转义成双引号就好了。 这个原理简直………… 你还说zhoushijay的基本是对的=。=一点都不搭边。。。


2007-6-1 16:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 12 楼』:  

slore 兄的代码着色 是论坛的功能吗? 好像还没见别人用啊?还是你自己做的。真不错。




2007-6-1 16:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:  

自己做的……问题还很多,所以没有发布。。。对我自己的测试代码行不通自己还要手动改好多地方(自己想的测试代码太BT了,自己有点挑剔吧,要做就做好,不然不想做)…… 比如End If要上2次相同的颜色……这个要改。。。最近都没时间…… 还有_换行的问题……


2007-6-1 16:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 14 楼』:  

最初是加密reg的(后删掉了那句),所以没考虑用replace。 zhoushijay说,读给变量,再写回去reg,基本思路就是这样吗。只是他说的笼统一些怎么会不搭边啊。 [ Last edited by baomaboy on 2007-6-1 at 04:49 PM ]




2007-6-1 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 15 楼』:  

Originally posted by slore at 2007-6-1 16:35: 自己做的……问题还很多,所以没有发布。。。对我自己的测试代码行不通自己还要手动改好多地方(自己想的测试代码太BT了,自己有点挑剔吧,要 ...
希望slore兄早日完成,若做成本论坛的插件,那可是。。。。。




2007-6-1 16:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: