WinDbg的学习研究

声明:以下内容仅供研究学习之用,不做其他用途

        前段时间想要画一个3D的图,找来找去,找到了unity这个软件,但是从网上下载的版本需要注册,但是我只是需要用一下而已,就不想去走这么麻烦的流程,于是就有了po jie的念头。

          说干就干,我在win10上安装后,就出现了登录界面,如下:

一开始我以为是用MFC的开发的,于是我用Spy++查了一下,其实是用vs2013开发的,但是界面是用的DirectUI写的,本想用vs跟踪一下登录流程,但是发现vs的fan hui bian功能太弱了,于是想到之前查看windows core dump文件用的windbg软件,正好也熟悉一下相关的命令,于是就用WinDbg(x64)加载上Unity.exe,这个exe默认是安装在C:\Program Files\Unity\Editor\下面的,

加载后,设置第一个断点,用 bp WinMain 下断点,然后点击windbg菜单 Debug->Go,对应的快捷键是F5,如下图:

如果想要将断点保存下来,以便下次自动加载断点,则需要用 bu WinMain 命令,查看命令的帮助文档可以用 .hh bu 命令,输入这些命令地方在windbg的最下面一栏,查看所有断点的命令是 bl, 查看当前堆栈的命令是 k。

      第一个断点停下后,就需要继续寻找后面需要在哪些地方下断点了,有两种方法,一种是先用 x /v Unity_x64_mono!LicenseInfo::* 命令,把这个Unity.exe的所有函数名称打印出来,然后对这些里面跟登录有关的函数都下一遍断点,第二个方法是用 !address /f:image /c:"s -a %1 L%3 \"Sign in\"" 命令找到登录对话框里面出现的英文单词(在ollydebug里面就没有这么费劲),下内存断点是用 ba xxxx 命令

我是找了很久,才找到Unity_x64_mono!LicenseInfo::IsPro这个比较关键的函数,(另外说一句,之所以我们可以看到这些函数名称,原因是这个软件里面自带了一个C:\Program Files\Unity\Editor\unity_x64_mono.pdb符号文件),

上面修改后,还需要创建一个C:\ProgramData\Unity\Unity_lic.ulf 文件,这个文件就是真正的授权文件,因为我是不知道真正的授权文件长啥样,所以这个文件里面简单写入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<License id="Terms">
	</License>
</root>

好了,以上3个修改的地方完成后,就算差不多了。总结一下:

1.  在Win10/Win7上安装UnitySetup64-2018.2.7f1.exe(安装时最好把网络打开,因为安装过程中需要下载一些.Net包)

2. 断网

3. 手动生成 C:\ProgramData\Unity\Unity_lic.ulf 文件

4. 用UltraEdit或其他可以编辑二进制文件的软件,将C:\Program Files\Unity\Editor\Unity.exe文件的0x20AA134-0x20AA144这17个字节替换为 90 48 c7 c1 ff ff ff ff 49 89 8e 68 01 00 00 31 c0,然后把 0x20AA168-0x20AA16C这5个字节替换为 bb 00 00 00 00,然后保存

5. 鼠标双击 C:\Program Files\Unity\Editor\Unity.exe,不出意外的话,会出现以下画面:

然后点击"Work offline" 离线工作模式按钮,就进入到期待已久的画面:

另外,在整个过程中我发现了C:\Users\xxxxx\AppData\Roaming\Unity\Packages\node_modules\unity-editor-home\dist\assets\unity-editor-home.js 这个js文件,解压前的位置为C:\Program Files\Unity\Editor\Data\Resources\Packages\unity-editor-home.2.1.4.tgz,里面有相关的登录验证代码,有兴趣的话,可以去研究一下

链接:https: // pan.baidu.com /s /1NHUHJZ2-_LF7hRNecUUdMg 
提取码:sq4v

声明:以上内容仅供研究学习之用,不做其他用途

       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值