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插件,代码段等等. 完全 ...
随机推荐
- confirm使用方法
定义和使用方法 confirm() 方法用于显示一个带有指定消息和 OK 及取消button的对话框. 语法 confirm(message) 參数 描写叙述 message 要在 window 上弹 ...
- api.connectionType 判断当前网络技术经验
使用 api.connectionType 判断当前网络的时候,需要注意,要加入大小写转换,三星返回的网络是大写 3G /** * 返回当前是否联网 * 周枫 * 3g 4g wifi none * ...
- cocos2d-x lua 使用自定义消息EventCustom
cocos2d-x lua 使用自定义消息EventCustom version: cocos2d-x 3.6 1.发送消息 -- post message -- event将会被传递给消息接收函数, ...
- 如何使用数据卷在宿主机和docker容器之间共享文件
共享宿主机的目录给容器 docker run -i -t -v ~/download:/home/hello python3-env /bin/bash -v 表示创建一个数据卷并挂载到容器里 ~/ ...
- The required Server component failed to start so Tomcat is unable to start解决之一
http://www.cnblogs.com/quxuedan/archive/2012/12/11/2813445.html 看看这个博客园园主说的吧
- Codeforces Round #190 (Div. 2) 水果俩水题
后天考试,今天做题,我真佩服自己... 这次又只A俩水题... orz各路神犇... 话说这次模拟题挺多... 半个多小时把前面俩水题做完,然后卡C,和往常一样,题目看懂做不出来... A: 算是模拟 ...
- linux编辑器 vi的使用
vi 编辑器的三个模式: 命令模式 开始就是命令模式 insert模式 i, I, a, A, o,O ,s, S 命令行模式 : i 在当前位置进入Insert模式 I 在行的头部进入Inser ...
- IE8 innerHTML赋值时包含多级HTML标签时的解决方案
var inhtml = ''; var font = document.createElement("font"); var a = document.createElement ...
- JMS笔记(二)
接上篇 JMS笔记(一),启动ActiveMQ后,打开http://127.0.0.1:8161/admin管理界面,用户名admin密码admin,点击上面的Queues菜单,创建一个q_test_ ...
- [改善Java代码]使用匿名类的构造函数
建议39: 使用匿名类的构造函数 阅读如下代码,看看是否可以编译: public class Client { public static void main(String[] args) { Lis ...