先安装,然后直接使用dnspy调试Visual Studio 2022,以GhostdocPro的注册对话框作为突破口进行调试。经过一些调试可以比较轻松的发现关键点在SubMain.GhostDoc.Services.clr4.dll中,你可以通过everything在vs的插件目录中找到这个dll所在位置,其它版本的Visual Studio的方法是类似的。

   这个dll是混淆过的,所以可以先用de4dot去混淆(把这个dll拖放到de4dot.exe上即可得到去混淆后的dll,注意文件权限问题)。这一步是必须要做的,如果不做,后续修改会无效。具体原因没去研究。

   经过一顿调试可以找到SubMain.GhostDoc.Services.Service这个类,这个类没有被混淆。里面有三个函数,mkPrev、mk、lrk。这些函数用于判断注册信息是否有效。

把它改成:

复制代码
       // Token: 0x0600004F RID: 79 RVA: 0x0000232A File Offset: 0x0000052A
        public static bool mkPrev(string s, ref int t, ref int m, ref int n)
        {
            t = 10000;
            m = 5;
            n = 1024;
            return true;
        }

        // Token: 0x06000050 RID: 80 RVA: 0x0000232A File Offset: 0x0000052A
        public static bool mk(string s, ref int t, ref int m, ref int n)
        {
            t = 10000;
            m = 5;
            n = 1024;
            return true;
        }

        // Token: 0x06000051 RID: 81 RVA: 0x0000233E File Offset: 0x0000053E
        public static bool lrk(string s1, string s2)
        {
            return true;
        }
复制代码

     这样无论我们使用什么字符串去解锁都可以成功。

 

    另外还有一些判断License Key有效性的代码,主要就是验证其格式。此处略过不表。

    经过上面的步骤,在VS中使用如下信息进行【离线激活】解锁即可:

Licensed to : 你的名字
License Key : DE979-FE3E7-00DE0-CF142-C1770 
Unlock code: 任意字符串, 例如: 123456

 

 

----

原版安装包下载

官方网站似乎是屏蔽了中国大陆和中国香港的IP,不知道怎么想的。似乎是有点看不起我们?我想其它办法给下载下来了,可以通过百度网盘下载。

https://pan.baidu.com/s/1VUggwPGXk1M0Mcc9yT5Pnw?pwd=hgki

----------------------------------------------------------------------------------------------------------------------------

我修改后的dll就不发了。大家记住这个步骤:

1. 找到该dll

2. 使用de4dot去混淆

3. 使用dnspy修改那三个函数

4. 保存这个dll,替换原来的(原地保存即可)

5. 在VS中离线激活中使用上面的信息进行解锁。

 

-----------------------------------------------------------------------------------------------------------------------------------

GhostDocEnt_v2024.2.24300.zip

链接: https://pan.baidu.com/s/1WJZ6_DxeuR5wJ4M6IfsHpw?pwd=m3eu 提取码: m3eu 

posted @ 2024-10-18 22:04 bodong 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 估计跟插件尝试隐藏自身有关。如果目标进程没有反调试,那么可以尝试将ScyllaHide关闭: 阅读全文
posted @ 2024-08-06 16:06 bodong 阅读(78) 评论(0) 推荐(0) 编辑
摘要: Unity引擎的字符串有三种存储方式: 堆 : 分配在堆上 内嵌 : 一个栈上的内存数据。 默认25字节,可以放长度最多24的字符串。这个长度定义为STACK_LENGTH. 外部 重点主要是前两种,这是一种优化方法,对于非常短的字符串,可以直接使用栈数据而不需要再次内存分配。C++伪代码看起来像这 阅读全文
posted @ 2024-07-31 15:17 bodong 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 需要注意的是,很多时候,某个编译器的版本并不完整支持某个C++标准,比如Visual Studio 2010 SP1,虽然支持了部分C++ 11的能力,但是依然有很多C++ 11的特性是不支持的。因此单纯通过C++标准的版本号来鉴别C++特性是否可用是并不完备的方法。具体支持情况可以参考这里。 #i 阅读全文
posted @ 2024-07-10 10:38 bodong 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 这些值可以用于在C++中判断版本和C++特性支持情况。 大版本 产品名 VC ++ 版本号 _MSC_VER定义 _MSC_FULL_VER定义 2022 Visual Studio 2022 version 17.10.3 14.40 1940 194033811 2022 Visual Stud 阅读全文
posted @ 2024-07-10 10:13 bodong 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Rider的Inspections确实是非常好的功能,但是也并非每一种检查都适合当前项目,有的检查对于当前项目可能是没有意义的,比如对于一个基础库,将很多未使用的属性、方法、类等设置为public是很合理的,但是Rider会高亮提醒,这可能不是我们想要的,所以我们可能想针对当前项目禁止这种检查。 最 阅读全文
posted @ 2024-07-02 09:56 bodong 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 从文档Epic C++ Coding Standard for Unreal Engine页面的Modern C++ Language Syntax部分可以查询到该版本Unreal使用的C++标准版本,总结如下: 5.0 C++ 17 5.1 C++ 17 5.2 最低支持C++17,使用C++ 2 阅读全文
posted @ 2024-07-01 09:00 bodong 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 首先你要确定你要确定UnrealEngine的cdn位于哪里,你的代理服务器位于中国香港,那么cdn可能位于日本,这种情况下,也快不到哪里去,最好的方案是你的代理服务器位置和cdn是一个区域,那样速度会快很多。 可以通过这个网站查询cdn.unrealengine.com的具体IP地址和区域,如:h 阅读全文
posted @ 2024-06-25 22:08 bodong 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 详细信息和变更请参考github首页,变更、更新等不再同步到此页面。 这是一个使用C#格式化字符串风格来格式化C++字符串的库,它是类型安全的、多线程安全、可乱序、高效的的格式化库。本项目支持几乎常见所有主流编译,无论有无C++ 11支持都可以。我使用Visual Studio 2008/2010/ 阅读全文
posted @ 2024-06-24 16:33 bodong 阅读(18) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <windows.h> #include <tchar.h> #include <string> #include <cassert> #include <functional> typedef std::basic_string<TCHAR 阅读全文
posted @ 2024-05-30 11:41 bodong 阅读(155) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <windows.h> #include <tchar.h> #include <string> #include <cassert> typedef std::basic_string<TCHAR> StringT; bool IsDriv 阅读全文
posted @ 2024-05-30 11:36 bodong 阅读(235) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #define __GEN_STRING_IMPL(x) #x #define __GEN_STRING(x) __GEN_STRING_IMPL(x) #define __GEN_LOCATION_STRING() __FILE__ "(" __GEN_ST 阅读全文
posted @ 2024-04-24 09:39 bodong 阅读(25) 评论(0) 推荐(0) 编辑
摘要: advapi32.dl clbcatg.dll combase.dl COMDLG32.dl coml2.dll difxapi.dl gdi32.dll gdiplus.dl IMAGEHLP.dI IMM32.dl kernel32.dl MSCTF.dl MSVCRT.dII NORMALIZ 阅读全文
posted @ 2024-04-22 21:18 bodong 阅读(51) 评论(0) 推荐(0) 编辑
摘要: Visual Studio风格的标题栏可以更节省屏幕空间,个人认为其实比Ribbonbar和传统菜单都要更先进一些,更紧凑,利用效率更高。 我在AvaloniaSamples项目中添加了一个这种Demo,展示了如何在Avalonia 11中分别实现经典风格、Macos风格和Visual Studio 阅读全文
posted @ 2024-04-17 10:41 bodong 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 最初我以为出现这个问题的原因是我本机没有安装Windows7sdk导致的,然后尝试安装了windows7 sdk。发现并没有什么用。接着机缘巧合之下发现这里的mssdk64_win7并不是指windows sdk,而是指ida pro使用的til文件。所以ida pro报这个错误只是因为安装目录下缺 阅读全文
posted @ 2024-04-17 09:47 bodong 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 尝试过现有的AHeadLib、AheadLibEx之类的工具,要么不支持x64,要么运行过程中卡死崩溃等。所以自己写了一个。放到了github上: https://github.com/bodong1987/AHeadLib.Net 先选择一个想要劫持的dll,然后选一个输出目录。工具将会为你输出完 阅读全文
posted @ 2024-04-07 20:45 bodong 阅读(656) 评论(0) 推荐(1) 编辑
摘要: 去微软官网下载Fixed version bootstrappers的安装工具即可。链接: https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history#fixed-version-bootstrappers 阅读全文
posted @ 2024-03-20 10:08 bodong 阅读(4610) 评论(2) 推荐(2) 编辑
摘要: 写着玩的,就当学习Unreal练手的玩意儿了。 主要特性: 支持Unreal在非播放状态下的C#热重载 支持.NET 6.0~.NET 8.0[默认为.NET 8.0],支持C#12 支持在 C# 中创建新的 Unreal 类、Unreal 结构、Unreal 枚举等 支持为 C# 类创建新的 Un 阅读全文
posted @ 2024-03-09 22:35 bodong 阅读(1932) 评论(2) 推荐(1) 编辑
摘要: 在mono集成到C++应用程序中时,可以通过一些参数来配置mono启动时暂停,并在调试器链接上来后再继续运行。这对于调试一些启动时机非常早的代码会非常有用。这通过给mono_jit_parse_options传递参数embedding和suspend来实现。 static void print_us 阅读全文
posted @ 2024-02-22 17:25 bodong 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 将下面这个配置添加到csproj中: <PropertyGroup> <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck> </PropertyGroup> 不过这个会引起总是重编译,可以考虑只对Debug配置生效: <PropertyG 阅读全文
posted @ 2024-02-19 10:26 bodong 阅读(7) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示