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爆破过程记录的更多相关文章

  1. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

  2. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  3. CentOS 5.5 下安装Countly Web Server过程记录

    CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...

  4. linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录

    过程记录 :  1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip     2.进入解压后的目录gsoap-2.8   3.自动配置编译环境:  $ ...

  5. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  6. 升级到 ExtJS 5的过程记录

    升级到 ExtJS 5的过程记录   最近为公司的一个项目创建了一个 ExtJS 5 的分支,顺便记录一下升级到 ExtJS 5 所遇到的问题以及填掉的坑.由于 Sencha Cmd 的 sencha ...

  7. Ubuntu14.04 Tomcat 安装过程记录

    Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...

  8. mercurial(Hg) Server 搭建 过程记录

    mercurial(Hg) Server 搭建 过程记录 1.  环境说明 只是测试搭建,环境为本机开发环境:win 8.1 + IIS8.5 软件准备: 2.  软件安装 先安装Python2.7, ...

  9. xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)

    这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...

随机推荐

  1. 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: ...

  2. 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用

    错误提示: 服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误信 ...

  3. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  4. Oracle 设置表空间自增长

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  5. js判断手机浏览器是横屏or竖屏

    移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态. 从而根据实际需求而执行相应的程序.通过添加监听事件onorientationc ...

  6. 如何写出优雅兼备可读性的javascript代码

    即或是最简单的需求,不同的程序员也会写出不一样的代码: 需求:充值程序过虑不符合条件的充值金额,即只能充入100.200.500.1000金额,其它过虑: 1.菜鸟程序员可能会这样写,虽然可读性强,代 ...

  7. ubuntu 下安装boost库

    ubuntu下安装boost库,,在网上试了一些其他人推荐的libboost-dev 但是会缺少,编译程序会报错: /usr/bin/ld: cannot find -lboost_serializa ...

  8. while语句(1)

    <?php     for ($i=1; $i<=10  ; $i++) {        echo $i."-".($i*10)."<br>&q ...

  9. 【动态规划】bzoj1642 [Usaco2007 Nov]Milking Time 挤奶时间

    区间按左端点排序,dp. #include<cstdio> #include<algorithm> using namespace std; #define N 1001 st ...

  10. iOS和Android测试区别

    1.      Android长按home键呼出应用列表和切换应用,然后右滑则终止应用: 2.      多分辨率测试,Android端20多种,ios较少: 3.      手机操作系统,Andro ...