Sublime Text 破解
引言
放假三天,呆家里把win7换成了win8.1,接着玩起了hyperv,试着装了个windows xp虚拟机,体验很不错
。不过对linux系统的支持不怎么样,装了个ubuntu,体验相当差!闲着无聊,在虚拟机里用od调试Sublime Text,探索了一下它的注册流程,于是有了这篇博文,与大家一起分享一些逆向思路,共同学习。
初探——运行环境和初步分析
windows xp(32位)系统 + ollydbg + sublime text(32位)。三个工具请自行去官网下载
。首先尝试在Sublime Text(下面以ST替代)注册界面随意输入字符,结果如下:


将ST拖入OD调试运行,以“That license key”作为线索,搜索字符串:

点击后,在出现的窗口里继续右键,选择查找文本:

双击该行,跳转到指令处并按f2下断点:

我们可以再尝试注册一下ST,观察其是否在这断下。尝试过程我在这略去,可以证实,其验证过程确实会经过这。我们用鼠标往上一行一行代码点击一下,可以看到代码的流程:


可以看到,通过004c43E0处 TEST EAX,EAX,来判断, 当EAX不为0时,跳转至下面的代码处。我们来验证一下流程是否真的是这样。将其跳转指令改一下,由JNZ改为JZ,然后再去注册,看看弹出什么:


哈哈,注册成功。太简单了吧,只是改了一下跳转,随意输入字符就可以通过注册了。但是,不知道大家注意到没,ST主窗口上依然显示的UNREGISTERED……看起来、、、似乎、、、好像、、、改个跳转的作用仅仅是欺骗下我们自己。。。。。
进一步分析——关键是EAX寄存器的值
从上面的分析可以看到,它是根据EAX的值来决定跳转的,我们可以尝试从此处向上跟一下EAX的值在哪处改变了。一般来说,call都是用eax来返回值的,那么eax的值是否是上面004C43CF那个call的返回值呢?我们双击该行:


如上图,我们猜测EAX是在这里被赋值的。那么将此处代码改一下,让EAX为0,再注册试试:


点击注册,可以看到,弹窗直接消失了,然后主窗口处的“UNEEGISTERED”字样也不见了。这次,看起来我们真的破解了ST。我们右键保存该修改,并覆盖当前的Sublime Text.exe(如果怕恢复不了,可以先弄一份副本),如下所示:


直接全部覆盖掉即可。然后我们再双击打开ST,蛋疼的一幕出现了:

不过,我们可以点击注册试试。可以看到,只要随意输入字符注册,那个”UNREGISTERED”字符便会去掉,我们再看看”About Sublime Text“:

可以看到,只要我们每次打开ST,然后注册,ST便认为我们已注册。
但是,这样我们能满足吗?作为一个追求完美的程序员,每次打开软件,还要再点击注册!!!这你能忍吗?如果不能忍,请以留言或者点击右下角赞的形式告知我
。
注:以上所有内容,仅是为了交流,请大家支持正版。
如果有对后续感兴趣的同学,请点击这里,我在这里分享了后面的分析内容。
Sublime Text 破解的更多相关文章
- Sublime Text 3 最新可用注册码(免破解)
12年的时候分享过Sublime Text 2的注册码和破解方法.4年后容我更新一下Sublime Text 3的注册码.. 最好还是购买正版主持版权.:D. 以下两枚注册码用最新的Sublime T ...
- sublime Text 的安装、破解、汉化、使用
Sublime Text 3安装与使用 本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text- ...
- Mac OS X下Sublime Text (V2.0.1)破解
转自:http://blog.sina.com.cn/s/blog_559d66460101cab0.html 1. 在http://www.sublimetext.com/上根据操作系统选择对应版本 ...
- Sublime Text 3 破解版 + 注册机 + 汉化包 + 教程
SublimeText 是一个代码编辑器,也是HTML和散文先进的文本编辑器. SublimeText 是由程序员 Jon Skinner 于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展 ...
- Sublime Text 3 破解+ 汉化包
破解: 第一步:打开主文件搜索十六进制F7D81AC02005 修改1AC0为B001 第二步:搜索 F3FF8BC7E895 修改其中的8BC7为33C0 第三步:过阻拦未注册提示 搜索 0F859 ...
- Sublime Text 2安装汉化破解、插件包安装教程
原文地址: Sublime Text 2安装汉化破解.插件包安装教程_百度经验 http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.ht ...
- Sublime Text 3 中文汉化绿色破解特别版下载
Sublime Text是一款代码编辑器,几乎支持所有语言的编写.sublime给人们的印象不外乎小巧.速度快.并且快捷键丰富而强大.不知繁多的插件. sublime一般被应用到前端的开发.Subli ...
- Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版
Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版 Sublime Text 3 Build 3047 32bit 简体中文安装破解版下载:http://y ...
- 【工具篇】Sublime Text 2 安装汉化破解、插件包安装教程详解
Sublime Text概述: Sublime Text是一个代码编辑器,也是HTML和散文先进的文本编辑器. 漂亮的用户界面和非凡的功能,例如:迷你地图,多选择,Python插件,代码段等等. 完全 ...
随机推荐
- Android apk程序调用其它的APK程序
Intent mIntent = new Intent(); ComponentName comp = new ComponentName("启动的APK包名","启动的 ...
- Android 浅谈相机研发
在android中应用相机功能,一般有两种:一种是直接调用系统相机,一种自己写的相机. 我将分别演示两种方式的使用: 第一种:是使用Intent跳转到系统相机,action为:andro ...
- Android中this.*与*.this还有*.class的区别是什么?
这些是java的基础知识.首先this代表本类的一个引用,this.*表示调用本类的某个方法,这个时候通常可以省略this:但在内部类中不能省略,否则编译器会认为是内部类的引用,所以要在this前加上 ...
- aptana中删除空行
问题:有一个css文件,写一行样式后,会换行,空一行,再写另一个样式.现在需要把空的一行给去掉. 尝试直接复制空行,但是aptana会把所有的换行都去了,变成了一个文件只有一行.尝试用正则,\r\t\ ...
- Jquery解析Json字符串,并且动态生成数据表格Table
//ajax获得后台传来的json字符串 $.post("UserInfo.ashx", function (data) { //假设data="{T1:[{User_I ...
- Android 高级UI设计笔记06:仿微信图片选择器(转载)
仿微信图片选择器: 一.项目整体分析: 1. Android加载图片的3个目标: (1)尽可能的去避免内存溢出. a. 根据图片的显示大小去压缩图片 b. 使用缓存对我们图片进行管理(LruCache ...
- FindBugs缺陷库
1.possible null pointer dereference 解释:某字段可能为空 修复:对应字段使用前判空 2.normal confidence 解释:私有成员变量没有初始化 修复:初始 ...
- 隐藏tabBar页面跳转后会再布局一次,
隐藏tabBar有2种方式 1,在sourceController中隐藏目的控制器的tabBar - (void)prepareForSegue:(UIStoryboardSegue *)segue ...
- Linux上安装MPEG-1 Layer3(mp3)解码器
今天突然想要在linux上播放音乐,但是打开之后发现缺少了解码器 于是去网上找了解决的方法,说得天花乱坠,不过有个帖子给出了很简单的方法. 以下内容转载于网络 上面提示没有安装解码器,这是因为版权问题 ...
- javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)
一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...