深入探讨

2018/04/29 最新版本:v2.1.0.0【增加对帕吉至宝特效的支持】

链接: https://pan.baidu.com/s/1tXio_zPbIyNiEUo_DL0aPg 密码: yqig

现在还提供历史版本供有需要的玩家下载,点击此处进入历史版本下载页。

Dota2 国服反和谐深入探讨

其实做 Real Blood 的出发点非常简单,就是给不想换号且不想花钱又想反和谐的人一种选择。本文章分为以下几个部分来探讨一下个人目前对 Dota2 反和谐的认知。也许并不专业,有错误,欢迎在文章下方留言探讨。

  • Dota2 如何实现和谐展示效果
  • Dota2 反和谐补丁 Real Blood 的制作过程
  • Dota2 反和谐补丁 Real Blood 的安全性,包括是否会盗取用户信息、VAC 封禁的可能性

Part I – Dota2如何实现和谐展示效果

要了解这部分信息,你需要用到以下工具:

  1. Dota2 Workshop Tools DLC(在Steam上的Dota2 DLC中勾选,会自动下载)
  2. GCFScape v1.86
  3. ValveResourceViewer
  4. vpk creator

为了方便理解,我尽量使用通俗的语句来表达。以下文中所提及的游戏指“Dota2”,当你在 Steam 上启动游戏时,Steam 会检查你是通过什么方式获得这个游戏授权的。授权方式决定你得到什么样的游戏体验。假如你有一个已经被和谐和一个没被和谐的账号。你切换两个账号登陆的时候会发现,每次登陆被和谐账号的时候,都会下载一个大小约为 110M 的内容更新包,就像下图这样:

深入探讨

现在,如果你打开游戏安装目录下的 steamapps\common\dota 2 beta\game\dota_lv 文件夹,然后重复操作切换账号操作,你会看到,这个目录下多了以下四个文件:

其实lv就是 low violence 的缩写,中文意为“低等级暴力”

深入探讨

既然登陆被和谐的账号才会出现这几个文件,那是不是可以判断这几个文件控制着和谐内容?要验证这个问题并不难,用 GCFScape v1.86 打开 pak01_dir.vpk 文件,从左侧展开 models\heroes

,然后看右侧的目录:

深入探讨

是不是“正巧”是被和谐了的英雄?这就解释了为什么网上说删除这个文件夹就可以反和谐。那为什么特效部分没有被反和谐呢?我们运行 Dota2 WorkshopTools 看一下 Dota2 的特效文件,也许能看出什么。为了看到更直观的效果,建议你临时申请一个新的Steam账号或者登陆没有被和谐的账号启动 Dota2 WorkshopTools ,当你下载好 Dota2 WorkshopTools DLC 后,点击启动 DOTA2 ,选择 Launch Dota 2 – Tools ,弹出的界面选择 Launch Item Tools,点击下图的放大镜:

深入探讨

我们只需要查看粒子特效文件,为了排除干扰。在右上侧的 Asset Types 里仅勾选 Particle System

深入探讨

在搜索框中输入“_lv.vpcf”,结果中列出的文件就是和谐后要给你展示的特效。你可以尝试搜索 bloodseeker_bloodrage_eztzhok_ovr_drips ,你会看到以下结果:

深入探讨

如果你当前登陆的已经是被和谐后的账号,你看到的就是下面的样子:

深入探讨

对比这两个文件你会发现,文件名仅仅是多了_lv,那么你大概可以考虑到,这两个文件之间的关联了。打开不带 _lv 的文件,点击 Base Properties ,你会看到有个 low violence defintion属性,参数就是那个带 _lv 的文件。意思就是,如果你的账号是低暴力等级的授权,则展现这个文件。现在假设把这个属性删除,或者把不带 _lv 的文件提取出来,改名为 _lv 的,是不是就达到反和谐的目的了呢?答案是肯定的,如果你感兴趣,可以按照下面这个视频演示尝试一下:


Part II – Dota2 反和谐补丁 Real Blood 的制作过程

到了这里,我想你基本上就理解了,我要做的就是把所有跟和谐相关的文件找出来,替换成没和谐的或者修改其展示的关联性。然后重新打包生成 vpk 文件。为了软件更加易于使用,我尝试用程序化的方式自动定位释放目录罢了。为了达到这个简单的目的,没少走弯路,最初用的傻瓜式安装包生成工具,然后临时释放文件到 c:\windows 目录,使用批处理来移动这个文件到游戏目录:

@echo off
for /f tokens^=2^ delims^=^” %%a in (‘reg query “HKEY_CLASSES_ROOT\dota2\Shell\Open\Command” /s’) do call set dota2dir=%%a
set “dota2dir=%dota2dir:~,-20%\dota_lv”
cd %dota2dir%
copy %windir%\pak01_dir.vpk “%dota2dir%”
del %windir%\pak01_dir.vpk
del %0

缺点很明显,这种方式不被大部分人所认可,虽然写了是临时释放,但是很多玩家还是以为是安装到了 c:\windows,去找,却又找不到,因为这个批处理执行完毕后这个 vpk 文件被移动,并且会自动删除这个批处理文件。所以让你感觉,什么也没发生啊。这是什么鬼?没办法,看来还是要用inno这种纯代码的安装包生成器,因为国服客户端和 Steam 客户端的注册表文件不一样,所以首先要判断你是用的国服客户端还是Steam客户端。然而实测过程中发现,Steam 客户端的注册表却读不出来。又找了相关文档才发现,64 位的操作系统,如果要读取HKEY_LOCAL_MACHINE(HKLM)目录下的内容,inno 中得在 HKLM 后面加上 64 ,这尼玛是什么鬼。

function GetInstallDir(def: string): string;
var
InstallDir : string;
begin
Result := ”;
if IsWin64 then
//判断是不是使用64位操作系统
begin
if RegQueryStringValue(HKLM64,’SOFTWARE\Valve\Steam’,’InstallPath’, InstallDir) then
begin
// 判断是不是国服客户端
Result := InstallDir + ‘\steamapps\common\dota 2 beta\game\dota_lv’;
end else
if RegQueryStringValue(HKLM64, ‘SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 570′,’InstallLocation’, InstallDir) then
begin
// 判断是不是使用Steam
Result := InstallDir + ‘\game\dota_lv’;
end;
end else
begin
if RegQueryStringValue(HKLM, ‘SOFTWARE\Valve\Steam’,’InstallPath’, InstallDir) then
begin
// 判断是不是国服客户端
Result := InstallDir + ‘\steamapps\common\dota 2 beta\game\dota_lv’;
end else
if RegQueryStringValue(HKLM, ‘SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 570′,’InstallLocation’, InstallDir) then
begin
// 判断是不是使用Steam
Result := InstallDir + ‘\game\dota_lv’;
end;
end;
end;


Part III – Dota2 反和谐补丁 Real Blood 的安全性,包括是否会盗取用户信息、VAC 封禁的可能性

我们来就 Real Blood 的安全性问题展开讨论。关于我是否会窃取你的账户信息,不作讨论,因为不会有任何蓄意植入木马、病毒或其他恶意程序的软件作者会明确告诉你这个问题。如果你认为该程序可能对你的账号财产造成风险。请停止使用,或使用其它方式获得释放的 vpk 文件。我想让需要反和谐的玩家知道有 www.dota2hd.com 这么个网站的存在而已,我也仅仅是将文件以程式形式发放,并且在安装完成后显示了一个站址,连最初的自动访问网页都没添加,更不说什么设置默认主页、外带全家桶这种流氓行为。

关于 VAC 封禁

我咨询了 Steam 客服,得到的答案如下:

深入探讨

我并不想断章取义,但是请仔细阅读第二句话,任何提供额外辅助,破坏游戏平衡的作弊软件或程序,均有可能会导致 VAC 的封禁,回复中的 Valve 反作弊系统( VAC ) 的连接:

https://support.steampowered.com/kb_article.php?ref=7849-RADZ-6869&l=simplified%20chinese

VAC – Valve Anti-cheating 意为 Valve反作弊系统。很多人都说 V 社擅长秋后算账,XX盒子,XX助手不是被 VAC 了吗?恰巧,我偶尔看看微博,看到了HOHO哥回答了一个关于反和谐的问题。我原本想着这个回答应该是专业的,果断买了一块钱的瓜子磕一磕。答案如下:

深入探讨

按照上述回答,意思大概是 Steam 说了,你可以删除我的部分文件,但是不能修改的文件,这显然不符合常理吧。另外,在该问题下方还有一些讨论,其中有一条:

以前替换文件指令还在的时候,我有发布过特效反和谐补丁,现在指令失效了,所以现在有的方法都是需要修改游戏文件,不推荐 HOHO

HOHO哥,真不是指令失效了,只不过现在的MOD加载不使用 -override_vpk 命令了,而是通过 steamapps\common\dota 2 beta\game\dota 目录下的 gameinfo.gi 文件来实现而已,通过记事本文件打开,可以看到以下内容:

 

SearchPaths
{
// These are optional language paths. They must be mounted first, which is why there are first in the list.
// *LANGUAGE* will be replaced with the actual language name. If not running a specific language, these paths will not be mounted
Game_Language        dota_*LANGUAGE*

// These are optional low-violence paths. They will only get mounted if you’re in a low-violence mode.
红色部分描述了,这个低暴力等级的 MOD 只会在你是被和谐的情况下被加载。蓝色部分则定义了加载的路径。
Game_LowViolence       dota_lv

Game              dota
Game              core

Mod                dota

你可以通过编辑这个文件来测试一下是不是这样,很简单,登陆你被和谐的账号,打开这个  gameinfo.gi 文件,复制下面的这行紫色的代码替换掉上面所说的蓝色的代码。然后保存,运行游戏。

//Game_LowViolence       dota_lv

你是不是发现你没有删除 dota_lv 文件夹中的内容,一样可以实现模型的反和谐?起源2引擎的启用,变更了 MOD 的加载方式而已。关于这部分的测试,你可以参考下面的这个视频:

通过以上实践,最起码的结果就是可以肯定HOHO哥微博问答中的答案自相矛盾的。这并不代表什么,每个人关注的问题不同,去实践的内容也不同罢了。只是作为一个粉丝,看到答案有疑惑提出来罢了。如果有幸能让HOHO哥也看到这篇文章,希望能够探讨一下是不是我有说错了什么。

虽然以上结论并不能 100% 确保 V 爸爸不对你动手,但你至少又 get 了不少东西啊!万一 V 爸爸说反和谐后的场面激起了你的战斗力,属于作弊呢?用不用你自己做决定咯!

 

相关产品

66
说点什么

avatar
41 Comment threads
25 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
38 Comment authors
yyyd2cJamie亡亡亡无力涛涛70020 Recent comment authors
  Subscribe  
提醒
匿名
游客
匿名

写的挺好的,支持下,买个你店里的新号转移饰品去

LiMingCao
游客
LiMingCao

谢谢大神科普

iasane
游客
iasane

为什么我安装了之后,小狗的还是和谐(一口大白牙,走路没血迹),小娜迦也是和谐(胸前被遮住),斧王的腰部饰品刽子手纪念被和谐显示不出来

维吉尔
游客
维吉尔

在网吧无效~~

...
游客
...

现在还是不能用啊,安装了好多遍也没用

kfy
游客
kfy

请问一下,我的DOTA2没有安装在STEAM文件夹下,是反和谐的路径应该自己设在dota_lv文件夹?

76561198183799795
成员

十分感谢!

jjkoer
游客
jjkoer

博主你好,怎样去打包vpk,替换反和谐文件后

slark
成员

为什么我的会变卡啊

我我我
游客
我我我

为啥说有木马

sunn
游客
sunn

使用了你的补丁后地图出现了一些BUG,比如赏金黑色模型,一个tp光圈一直存在。
卸载补丁后验证文件完整性出现6个文件损坏

LiMingCao
游客
LiMingCao

目前版本无效 还是绿血石油血

xwf0225
游客
xwf0225

为什么WIN10提示有病毒

forbangzhu
游客
forbangzhu

什么,路劲非法,请使用真确的安装路劲?我就是WIN64steam安装的D2呀?有什么问题?文件权限设置了呀,怎么会这样

FIREFLY
游客
FIREFLY

我觉得完全可以把dota2的exe包含在你的插件中,双击反和谐后直接进入dota2,如果做的好可以直接判断是否需要反和谐,

nim
游客
nim

希望作者能跟进7.06

floss
游客
floss

如果不介意使用辅助软件,Dota2超级助手是我用过的最彻底最完美的反和谐工具

123啊啊111
游客
123啊啊111

为什么有时候补刀没有血迹啊

76561198125375873
成员

亲测可用!特意上号感谢!李菊福!

尹必龙
游客
尹必龙

安装后不用怎么卸载啊?

woshishui
游客
woshishui

挺不错兄弟反和谐福音

withered
游客
withered

WIN 10用了之后会发生游戏闪退的情况

lotk
游客
lotk

博主有没有兴趣搞一下ubuntu下dota2反和谐?

lwhaihy
成员
lwhaihy

楼主你好能留一下联系方式吗

guyu
游客
guyu

最终还是被和谐掉了啊!可惜了!

infinity
游客
infinity

可以可以 小狗pa血魔都很爽

untitled
游客
untitled

作者你好!我之前做过一段时间的dota2 mod整合包,在Dota2Mod群里发布。不过我已经很长一段时间没有时间更新了,之前也写过一个items_game.txt转json的js模块,还写过一个带GUI的items_game编辑器半成品,不知道有没有大佬愿意接手呀,愿意的可以联系我

王老五
游客
王老五

我用下面的那个方法反和谐,模型以及图标成功反和谐了,但是pa还是打出石油,小狗走路没血迹,血魔w也没有血,这是怎么回事啊?

王老五
游客
王老五

求大神解答啊!

hahahaahh
游客
hahahaahh

为什么我的被和谐号登陆steam,打开dota2,上面4个后缀VPK的文件就不见了,安装发和谐还是不行

spike
游客
spike

您好 我发现淘宝上有一个叫 土猫弟弟的人在卖你的软件 而且是老版本的

宙斯啊
游客
宙斯啊

虽然我还没用过
但是我很感谢而且崇拜你们这群无私技术玩家的贡献 我下载个试试

宙斯啊
游客
宙斯啊

对了 我有一个问题 我在淘宝上买了一个没有被和谐的号 刚开始玩的时候都是没有和谐的 后来我玩自己的号 很久没碰过这个小号了 等我今天上线的时候玩了一局 发现被和谐了 是怎么回事 怎么可以改回来?

Allure
成员
Allure

已经注册

123
游客
123

我记得去年站长有个淘宝店帮忙注册账号的 现在找不到了

Papyrus
游客
Papyrus

有点想把2.1更新的启动封面那个换回去,能告诉下办法么?

123
游客
123

今天哈斯卡改模型了 听说头像还是哪里被和谐了 希望作者大大看看

lck19991
成员
lck19991

作者你好,早的时候用了你的补丁,真的很好用,不过我现在用了外星人首登之后也反和谐了,这个补丁要删除的话怎么办呢

无力涛涛70020
成员

2.1.0.0版本有两个问题,血魔和龙骑的两个饰品无法和谐,还是掉的绿色血

亡亡亡
游客
亡亡亡

为啥我给steam上的dota2打了这个反和谐补丁,结果就算在steam登陆也是国服

Jamie
游客
Jamie

捉急啊 iMac用户应该如何使用呢?

yyy
游客
yyy

打了补丁还是绿血啊,装备技能倒是改了

联系我们

QQ群:D2C

邮件:admin@dota2hd.com