目标程序:review.exe
使用工具:1. exeinfope.exe 2. dnSpy
步骤1:首先使用exeinfope查看一下本次目标的成分(不知道应该怎么形容) 结果如下图
Snipaste_2023-06-25_21-31-29.jpg (4.32 KB, 下载次数: 0)
下载附件
2023-6-25 21:34 上传
既然是.NET就可以快乐的使用DNSPY咧~
步骤2:用DNSPY打开目标程序;
直接右键转到入口点;
image.png (33.5 KB, 下载次数: 0)
下载附件
2023-6-25 21:39 上传
由于dnspy过于给力 ,接下来基本上就是阅读源码的操作
image.png (44.6 KB, 下载次数: 0)
下载附件
2023-6-25 22:26 上传
经过漫长的寻找终于找到了下面这行license象关的内容
image.png (7.53 KB, 下载次数: 0)
下载附件
2023-6-25 22:48 上传
未完明天继续。。。。
拒绝托更,从我做起
image.png (33.36 KB, 下载次数: 0)
下载附件
2023-6-26 21:18 上传
这里这个异常是由这个Core抛出的,license象关的验证应该就在这个里面;
image.png (46.86 KB, 下载次数: 0)
下载附件
2023-6-26 21:32 上传
在Core里可以从反编译看出这个链接库是一个包装了cpp的,红色箭头这里看到抛出了一个
[color=]throw
[color=]
[color=]new
[color=]
[color=]Core
[color=].
[color=]LicenseException
[color=](
[color=]message
[color=]);
最简单的应对方法就是跳过这个exception,这边打算依靠dnspy的强大功能直接修改代码;
image.png (55.66 KB, 下载次数: 0)
下载附件
2023-6-26 21:39 上传
报错了(我的理解是源文件和cpp一起编译的,dnspy没法将这些引用找回来)
image.png (29.27 KB, 下载次数: 0)
下载附件
2023-6-26 21:41 上传
既然最直白的修改C#代码这条路被堵死了,只能换个方法试一试;
image.png (2.91 KB, 下载次数: 0)
下载附件
2023-6-26 21:46 上传
将反编译代码修改为IL指令(转换到IL之前可以先在要修改内容处打个断点以免找不到目标)下面是两种代码对比
image.png (105.88 KB, 下载次数: 0)
下载附件
2023-6-26 22:30 上传
image.png (63.27 KB, 下载次数: 0)
下载附件
2023-6-26 22:35 上传
根据瞎猜,只要编辑跳转到
[color=]IL_013A的
指令指向别处就可以跳过license验证;
右键编辑IL指令
image.png (58.54 KB, 下载次数: 0)
下载附件
2023-6-26 22:38 上传
编辑好保存即可,接下来尝试一下是否跳转成功;
image.png (15.16 KB, 下载次数: 0)
下载附件
2023-6-26 22:41 上传
弹了一个license message
image.png (30.3 KB, 下载次数: 0)
下载附件
2023-6-26 22:44 上传
哇哈哈,但是并不影响进入程序。
PS 整个 分析过程都是一知半解,希望路过的大佬能够指正一下本菜鸡