TC官方合作论坛

标题: 转:用vbs脚本生成大漠5.1423易语言免注册调用模块 兼容多线 [打印本页]

作者: cjxdn    时间: 2017-4-15 13:51
标题: 转:用vbs脚本生成大漠5.1423易语言免注册调用模块 兼容多线
本帖最后由 cjxdn 于 2017-4-15 15:11 编辑

用vbs脚本生成大漠5.1423易语言免注册调用模块 兼容多线程 破/解收费功能
http://www.52pojie.cn/thread-599550-1-1.html
(出处: 吾爱破/解论坛)


1.照搬大漠函数,方便对照大漠接口说明编写代码
2.破/解收费功能,不是什么秘密了
3.动态调用dmreg.dll创建对象,不注册插件
4.兼容多线程,不需要初始化COM和反初始化
5.模块总大小1.25 MB,大漠本身1.11 MB,DmReg48.0 KB,绿色纯净,不知道为什么别人的模块2M,3M加了什么东西。
--------------------------------------------------------------IDA文件
[attach]24931[/attach]
--------------------------------------------------------------脚本部分
  1. DM_IDL = 读文本内容("C:\Users\Administrator\Desktop\dm5_1423.IDL")
  2. DM_IDL_Arr = Split(DM_IDL, "HRESULT")
  3. DM_IDL_Arr_L = UBound(DM_IDL_Arr)

  4. Call 删除文件("c:\dm5_1423.txt", 1)
  5. Call 创建文件("c:\dm5_1423.txt")

  6. 版本 = ".版本 2" & vblf
  7. TracePrint "开始生成:" & Now
  8. For i = 1 To DM_IDL_Arr_L
  9.         返回值部分 = Split(Split(DM_IDL_Arr(i), "[out, retval] ")(1), "* ret")(0)
  10.         子程序 = Replace(Split(DM_IDL_Arr(i), "(")(0)," ","")
  11.         返回值 = iif(返回值部分 = "long", "整数型", "文本型")
  12.         调用方法 = iif(返回值 = "整数型", "返回(dm.数值方法 (“" & 子程序 & "”, ", "返回(dm.文本方法 (“" & 子程序 & "”, ")
  13.         子程序 = ".子程序 " & 子程序 & ", " & 返回值 & ", 公开" & vblf
  14.         参数部分 = Split(Split(DM_IDL_Arr(i), "(")(1), "[out, retval]")(0)
  15.         参数部分 = Replace(参数部分,"[in] long ","整数型[        DISCUZ_CODE_0        ]quot;)
  16.         参数部分 = Replace(参数部分, "[in] BSTR ", "文本型[        DISCUZ_CODE_0        ]quot;)
  17.         参数部分 = Replace(参数部分,"[in] single ","小数型[        DISCUZ_CODE_0        ]quot;)
  18.         参数部分 = Replace(参数部分, "[in] double ", "双精度小数型[        DISCUZ_CODE_0        ]quot;)
  19.         参数部分 = Replace(参数部分, "[out] VARIANT* ", "参考$整数型[        DISCUZ_CODE_0        ]quot;)
  20.         参数部分 = Replace(参数部分, "[in, out] VARIANT* ", "参考$整数型[        DISCUZ_CODE_0        ]quot;) //通常是没显式声明
  21.         //参数部分 = Replace(参数部分, "[out] VARIANT* ", "参考$变体型[        DISCUZ_CODE_0        ]quot;)
  22.         //参数部分 = Replace(参数部分, "[in, out] VARIANT* ", "参考$变体型[        DISCUZ_CODE_0        ]quot;) //通常是没显式声明
  23.         参数部分 = Replace(参数部分," ","")
  24.         参数部分s = Split(参数部分, ",")
  25.         参数部分数量 = UBound(参数部分s)
  26.         参数 = ""
  27.         传入参数 = ""
  28.         For l = 0 To 参数部分数量 - 1
  29.                 单个参数s = Split(参数部分s(l), "[        DISCUZ_CODE_0        ]quot;)
  30.                 单个参数s_s = UBound(单个参数s)
  31.                 tmp = ""
  32.                 tmp = 单个参数s(单个参数s_s)
  33.                 传入参数 = 传入参数 & tmp & ", "
  34.                 单个参数s(单个参数s_s) = 单个参数s(0)
  35.                 单个参数s(0) = tmp
  36.                 参数部分s(l) = Join(单个参数s,"[        DISCUZ_CODE_0        ]quot;)
  37.                 参数部分s(l) = ".参数 " & Replace(参数部分s(l), "[        DISCUZ_CODE_0        ]quot;, ", ")
  38.                 参数部分s(l) = Replace(参数部分s(l),vbcrlf,"")
  39.                 参数 = 参数 & 参数部分s(l) & vblf
  40.         Next
  41.         If 传入参数 <> "" Then
  42.                 传入参数 = Left(传入参数, Len(传入参数) - 2)
  43.         End If
  44.         传入参数 = 传入参数 & "))"
  45.         Call 写文本内容("c:\dm5_1423.txt", 版本 & 子程序 & 参数 & 调用方法 & 传入参数)
  46. Next
  47. TracePrint "生成完毕:" & Now

  48. Function iif(val1, val2, val3)
  49.         If val1 Then
  50.                 iif = val2
  51.         Else
  52.                 iif = val3
  53.         End If
  54. End Function

  55. Sub 创建文件(文件名)
  56.     Set fso = CreateObject("Scripting.FileSystemObject")
  57.     Set myfile = fso.CreateTextFile(文件名)
  58.     Set myfile = Nothing
  59.     Set fso = Nothing
  60. End Sub

  61. Sub 删除文件(文件名, 是否删除只读文件)
  62.     Set fso = CreateObject("Scripting.FileSystemObject")
  63.     fso.deletefile 文件名, 是否删除只读文件
  64.     Set fso = Nothing
  65. End Sub

  66. Function 读文本内容(文件名)
  67.     Set fso = CreateObject("Scripting.FileSystemObject")
  68.     If fso.FileExists(文件名) Then
  69.         Set myfile = fso.openTextFile(文件名, 1)
  70.         读文本内容 = myfile.ReadAll
  71.         myfile.close
  72.         Set myfile = Nothing
  73.     End If
  74.     Set fso = Nothing
  75. End Function

  76. Sub 写文本内容(文件名, 写入文本)
  77.     Set fso = CreateObject("Scripting.FileSystemObject")
  78.     If fso.FileExists(文件名) Then
  79.         Set myfile = fso.openTextFile(文件名, 8, True)
  80.         myfile.WriteLine 写入文本
  81.         myfile.close
  82.         Set myfile = Nothing
  83.     End If
  84.     Set fso = Nothing
  85. End Sub
复制代码



--------------------------------------------------------------生成完毕

--------------------------------------------------------------去复制出来

--------------------------------------------------------------粘贴到大漠类型库并编写创建对象的几个函数就完成了

--------------------------------------------------------------成品下载
[attach]24930[/attach]

dll释放路径
默认释放到应用数据目录\dm_soft
如果木有就释放到临时目录\dm_soft
如果也木有就释放到程序目录\plugin

这个TC能用吗
有人能转成TC使用吗


作者: 言术    时间: 2017-4-15 16:05
不会有人帮你转的,感觉大漠没前途了
作者: chen1882729    时间: 2017-4-15 18:43
江中游游免注册大漠插件,TC可以用,现在在用6.X**了
作者: cjxdn    时间: 2017-4-15 22:55
言术 发表于 2017-4-15 16:05
不会有人帮你转的,感觉大漠没前途了

大漠都没前途
那啥插件有前途了
作者: cjxdn    时间: 2017-4-15 22:55
chen1882729 发表于 2017-4-15 18:43
江中游游免注册大漠插件,TC可以用,现在在用6.X**了

要的是破/解功能
作者: chen1882729    时间: 2017-4-16 00:28
破/解功能本论坛不是有加群就有
作者: cjxdn    时间: 2017-4-16 01:03
chen1882729 发表于 2017-4-16 00:28
破/解功能本论坛不是有加群就有

论坛里或群里的都用过

//5.1423//6.1538//破/解不彻底,每一小时内DM所有命令失效导致脚本报错

武昌剩竹 岥解大漠3.1233版本 在有些电脑环境对大漠**时脚本报错

所以想尝试一下其它没用过的
作者: chen1882729    时间: 2017-4-16 07:47
cjxdn 发表于 2017-4-16 01:03
论坛里或群里的都用过

//5.1423//6.1538//破/解不彻底,每一小时内DM所有命令失效导致脚本报错

只能等有人放注册码的时候,拿正版的注册码自己试试,无非就是未注册的时候是0,注册后变成1.
作者: dzb123    时间: 2017-4-24 12:04
这个不用  写注册码?
作者: myhzy    时间: 2017-10-10 00:23
cjxdn 发表于 2017-4-16 01:03
论坛里或群里的都用过

//5.1423//6.1538//破/解不彻底,每一小时内DM所有命令失效导致脚本报错

写内存**版本用1小时后大漠函数命令全失效?还是?
作者: cjxdn    时间: 2017-10-10 02:12
myhzy 发表于 2017-10-10 00:23
写内存**版本用1小时后大漠函数命令全失效?还是?

挂机中的脚本
只要调用大漠命令
脚本直接报错

你有可用的可以发出来
作者: myhzy    时间: 2017-10-11 17:11
cjxdn 发表于 2017-10-10 02:12
挂机中的脚本
只要调用大漠命令
脚本直接报错

不可能啊 找图找色那些我试了没问题啊
作者: cjxdn    时间: 2017-10-11 19:18
myhzy 发表于 2017-10-11 17:11
不可能啊 找图找色那些我试了没问题啊

你挂机超过1小时都正常?
作者: myhzy    时间: 2017-10-11 19:38
cjxdn 发表于 2017-10-11 19:18
你挂机超过1小时都正常?

这个倒是没有,你意思是1个小时后所有函数都错误失效?我试下运行1小时试下吧 应该没问题,不过5.1423和3.1233没什么区别
作者: cjxdn    时间: 2017-10-11 20:47
myhzy 发表于 2017-10-11 19:38
这个倒是没有,你意思是1个小时后所有函数都错误失效?我试下运行1小时试下吧 应该没问题,不过5.1423和3 ...

论坛里或群里的都用过

//5.1423//6.1538//破/解不彻底,每一小时内DM所有命令失效导致脚本报错

武昌剩竹 岥解大漠3.1233版本 在有些电脑环境对大漠**时脚本报错

所以想尝试一下其它没用过的

我不明白你为什么看不明白我这说明的内容
作者: myhzy    时间: 2017-10-11 21:06
cjxdn 发表于 2017-10-11 20:47
论坛里或群里的都用过

//5.1423//6.1538//破/解不彻底,每一小时内DM所有命令失效导致脚本报错

还真不明白,不过我已测试,到现在已经测试过了80分钟,大漠**5.1423没任何问题
作者: cjxdn    时间: 2017-10-11 21:21
myhzy 发表于 2017-10-11 21:06
还真不明白,不过我已测试,到现在已经测试过了80分钟,大漠**5.1423没任何问题 ...

那把你的**版发出来吧




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1