中国DOS联盟论坛

中国DOS联盟

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

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

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





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『楼 主』:  Reg2VBS→vbs版 使用 LLM 解释/回答一下

To wert123

reg2vbs.rar





好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-1 12:27
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

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


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

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

让我猜猜你的原理:
应该是把里面的注册表路径提取出来放入变量 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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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


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





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

得,看下面的吧还是。。。。。。

Last edited by baomaboy on 2007-6-1 at 04:12 PM ]




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-1 15:51
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

谢谢啊

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


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





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-1 16:32
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

自己做的……问题还很多,所以没有发布。。。对我自己的测试代码行不通自己还要手动改好多地方(自己想的测试代码太BT了,自己有点挑剔吧,要做就做好,不然不想做)……

比如End If要上2次相同的颜色……这个要改。。。最近都没时间……

还有_换行的问题……


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





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

最初是加密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 楼』:   使用 LLM 解释/回答一下

Originally posted by slore at 2007-6-1 16:35:
自己做的……问题还很多,所以没有发布。。。对我自己的测试代码行不通自己还要手动改好多地方(自己想的测试代码太BT了,自己有点挑剔吧,要 ...


希望slore兄早日完成,若做成本论坛的插件,那可是。。。。。




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-1 16:46
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: