眉山东坡论坛

 找回密码
 注册账号

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 9916|回复: 8
收起左侧

[资料经验] 3DMAX9全自动注册,3dmax2012+autocad2012中文版完美破解在7楼,搞定GHOST

[复制链接]
发表于 2013-3-11 09:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转东坡论坛

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
3dmax2012+autocad2012中文版完美破解补丁在7楼,感谢网友上传。下载后把这个补丁覆盖安装出来文件夹里对应文件即已注册。

从网上搜索3DsMAX一大把,但是从2011以后的版本都太大,不适合应用到学校的机房中,精简版只有3DMAX10和10以下的版本,而且3DMAX10是英文精简版。于是,就只有3DMAX9是适用版了,我下载的版本是狂人精简版,压缩后的版本接近100M,下载后正常安装母盘。
GHOST后,每单3DMAX9必须重新注册,对于注册流程不熟悉的学生来说,往往花了半个小时都还没有注册上。
我用VBS写了个脚本,通过脚本可以极快速地自动注册,理论上这个脚本稍微改一下就可以应用到2010/2011...其他任意一个版本上去,该脚本使用了大漠的免费版dm.dll进行功能扩展,请在附件中下载相产内容。
如果需要其他版本的脚本可以回复本贴,免费为你制作。注意事项请查看三楼贴子


  1. '先定义几个常用的东西
  2. Dim WshShell,x,y,str,i,sn,Mark,Debug
  3. Set WshShell=WScript.CreateObject("WScript.Shell")
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
  6. Set objWMIService = GetObject("winmgmts:\\.")
  7. Set objHTML=CreateObject("htmlfile")
  8. Set ws=createobject("wscript.shell")
  9. ws.CurrentDirectory ="C:\Program Files\3dsMax9"
  10. On Error Resume Next
  11. Set dm= CreateObject("dm.dmsoft")
  12. base_path = dm.GetBasePath() '检查是否注册大漠组件dm.dll,以更好支持鼠标、窗口、OCR等功能
  13. '大模组件需要生成一个OCR专用的宋体9号字和10号字字库表,可以用大漠工具生成或与我联系索要。
  14. If base_path="" Then
  15.     objFSO.copyfile "C:\Program Files\3dsMax9\dm.dll","C:\Windows\system32\dm.dll"
  16.     ws.Run "regsvr32"&" /S C:\Windows\system32\dm.dll" '因没有注册大漠组件dm.dll
  17.     ws.Run "wscript.exe "& Wscript.scriptfullname '重新运行并退出
  18.     wscript.sleep 200
  19.     wscript.quit
  20. End If
  21. On error goto 0
  22. dm.SetPath "C:\Program Files\3dsMax9"
  23. Debug="C:\Debug.txt" '建立好运行记录
  24. Set objTextFile = objFSO.OpenTextFile (Debug, 2, True)
  25. objTextFile.Write ("开始")
  26. NetWork(1) '打开网络,并且网络连通后再进行下一步,如果网络不通,注册机无法注册
  27. Mark=0
  28. While Mark=0
  29.     Set mc=GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
  30.     For Each mo In mc
  31.           Mark=mo.IPEnabled
  32.           If Mark=True Then
  33.               wscript.sleep 1000
  34.               Exit For
  35.           End If
  36.     Next
  37.     wscript.sleep 300
  38. Wend

  39. Title=WshShell.popup("15秒后自动操作,请关闭其他程序和窗口  "&chr(13)&chr(13)&"不要再动鼠标键盘,否则请点击取消..."&chr(13)&chr(13)&"注册过程中会断开网络,请耐心等待自动恢复。",15,"东坡论坛系列程序",4096+64+1)
  40. If Title= 2 Then wscript.quit '取消或叉掉的
  41. 'If Title=-1 Then wscript.quit '超时的注释掉,默认继续安装

  42. '第一段:删除内存中的3dmax
  43. 'Close_Process("iexplore.exe")
  44. Close_Process("VRay.exe")
  45. Close_Process("3dsmax.exe")
  46. Close_Process("KEYGEN.EX")
  47. Close_Process("vrlserver.exe")

  48. '取屏幕分长宽
  49. x=CreateObject("HtmlFile").ParentWindow.Screen.AvailWidth
  50. y=CreateObject("HtmlFile").ParentWindow.Screen.AvailHeight

  51. '删除以前的注册、配置文件"
  52. ws.run "reg delete ""HKEY_CURRENT_USER\Software\Autodesk\3dsmax\9.0"" /f",0 'VBS递归删除子项太长,调用命令删除注册表项
  53. ws.run "reg delete ""HKEY_LOCAL_MACHINE\Software\Autodesk\3dsmax\9.0"" /f",0

  54. Set files=objFSO.getfolder("C:\Program Files\3dsMax9").files
  55. For each f in files
  56.          If (right(f.name,3)="cfg") and (f.name<>"splash.cfg") Then str=f.name
  57.          If (right(f.name,3)="ubk") Then objFSO.deletefile f.name,true '删除目录下所有ubk文件
  58. next
  59. str="C:\Documents and Settings\All Users\ApplicatiOn Data\Autodesk\Software Licenses"
  60. Set files=objFSO.getfolder(str).files
  61. For each f in files
  62.           msgbox f.name
  63.          If (right(f.name,3)="dat") Then objFSO.deletefile (str & "" & f.name),true '删除目录下所有dat文件
  64. next

  65. '运行基本注册
  66. ws.Run "REGEDIT"&" /S GREEN.reg"
  67. ws.Run "rundll32"&" AdskScInst.dll,CdaSysInstall"
  68. ws.Run ".\plugins\vrayplugins\vrlserver.exe"
  69. ws.Run ".\GTOOLS\VRay.exe"
  70. dm.SetSimMode 1
  71. Mark=0
  72. While hwnd=0 and Mark< 10
  73.   hwnd= dm.FindWindow("","V-Ray 许可服务器")
  74.   wscript.sleep 100
  75.   Mark=Mark+1
  76. Wend
  77. If Mark<10 Then
  78.   dm.SetWindowText hwnd,"服务器-眉山职业技术学院机房安装V-Ray 许可中...." '更改窗口标题
  79.   wscript.sleep 100
  80.   ws.Appactivate("服务器-眉山职业技术学院机房安装V-Ray 许可中....") '激活窗口标题
  81.   wscript.sleep 100
  82.   dm.KeyPress 13
  83.   dm.MoveTo (x/2),(y/2-50)
  84.   wscript.sleep 100
  85.   dm.LeftDoubleClick
  86.   wscript.sleep 100
  87.   ws.Sendkeys "^c"
  88.   wscript.sleep 300
  89.   ws.Appactivate("VRay Advanced keygen")
  90.   dm.MoveTo (x/2),(y/2-35)
  91.   dm.LeftClick
  92.   ws.Sendkeys "^v"
  93.   dm.MoveTo (x/2),(y/2+30)
  94.   wscript.sleep 100
  95.   dm.LeftDoubleClick
  96.   wscript.sleep 300
  97.   ws.Sendkeys "^c"
  98.   wscript.sleep 300
  99.   ws.Sendkeys "{ESC}"
  100.   wscript.sleep 300
  101.   dm.MoveTo (x/2),(y/2)
  102.   dm.LeftClick
  103.   wscript.sleep 300
  104.   ws.Sendkeys "^v"
  105.   wscript.sleep 300
  106.   ws.Sendkeys "{Enter}"
  107.   wscript.sleep 300
  108.   ws.Sendkeys "{Enter}"
  109. Else
  110.   Close_Process("vrlserver.exe")
  111.   Close_Process("vray.exe")
  112. End If
  113. ws.Run "3dsmax.exe"&" -h"
  114. NetWork(0) '关断网络以使注册过程更快
  115. hwnd=0
  116. Mark=0
  117. While hwnd=0 and Mark< 1000 '针对相应的弹出窗口操作
  118.   If ws.Appactivate("Autodesk 3ds Max 9 许可证错误") Then
  119.       wscript.sleep 300
  120.       ws.Sendkeys "{Enter}"
  121.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"Autodesk 3ds Max 9 许可证错误")
  122.   End If
  123.   If ws.Appactivate("Autodesk 3ds Max 9 许可系统") Then
  124.       wscript.sleep 300
  125.       ws.Sendkeys "{Enter}"
  126.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"Autodesk 3ds Max 9 许可系统")
  127.   End If
  128.   If ws.Appactivate("Autodesk 3ds Max 9") Then
  129.       wscript.sleep 300
  130.       ws.Sendkeys "{Enter}"
  131.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"Autodesk 3ds Max 9")
  132.   End If
  133.   If ws.Appactivate("现在注册") Then
  134.       ws.Sendkeys "{Enter}"
  135.       wscript.sleep 100
  136.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"注册1")
  137.       Mark=2000
  138.   End If
  139.   If ws.Appactivate("Autodesk 3ds Max 9 产品激活") Then
  140.       wscript.sleep 300
  141.       dm_ret=dm.GetWindowRect(hwnd,x1,y1,x2,y2)
  142.       dm.SetDict 0,"simsong9.txt"
  143.       str = dm.Ocr(x1+150,y1+100,x1+500,y1+180,"b@d4d0c8-000000,|",1)
  144.       If InStr(str,"激活产品") Then
  145.           Mark=2000
  146.           ws.Sendkeys "{Enter}"
  147.           If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"Autodesk 3ds Max 9 产品激活")
  148.       End If
  149.   End If
  150.   Close_Process("iexplore.exe")
  151.   wscript.sleep 100
  152.   Mark=Mark+1
  153.   If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"循环1")
  154. Wend
  155. wscript.sleep 300
  156. hwnd=0
  157. Mark=0
  158. While hwnd=0 and Mark< 1000
  159.   wscript.sleep 300
  160.   hwnd= dm.FindWindow("","现在注册")
  161.   If hwnd Then
  162.       ws.Sendkeys "{Enter}"
  163.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"注册2")
  164.       Mark=2000
  165.   End If
  166.   dm_ret=dm.GetWindowRect(hwnd,x1,y1,x2,y2)
  167.   dm.SetDict 0,"simsong10.txt"
  168.   dm.MoveTo (x/2),(y/2)
  169.   str = dm.Ocr(x1+172,y1+185,x1+450,y1+230,"b@ffffff-000000,|",1)
  170.   If InStr(str,"申请") Then
  171.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"找到申请")
  172.       Mark=8888
  173.   End If
  174.   Mark=Mark+1
  175.   If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"循环2")
  176. Wend

  177. hwnd=0
  178. While hwnd=0 and Mark< 3000
  179.   wscript.sleep 300
  180.   dm_ret=dm.GetWindowRect(hwnd,x1,y1,x2,y2)
  181.   str = dm.Ocr(x1+172,y1+185,x1+450,y1+230,"b@ffffff-000000,|",1) 'OCR
  182.   If InStr(str,"申请") Then '如果屏幕上指定区域有“申请”两个字则跳出循环
  183.       Mark=2000
  184.   End If
  185.   Mark=Mark+1
  186. Wend
  187. ws.Appactivate("现在注册")
  188. dm.MoveTo (x1+172),(y1+185)
  189. dm.LeftClick
  190. wscript.sleep 300 '全选并复制
  191. ws.Sendkeys "^a"
  192. wscript.sleep 500
  193. ws.Sendkeys "^c"
  194. wscript.sleep 700
  195. ws.Sendkeys "{TAB}{DOWN}{TAB}{TAB}{TAB}"
  196. wscript.sleep 100
  197. ws.Sendkeys "{Enter}"
  198. wscript.sleep 100

  199. '运行3DMAX注册机
  200. ws.Run ".\GTOOLS\KEYGEN.EXE"
  201. ws.Appactivate "Autodesk 3dsmax 9.0 注册机 by X-Force"
  202. wscript.sleep 400
  203. '检查剪贴板
  204. str=trim(dm.GetClipboard())
  205. str=left(right(str,len(str)-instr(str,"申请号")-5),33)
  206. str = trim(replace(str,chr(13)&chr(10)," "))'取出了申请号
  207. ws.Sendkeys str
  208. wscript.sleep 400
  209. ws.Sendkeys "{TAB}{Enter}{Enter}"
  210. wscript.sleep 100
  211. ws.Sendkeys "^{TAB}"
  212. wscript.sleep 200
  213. ws.Sendkeys "^c"
  214. wscript.sleep 500
  215. sn=trim(dm.GetClipboard())
  216. wscript.sleep 300
  217. If InStr(str,"输入激活码") Then
  218.     dm.moveto x1+188,y1+350
  219.     wscript.sleep 100
  220.     dm.LeftClick
  221.     wscript.sleep 100
  222.     dm.moveto x1+480,y1+550
  223.     wscript.sleep 100
  224.     dm.LeftClick
  225.     i=8888
  226. End If
  227. wscript.sleep 600
  228. Close_Process("KEYGEN.EXE")

  229. '第二页
  230. hwnd=0
  231. Mark=0
  232. While hwnd=0 and Mark< 1000
  233.   ws.Appactivate("现在注册")
  234.   If i=8888 Then
  235.       str = dm.Ocr(x1+200,y1+365,x1+280,y1+380,"b@ffffff-000000,|",1)
  236.       m.moveto x1+200,y1+365
  237.       If InStr(str,"粘贴激活码") Then
  238.           wscript.sleep 100
  239.           ws.Sendkeys "{DOWN}"
  240.           wscript.sleep 100
  241.           ws.Sendkeys "{TAB}{TAB}"
  242.           wscript.sleep 100
  243.           ws.Sendkeys sn
  244.           wscript.sleep 400
  245.           ws.Sendkeys "{TAB}{TAB}{Enter}"
  246.           Mark=2000
  247.           If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"找到粘贴激活码")
  248.       End If
  249.   Else
  250.       str = dm.Ocr(x1+185,y1+320,x1+250,y1+340,"b@ffffff-000000,|",1)
  251.       If InStr(str,"新序列号") Then
  252.           dm.moveto x1+190,y1+350
  253.           dm.LeftClick
  254.           ws.Sendkeys "666"
  255.           wscript.sleep 100
  256.           ws.Sendkeys "66666666"
  257.           wscript.sleep 100
  258.           ws.Sendkeys "{TAB}"
  259.           wscript.sleep 100
  260.           ws.Sendkeys "666"
  261.           wscript.sleep 100
  262.           ws.Sendkeys "66666666"
  263.           wscript.sleep 50
  264.           ws.Sendkeys "{TAB}"
  265.           wscript.sleep 100
  266.           ws.Sendkeys "{DOWN}"
  267.           wscript.sleep 100
  268.           ws.Sendkeys "{TAB}{TAB}"
  269.           wscript.sleep 100
  270.           ws.Sendkeys sn
  271.           wscript.sleep 100
  272.           ws.Sendkeys "{TAB}{TAB}{Enter}"
  273.           wscript.sleep 300
  274.           If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"输入完毕")
  275.           Mark=2000
  276.       End If
  277.   End If
  278.   wscript.sleep 100
  279.   Mark=Mark+1
  280.   If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"在最后一步循环")
  281. Wend
  282. wscript.sleep 1000
  283. hwnd=0
  284. Mark=0
  285. 'While hwnd=0 and Mark< 1000
  286. dm.moveto x1+490,y1+430
  287. wscript.sleep 300
  288. dm.LeftClick '点击完成
  289. NetWork(1)
  290. hwnd=0
  291. Mark=0
  292. While hwnd=0 and Mark< 300
  293.   wscript.sleep 300
  294.   If ws.Appactivate("图形驱动程序设置") Then
  295.       hwnd= dm.FindWindow("","图形驱动程序设置")
  296.       dm_ret=dm.GetWindowRect(hwnd,x1,y1,x2,y2)
  297.       If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"找到图形设置")
  298.       ws.Appactivate("图形驱动程序设置")
  299.       dm.moveto x1+23,y1+76
  300.       wscript.sleep 100
  301.       dm.LeftClick
  302.       'ws.Sendkeys "{TAB}"
  303.       wscript.sleep 100
  304.       ws.Sendkeys "{Enter}"
  305.       Mark=2000
  306.   End If
  307.   wscript.sleep 300
  308.   Mark=Mark+1
  309.   If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"在图形设置循环")
  310. Wend
  311. hwnd=0
  312. Mark=0
  313. While hwnd=0 and Mark< 200
  314.   wscript.sleep 300
  315.   If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"进入3DMAX循环")
  316.   If ws.Appactivate("欢迎屏幕") Then
  317.       hwnd= dm.FindWindow("","欢迎屏幕")
  318.       dm_ret=dm.GetWindowRect(hwnd,x1,y1,x2,y2)
  319.       wscript.sleep 1000
  320.       dm.moveto x1+15,y1+500
  321.       wscript.sleep 500
  322.       dm.LeftClick
  323.       dm.moveto x1+520,y1+500
  324.       dm.LeftClick
  325.       Mark=2000
  326.   End If
  327.   wscript.sleep 200
  328.   Mark=Mark+1
  329. Wend
  330. If Debug > "" Then objTextFile.Write (chr(13)&chr(10)&"完成,退出3DMAX")
  331. wscript.sleep 500
  332. ws.Sendkeys "%F"
  333. wscript.sleep 300
  334. ws.Sendkeys "X"
  335. wscript.quit






  336. FunctiOn NetWork(i)
  337. '接收参数:0:关闭“本地连接”   1:打开“本地连接”   2:自动(关闭则打开;打开则关闭)
  338. Const ssfCONTROLS = 3
  339. sConnectionName = "本地连接"
  340. Set shellApp = createobject("shell.application")
  341. Set oControlPanel = shellApp.Namespace(ssfCONTROLS)
  342. Set oNetConnections = nothing
  343. for each folderitem in oControlPanel.items
  344.         If folderitem.name = "网络连接" Then Set oNetConnections = folderitem.getfolder: exit for
  345. next
  346. If oNetConnections is nothing Then msgbox "未找到网络连接文件夹":wscript.quit
  347. Set oLanConnectiOn = nothing
  348. for each folderitem in oNetConnections.items
  349.         If lcase(folderitem.name) = lcase(sConnectionName) Then Set oLanConnectiOn = folderitem: exit for
  350. next
  351. If oLanConnectiOn is nothing Then msgbox "未找到 '" & sConnectionName & "' item":wscript.quit
  352. bEnabled = true
  353. Set oEnableVerb = nothing
  354. Set oDisableVerb = nothing
  355. s = "Verbs: " & vbcrlf
  356. for each verb in oLanConnection.verbs
  357.         s = s & vbcrlf & verb.name
  358.         If verb.name = "启用(&A)" Then         Set oEnableVerb = verb:bEnabled = false
  359.         If verb.name = "禁用(&B)" or verb.name = "停用(&B)" Then Set oDisableVerb = verb:End If
  360. next
  361. If bEnabled and (i=0 or i=2) Then
  362.         oDisableVerb.DoIt
  363. Else
  364.         If bEnabled=0 and i>0 Then oEnableVerb.DoIt
  365. End If
  366. wscript.sleep 400
  367. End Function

  368. FunctiOn Close_Process(ProcessName) '关闭程序
  369. Set prog=getobject("winmgmts:\\.").instancesof("win32_process")
  370.   For Each i In prog
  371.     If LCase(i.name)=LCase(ProcessName) Then i.terminate()
  372.   Next
  373. End Function

  374. FunctiOn is_Process(ProcessName) '程序是否在运行
  375. Set prog=getobject("winmgmts:\\.").instancesof("win32_process")
  376.   For Each i In prog
  377.     If LCase(i.name)=LCase(ProcessName) Then
  378.       is_Process=1
  379.     Else
  380.       is_Process=0
  381.     End If
  382.   Next
  383. End Function


复制代码
发表于 2013-3-19 01:23 | 显示全部楼层
我运行了出错呢?路径我也改了,没找到simsong9.txt。

点评

是有几点必须要符合: 1、路径要和我设置的相同,否则请把程序里的路径改改。 2、要注册dm.dll的大漠组件。(自动注册,目录里有即可) 3、未测试过除狂人优化精简9.0以外的版本。 4、要复制入dm.dll使用ocr功能  详情 回复 发表于 2013-3-19 23:35
 楼主| 发表于 2013-3-19 23:35 | 显示全部楼层
帮帮科技 发表于 2013-3-19 01:23
我运行了出错呢?路径我也改了,没找到simsong9.txt。

是有几点必须要符合:
1、路径要和我设置的相同,否则请把程序里的路径改改。
2、要注册dm.dll的大漠组件。(自动注册,目录里有即可)
3、未测试过除狂人优化精简9.0以外的版本。
4、要复制入dm.dll使用ocr功能时的字库。

请从这里下载: 3dsMax9_file.7z (835.84 KB, 下载次数: 280)
发表于 2013-4-24 21:04 | 显示全部楼层
试了下,效果不错。
发表于 2015-1-9 19:38 | 显示全部楼层
快来参与金币拍卖吧
能弄个2009的吗

点评

2010/2011/2012的都弄有,只不过为了GHOST起来方便,现在都使用了2010& 2011的免注册补丁,可以直接GHOST不用注册了,如果必须要用2012的话我可以放上来。  详情 回复 发表于 2015-1-9 23:08
 楼主| 发表于 2015-1-9 23:08 | 显示全部楼层
cmcc 发表于 2015-1-9 19:38
能弄个2009的吗


2010/2011/2012的都弄有,只不过为了GHOST起来方便,现在都使用了2010& 2011的免注册补丁,可以直接GHOST不用注册了,如果必须要用2012的话我可以放上来。
发表于 2016-3-8 16:55 | 显示全部楼层
现在都有2012版的全破解了,不需要使用每台去注册。只需要改覆盖掉安装出来目录里面的adlmint.dll就可以搞定了。
先按正常的破解方法破解第一台,然后把这个文件替换掉,就可以向其他计算机GHOST了,网克过后不再需要注册。


Autocad2012x86adlmint.7z (713.75 KB, 下载次数: 19)
发表于 2016-3-26 11:36 | 显示全部楼层
学校用的,谢谢提供
发表于 2016-5-5 22:27 | 显示全部楼层
不错啊,很好的东西
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|关于我们|小黑屋|爱好群|眉山东坡论坛 ( 蜀ICP备05001993号-1 )

GMT+8, 2018-1-20 22:58

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表