FatPigs 发表于 2021-2-13 02:50

简单去除泰拉瑞亚的Steam验证

本帖最后由 FatPigs 于 2021-2-13 23:37 编辑

第一步:用DnSpy打开Terraria.exe.很惊喜,Tr并没有加混淆,这表明去除它的Steam验证会变得容易许多。
第二步:在项目上右键转到入口点,在可疑的语句上下断点,直到有关于Steam的报错停下,锁定Steam验证的语句。
根据找到的内容:SocialAPI.Initialize(null);,再定位到SocialAPI类里的Initialize方法。

public static void Initialize(SocialMode? mode = null)
                {
                        if (mode == null)
                        {
                              mode = new SocialMode?(SocialMode.None);
                              mode = new SocialMode?(SocialMode.Steam);
                        }
                        SocialAPI._mode = mode.Value;
                        SocialAPI._modules = new List<ISocialModule>();
                        SocialAPI.JoinRequests = new ServerJoinRequestsManager();
                        Main.OnTickForInternalCodeOnly += SocialAPI.JoinRequests.Update;
                        SocialMode mode2 = SocialAPI.Mode;
                        if (mode2 != SocialMode.Steam)
                        {
                              if (mode2 == SocialMode.WeGame)
                              {
                                        SocialAPI.LoadWeGame();
                              }
                        }
                        else
                        {
                              SocialAPI.LoadSteam();
                        }
                        foreach (ISocialModule socialModule in SocialAPI._modules)
                        {
                              socialModule.Initialize();
                        }
                }

根据调用方法传递的参数(null)可知会执行
mode = new SocialMode?(SocialMode.None);
mode = new SocialMode?(SocialMode.Steam);

再分析下面的语句,得到思路:避免执行SocialAPI.LoadSteam();就可以跳过Steam验证。

而我们只需要把
mode = new SocialMode?(SocialMode.Steam);
这一行注释掉,就可以避免执行SocialAPI.LoadSteam();

编辑之后保存为Terraria-NoSteam.exe,一切顺利。
关掉Steam后,双击打开保存后的 Terraria-NoSteam.exe 没有报错,顺利进入了游戏!
非常的简单

sky1209 发表于 2021-2-13 09:50

为什么要去除呢?支持技术手段探究,但不喜欢这样,如果有能力,还是购买一个正版吧。

xq1chy 发表于 2021-2-13 10:57

sky1209 发表于 2021-2-13 09:50
为什么要去除呢?支持技术手段探究,但不喜欢这样,如果有能力,还是购买一个正版吧。

然后你就点进来?

云岛鹤川 发表于 2021-2-13 18:13

sky1209 发表于 2021-2-13 09:50
为什么要去除呢?支持技术手段探究,但不喜欢这样,如果有能力,还是购买一个正版吧。

你为什么要引战呢?

xiaoruirui1111 发表于 2021-2-13 20:51

sky1209 发表于 2021-2-13 09:50
为什么要去除呢?支持技术手段探究,但不喜欢这样,如果有能力,还是购买一个正版吧。

你来论坛给我说正版,那你注册干什么?

november777 发表于 2021-2-24 11:55

sky1209 发表于 2021-2-13 09:50
为什么要去除呢?支持技术手段探究,但不喜欢这样,如果有能力,还是购买一个正版吧。

疑惑?这本来就是技术帖,也没提供成品啊。而且注册会员的都是来想学破解技术的吧!

sky1209 发表于 2021-2-13 19:03

xq1chy 发表于 2021-2-13 10:57
然后你就点进来?

是的呢,因为,我也是玩过网上的各种版本的泰拉瑞亚,感觉非常好!然后跑去STEAM上买了正版和正版强化,还有音乐包啊。但,买完正版之后,好象一直没有玩过呢。难道属于书非借而不能读也?怪哉!

拉玛西亚 发表于 2021-2-13 22:53

其他游戏也可以这样嘛

340621 发表于 2021-2-14 07:15

额,我在steamunlocked下的盗版不需要steam验证。
既然去除了steam验证,还能用创意工坊吗?

人都是蠢的 发表于 2021-2-13 21:15

感谢分享 如果可以的话能具体出一次如何去除验证的教程吗            例如:第二步:在项目上右键转到入口点,根据方法一个一个找与Steam相关的语段(或者一个一个下断点直到出现与Steam相关的报错)。            这句我就没太看明白 如果可以的话万分感谢!

asewq1341 发表于 2021-2-13 09:31

妙啊!不过gog的话没有验证。。

travishua 发表于 2021-2-13 03:05

去除验证 有点心得了 慢慢来

netpeng 发表于 2021-2-13 03:13

学习了,按照楼主的方法值得一试。

gunxsword 发表于 2021-2-13 08:19

感谢分享,GET到了!

你是我的人 发表于 2021-2-13 09:20

感谢楼主分享

15633738398 发表于 2021-2-13 09:37

感谢楼主分享楼主威武霸气

侃遍天下无二人 发表于 2021-2-13 10:11

怎么看上去像是Java写的

npfjcg 发表于 2021-2-13 10:26

对于其他只有Steam验证的游戏,这种方法应该也是有效的吧
页: [1] 2 3 4 5
查看完整版本: 简单去除泰拉瑞亚的Steam验证