引言

放假三天,呆家里把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 破解的更多相关文章

  1. Sublime Text 3 最新可用注册码(免破解)

    12年的时候分享过Sublime Text 2的注册码和破解方法.4年后容我更新一下Sublime Text 3的注册码.. 最好还是购买正版主持版权.:D. 以下两枚注册码用最新的Sublime T ...

  2. sublime Text 的安装、破解、汉化、使用

    Sublime Text 3安装与使用   本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text- ...

  3. Mac OS X下Sublime Text (V2.0.1)破解

    转自:http://blog.sina.com.cn/s/blog_559d66460101cab0.html 1. 在http://www.sublimetext.com/上根据操作系统选择对应版本 ...

  4. Sublime Text 3 破解版 + 注册机 + 汉化包 + 教程

    SublimeText 是一个代码编辑器,也是HTML和散文先进的文本编辑器. SublimeText 是由程序员 Jon Skinner 于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展 ...

  5. Sublime Text 3 破解+ 汉化包

    破解: 第一步:打开主文件搜索十六进制F7D81AC02005 修改1AC0为B001 第二步:搜索 F3FF8BC7E895 修改其中的8BC7为33C0 第三步:过阻拦未注册提示 搜索 0F859 ...

  6. Sublime Text 2安装汉化破解、插件包安装教程

    原文地址: Sublime Text 2安装汉化破解.插件包安装教程_百度经验 http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.ht ...

  7. Sublime Text 3 中文汉化绿色破解特别版下载

    Sublime Text是一款代码编辑器,几乎支持所有语言的编写.sublime给人们的印象不外乎小巧.速度快.并且快捷键丰富而强大.不知繁多的插件. sublime一般被应用到前端的开发.Subli ...

  8. Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版

    Sublime Text 3 Build 3047 32bit/64bit 简体中文安装破解版 Sublime Text 3 Build 3047 32bit 简体中文安装破解版下载:http://y ...

  9. 【工具篇】Sublime Text 2 安装汉化破解、插件包安装教程详解

    Sublime Text概述: Sublime Text是一个代码编辑器,也是HTML和散文先进的文本编辑器. 漂亮的用户界面和非凡的功能,例如:迷你地图,多选择,Python插件,代码段等等. 完全 ...

随机推荐

  1. iOS开发——网络编程Swift篇&(五)同步Post方式

    同步Post方式 // MARK: - 同步Post方式 func synchronousPost() { //创建NSURL对象 var url:NSURL! = NSURL(string: &qu ...

  2. MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)

    http://mysql.taobao.org/monthly/2016/06/10/ 在5.7版本中,InnoDB实现了新的handler的records接口函数,当你需要表上的精确记录个数时,会直 ...

  3. 关于NuDaqPci 数据采集

    最近在做公司一个fct的测试及调试软件 设计到的比较多的通信问题 1,Gpib通信(调用ADL-GPIB) 2,串口通信 3,Usb通信(调用USBXpress) 4,Pci通信(调用PCIS-DAS ...

  4. jgroup 概述--官方文档

    原文地址:http://www.jgroups.org/manual/html/ch01.html# Chapter 1. Overview 1.1. Channel 1.2. Building Bl ...

  5. iOS 开发常用宏

    来源:iOS_小松哥 链接:http://www.jianshu.com/p/be00c3f3cafd 大家都是知道使用宏不仅方便,而且可以提高开发效率.下面总结了iOS开发过程中的一些常用宏,会持续 ...

  6. 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)【转】

    介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 示例 保证一个类仅有一个实例. Singleton using System; using System.Collections.Gene ...

  7. Python 2.x and 3.x String VS Bytes

    In Python 3 unicode strings are the 'regular strings' (str) and byte strings are separate objects. L ...

  8. Android Studio 复制粘贴图片到drawable文件夹没有效果 - 解决方法

    我想放一些图片到drawable文件夹里面,但是简单的复制文件,粘贴文件,或者拖拽文件,都不起作用.不知道为什么,之前是可以的,突然就不行了. 解决方案 在drawable文件夹的目录上右键,选择Re ...

  9. 关于js判断鼠标移入元素的方向——上下左右

    一开始我是这么想的,将待移入的元素分割四块,用mousemove获取第一次鼠标落入的区域来判断鼠标是从哪个方向进去的. 所以只要写个算法来判断鼠标的值落入该元素的区域就可以得出鼠标移入的方向,如下图: ...

  10. Radware中APPDirector系列的Farm Table中的session mode参数说明

    Session mode中共有5种会话保持方式:1.Regular,是普通的会话保持,形成的表项是:Client ip+Server ip的形式2.EntryPerSession(EPS),是端口与i ...