Nisy 发表于 2014-12-26 12:13:46

Sublime Text 2.0 简单分析

HomePage:http://www.sublimetext.com/
一款非常优秀的代码编写器,近乎是免费的,简单看下验证流程。




搜索unicode : unreg

013AE8BA|.BE 8C9E6001   mov   esi, 01609E8C                  ;sublime text 2
013AE8BF|.DD58 10       fstp    qword ptr
013AE8C2|.DD58 18       fstp    qword ptr
013AE8C5|.E8 46FEFFFF   call    013AE710
013AE8CA|.83C4 2C       add   esp, 2C
013AE8CD|.803D 88076C01>cmp   byte ptr , 0// 对这个全局变量下硬件访问断点
013AE8D4|.0F84 0D020000 je      013AEAE7                // 跳转来自于这里

......
013AEAE5|. /EB 63         jmp   short 013AEB4A
013AEAE7|> |DD4424 40   fld   qword ptr
013AEAEB|. |8B5424 2C   mov   edx, dword ptr
013AEAEF|. |DD05 D0376001 fld   qword ptr
013AEAF5|. |8B7A 64       mov   edi, dword ptr
013AEAF8|. |DCC1          fadd    st(1), st
013AEAFA|. |B0 FF         mov   al, 0FF
013AEAFC|. |884424 28   mov   byte ptr , al
013AEB00|. |884424 29   mov   byte ptr , al
013AEB04|. |DEC1          faddp   st(1), st
013AEB06|. |884424 2A   mov   byte ptr , al
013AEB0A|. |884424 2B   mov   byte ptr , al
013AEB0E|. |8B4C24 28   mov   ecx, dword ptr
013AEB12|. |51            push    ecx
013AEB13|. |83EC 28       sub   esp, 28
013AEB16|. |DD5C24 20   fstp    qword ptr
013AEB1A|. |8BC4          mov   eax, esp
013AEB1C|. |DD4424 74   fld   qword ptr
013AEB20|. |BE 6C9E6001   mov   esi, 01609E6C                  ;unregistered







启动时中断在这里:

002CEDE2   .E8 C9BBFFFF          call    002CA9B0
002CEDE7   .83C4 0C            add   esp, 0C
002CEDEA   .8D4C24 04            lea   ecx, dword ptr
002CEDEE   .A2 88075800          mov   byte ptr , al   // 典型的全局变量验证模型
002CEDF3   .C74424 28 FFFFFFFF   mov   dword ptr , -1


提取一组特征码:
E8 ?? ?? ?? ?? 83 C4 0C 8D 4C 24 04 A2 ?? ?? ?? ?? C7 44 24 28 FF FF FF FF


跟进Call 看一下:
本地调用来自 002CB321, 002CEDE2// 两处调用 应该是一处注册 一处启动验证


002CA9B0/[      DISCUZ_CODE_1      ]nbsp; 6A FF         push    -1
002CA9B2|.68 C4C84A00   push    004AC8C4                         ;SE 处理程序安装
002CA9B7|.64:A1 0000000>mov   eax, dword ptr fs:
002CA9BD|.50            push    eax
002CA9BE|.64:8925 00000>mov   dword ptr fs:, esp
002CA9C5|.83EC 74       sub   esp, 74
002CA9C8|.53            push    ebx
002CA9C9|.68 98E04C00   push    004CE098                         ;30819d300d06092a864886f70d010101050003818b0030818702818100d87ba24562f7c5d14a0cfb12b9740c195c6bdc7e6d6ec92bac0eb29d59e1d9ae67890c2b88c3abdcaffe7d4a33dcc1bfbe531a251cef0c923f06be79b2328559acfee986d5e15e4d1766ea56c4e10657fa74db0977c3fb7582b78cd47bb2c7f9b2 ..


... ...
// 这是什么算法 ... 算法直接跳过看返回值
002CAA50|.68 90E04C00          push    004CE090                         ;ea7e
002CAA55|.50                   push    eax
002CAA56|.FF15 84234C00      call    dword ptr [<&MSVCP90.std::operat>;MSVCP90.std::operator!=<char,std::char_traits<char>,std::allocator<char> >
002CAA5C|.83C4 08            add   esp, 8
002CAA5F|.84C0               test    al, al
002CAA61|.74 07                je      short 002CAA6A
002CAA63|>32DB               xor   bl, bl
002CAA65|.E9 A0020000          jmp   002CAD0A
002CAA6A|>837C24 20 10         cmp   dword ptr , 10
002CAA6F|.8B4424 0C            mov   eax, dword ptr
002CAA73|.73 04                jnb   short 002CAA79
002CAA75|.8D4424 0C            lea   eax, dword ptr
002CAA79|>50                   push    eax                              ; /s
002CAA7A|.FF15 D0264C00      call    dword ptr [<&MSVCR90.atoi>]      ; \atoi


.....

/// 看函数返回值
002CAD55|.8B4C24 78            mov   ecx, dword ptr
002CAD59|.8AC3               mov   al, bl// 爆破点mov al,1
002CAD5B|.5B                   pop   ebx
002CAD5C|.64:890D 00000000   mov   dword ptr fs:, ecx
002CAD63|.81C4 80000000      add   esp, 80
002CAD69\.C3                   retn


提取特征码:
8B 4C 24 78 8A C3 5B 64 89 0D 00 00 00 00 81 C4 80 00 00 00 C3
8B 4C 24 78 B0 01 5B 64 89 0D 00 00 00 00 81 C4 80 00 00 00 C3





定位特征码破解 还是选取算法call的返回值时机。

Dxer 发表于 2014-12-26 13:33:05

谢谢校长。做下校长的沙发。这个软件很好用。

vipcrack 发表于 2014-12-26 14:09:59

膜拜中,算法是RSA。

GeekCat 发表于 2014-12-26 14:25:20

来学习N大的分析
一直用Notepad++
试用一下这个软件

l0v3cr4ck 发表于 2014-12-26 15:52:19

本帖最后由 13595485 于 2014-12-26 15:53 编辑

感谢N大,这么酷啊。赶紧收藏一份去{:soso_e102:}

我来补个中文包
下载文件解压后放进安装目录Sublime Text 2\Packages 下面即可。

gujin162 发表于 2014-12-26 16:02:59


感谢分享,收藏

pk196371 发表于 2014-12-26 22:14:41

哈哈支持一下。

smallhorse 发表于 2014-12-27 00:38:07

学习N大分享!回馈PYG,特意{:soso_e144:}前来跪舔校长!!!大腿也一并抱了!!

qq8167005 发表于 2014-12-27 08:30:37

好东西谢谢楼主!

qq8167005 发表于 2014-12-27 08:32:06

楼主,   你的最后没那个算法代码怎么用易语言表示
页: [1] 2
查看完整版本: Sublime Text 2.0 简单分析