大漠插件下载地址(6.1550版本,应该是最新的,解压密码:1234)
链接:http://pan.baidu.com/s/1dFeAKU1 密码:fuzg
下面是注册大致流程:
// 插件注册开始>>>>>>>>>>>>>>>>>>> // 下面开始注册插件,先尝试用RegDll来注册.这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误. Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
// 这里判断是否注册成功 set dm = createobject("dm.dmsoft") ver = dm.Ver() if ver <> need_ver then // 先释放先前创建的dm set dm = nothing // 再尝试用regsvr32 来注册. 这里必须使用绝对路径。以免有别人把dm.dll释放在系统目录.造成版本错误. set ws=createobject("Wscript.Shell")
ws.run "regsvr32 c:\test_game\dm.dll /s"
set ws=nothing
Delay 1500
// 再判断插件是否注册成功 set dm = createobject("dm.dmsoft") ver = dm.Ver() if ver <> need_ver then // 这时,已经确认插件注册失败了。 弹出一些调试信息,以供分析. messagebox "插件版本错误,当前使用的版本是:"&ver&",插件所在目录是:"&dm.GetBasePath() messagebox "请关闭程序,重新打开本程序再尝试" endscript end if end if // 插件注册结束<<<<<<<<<<<<<<< // 收费注册开始,简单游作者也必须要加这一段. 不会重复扣费. // ok,这里已经确认插件注册成功,并且创建了对象,下面开始注册收费服务.
// 当然这里也可以使用高级的RegEx函数. dm_ret = dm.Reg("abcdefg","0001") // abcdefg是您的注册码. 在大漠插件网站后台可以直接获取. if dm_ret <> 1 then messagebox "注册失败,返回值是:"&dm_ret endscript end if // 收费注册结束<<<<<<<<<<<<<<<<
我的分析是
Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
是用Regdll中的Reg来注册插件但只能调用普通非收费功能,而 dm_ret = dm.Reg("abcdefg","0001") 是用Dm.dll中的Reg来判断我们输入的注册码是否正确来确定是否可以使用收费功能。 所以我猜测只要破解了Dm.dll中的Reg命令就可以使用他的收费功能了, 可是介于我只是一个菜鸟,使用IDA 静态汇编后虽然找到了DLLregister函数,但是看不懂里面的汇编代码,使用F5插件反汇编成伪C代码后又不会转换成C代码, 所以只能在这发帖求助各位大神了。 希望大神能给点思路或帮忙翻译分析下该函数,现在这谢谢了。
|