• Sublime Text 破解


    引言

    放假三天,呆家里把win7换成了win8.1,接着玩起了hyperv,试着装了个windows xp虚拟机,体验很不错Smile。不过对linux系统的支持不怎么样,装了个ubuntu,体验相当差!闲着无聊,在虚拟机里用od调试Sublime Text,探索了一下它的注册流程,于是有了这篇博文,与大家一起分享一些逆向思路,共同学习。

    初探——运行环境和初步分析

    windows xp(32位)系统  + ollydbg + sublime text(32位)。三个工具请自行去官网下载Open-mouthed smile。首先尝试在Sublime Text(下面以ST替代)注册界面随意输入字符,结果如下:

    image

    image

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

    image

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

    image

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

    image

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

    image

    image

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

    image

    image

    哈哈,注册成功。太简单了吧,只是改了一下跳转,随意输入字符就可以通过注册了。但是,不知道大家注意到没,ST主窗口上依然显示的UNREGISTERED……看起来、、、似乎、、、好像、、、改个跳转的作用仅仅是欺骗下我们自己。。。。。

    进一步分析——关键是EAX寄存器的值

    从上面的分析可以看到,它是根据EAX的值来决定跳转的,我们可以尝试从此处向上跟一下EAX的值在哪处改变了。一般来说,call都是用eax来返回值的,那么eax的值是否是上面004C43CF那个call的返回值呢?我们双击该行:

    image

    image

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

    image

    image

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

    image

    image

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

    image

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

    image

    可以看到,只要我们每次打开ST,然后注册,ST便认为我们已注册。

    但是,这样我们能满足吗?作为一个追求完美的程序员,每次打开软件,还要再点击注册!!!这你能忍吗?如果不能忍,请以留言或者点击右下角赞的形式告知我Open-mouthed smile

    注:以上所有内容,仅是为了交流,请大家支持正版。

    如果有对后续感兴趣的同学,请点击这里,我在这里分享了后面的分析内容。

  • 相关阅读:
    android 模拟点击事件
    IGZO显示屏
    java 代码混淆
    android 模拟点击3
    android 文件读写
    android 抓包 tcpdump
    pathon 2
    conversion to dalvik format failed with error 1
    zipalign
    android 来电状态
  • 原文地址:https://www.cnblogs.com/cdh49/p/3653144.html
Copyright © 2020-2023  润新知