AtomineerUtils爆破过程记录
AtomineerUtils是国外的一款用于生成源代码注释的一款VS插件,官方网站:http://www.atomineerutils.com/products.php
通过链接,可以看出这款插件的功能十分强大,不像GhostDoc那样,只支持C#,这款插件,支持C、C++、C++/CLI、C#、Java语言等,由此可以看出其强大,注释的风格可以灵活配置。
虽然他功能十分强大,但是由于是收费的软件,所以当使用超过30天后,就无法再继续适用了。虽然价格不贵,只有40美刀,但是由于时间紧急,必须立刻使用他的功能,所以没有时间去购买license。
那么能不能试着破解他呢,或者继续使用。说到破解,我的水平也就只能研究一下未混淆的.Net程序,如果这个插件是用C++写的话,那么不好意思,破不了。
用Reflector试着打开,发现能识别,如下:

同时也可以看到这个版本号是:8.16.5174.40541。这是最新版本了。
既然是.Net的DLL,那么相对来说就好说了,至少和C++相比来说,有希望了。
既然是VS的插件,那么肯定要遵守VS的插件接口规范。(VS的插件接口不在本篇中介绍)
首先找到它的OnConnect方法:

然后从OnConnect方法入手进行研究,最终定位到这里:
internal static bool b(bool A_0, bool A_1 = false)
{
bool flag = true;
int num = (((DateTime.Today.Year - ) * ) + DateTime.Today.DayOfYear) << ;
int num2 = ;
try
{
num2 = Convert.ToInt32(c(f, "", string.Empty));
}
catch
{
}
int num3 = (num - num2) >> ;
if (num3 > )
{
if (e[][] == 'I')
{
for (int i = ; i < e.Length; i++)
{
StringBuilder builder = new StringBuilder();
for (int j = ; j < e[i].Length; j++)
{
builder.Append((char) (e[i][j] ^ ( | (j % ))));
}
e[i] = builder.ToString();
}
}
if (num3 > )
{
flag = false;
Commands.f();
if ((num3 == g) || A_1)
{
return false;
}
MessageBox.Show(e[] + Environment.NewLine + Environment.NewLine + e[] + Environment.NewLine + Environment.NewLine + e[], "Atomineer Pro Documentation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
if ((num3 == g) || !A_0)
{
return true;
}
string[] strArray2 = new string[] { e[], ( - num3).ToString(), e[], Environment.NewLine, Environment.NewLine, e[] };
if (MessageBox.Show(string.Concat(strArray2), "Atomineer Pro Documentation", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) != DialogResult.Yes)
{
return true;
}
}
k.h("t~e}xzws");
g = num3;
}
return flag;
}
根据上面的逻辑,只要不执行 num3 > 29的逻辑,并且返回值为true即可,可以做如下修改:
bool flag = true;
...
int num3 = (num2 - num2) >> ;
这样,num3等于0,而且返回值为true。
那么如何修改这些代码呢,基于Reflector的Reflexil插件,来修改IL代码,然后另存为dll文件即可。
如下,是修改后的截图:

这样,整个插件就算是被破解了,可以无限期使用了。
AtomineerUtils爆破过程记录的更多相关文章
- 升级Windows 10 正式版过程记录与经验
升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...
- 双系统Ubuntu分区扩容过程记录
本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...
- CentOS 5.5 下安装Countly Web Server过程记录
CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...
- linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录
过程记录 : 1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip 2.进入解压后的目录gsoap-2.8 3.自动配置编译环境: $ ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- 升级到 ExtJS 5的过程记录
升级到 ExtJS 5的过程记录 最近为公司的一个项目创建了一个 ExtJS 5 的分支,顺便记录一下升级到 ExtJS 5 所遇到的问题以及填掉的坑.由于 Sencha Cmd 的 sencha ...
- Ubuntu14.04 Tomcat 安装过程记录
Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...
- mercurial(Hg) Server 搭建 过程记录
mercurial(Hg) Server 搭建 过程记录 1. 环境说明 只是测试搭建,环境为本机开发环境:win 8.1 + IIS8.5 软件准备: 2. 软件安装 先安装Python2.7, ...
- xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)
这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...
随机推荐
- Spring Boot + Bootstrap 出现"Failed to decode downloaded font"和"OTS parsing error: Failed to convert WOFF 2.0 font to SFNT"
准确来讲,应该是maven项目使用Bootstrap时,出现 "Failed to decode downloaded font"和"OTS parsing error: ...
- 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
错误提示: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误信 ...
- 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案
方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...
- Oracle 设置表空间自增长
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...
- js判断手机浏览器是横屏or竖屏
移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序.通过添加监听事件onorientationc ...
- 如何写出优雅兼备可读性的javascript代码
即或是最简单的需求,不同的程序员也会写出不一样的代码: 需求:充值程序过虑不符合条件的充值金额,即只能充入100.200.500.1000金额,其它过虑: 1.菜鸟程序员可能会这样写,虽然可读性强,代 ...
- ubuntu 下安装boost库
ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...
- while语句(1)
<?php for ($i=1; $i<=10 ; $i++) { echo $i."-".($i*10)."<br>&q ...
- 【动态规划】bzoj1642 [Usaco2007 Nov]Milking Time 挤奶时间
区间按左端点排序,dp. #include<cstdio> #include<algorithm> using namespace std; #define N 1001 st ...
- iOS和Android测试区别
1. Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2. 多分辨率测试,Android端20多种,ios较少: 3. 手机操作系统,Andro ...