- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
HomePage:http://www.sublimetext.com/
一款非常优秀的代码编写器,近乎是免费的,简单看下验证流程。
- 搜索unicode : unreg
- 013AE8BA |. BE 8C9E6001 mov esi, 01609E8C ; sublime text 2
- 013AE8BF |. DD58 10 fstp qword ptr [eax+10]
- 013AE8C2 |. DD58 18 fstp qword ptr [eax+18]
- 013AE8C5 |. E8 46FEFFFF call 013AE710
- 013AE8CA |. 83C4 2C add esp, 2C
- 013AE8CD |. 803D 88076C01>cmp byte ptr [580788], 0 // 对这个全局变量下硬件访问断点
- 013AE8D4 |. 0F84 0D020000 je 013AEAE7 // 跳转来自于这里
- ......
- 013AEAE5 |. /EB 63 jmp short 013AEB4A
- 013AEAE7 |> |DD4424 40 fld qword ptr [esp+40]
- 013AEAEB |. |8B5424 2C mov edx, dword ptr [esp+2C]
- 013AEAEF |. |DD05 D0376001 fld qword ptr [16037D0]
- 013AEAF5 |. |8B7A 64 mov edi, dword ptr [edx+64]
- 013AEAF8 |. |DCC1 fadd st(1), st
- 013AEAFA |. |B0 FF mov al, 0FF
- 013AEAFC |. |884424 28 mov byte ptr [esp+28], al
- 013AEB00 |. |884424 29 mov byte ptr [esp+29], al
- 013AEB04 |. |DEC1 faddp st(1), st
- 013AEB06 |. |884424 2A mov byte ptr [esp+2A], al
- 013AEB0A |. |884424 2B mov byte ptr [esp+2B], al
- 013AEB0E |. |8B4C24 28 mov ecx, dword ptr [esp+28]
- 013AEB12 |. |51 push ecx
- 013AEB13 |. |83EC 28 sub esp, 28
- 013AEB16 |. |DD5C24 20 fstp qword ptr [esp+20]
- 013AEB1A |. |8BC4 mov eax, esp
- 013AEB1C |. |DD4424 74 fld qword ptr [esp+74]
- 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 [esp+4]
- 002CEDEE . A2 88075800 mov byte ptr [580788], al // 典型的全局变量验证模型
- 002CEDF3 . C74424 28 FFFFFFFF mov dword ptr [esp+28], -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:[0]
- 002CA9BD |. 50 push eax
- 002CA9BE |. 64:8925 00000>mov dword ptr fs:[0], 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 [esp+20], 10
- 002CAA6F |. 8B4424 0C mov eax, dword ptr [esp+C]
- 002CAA73 |. 73 04 jnb short 002CAA79
- 002CAA75 |. 8D4424 0C lea eax, dword ptr [esp+C]
- 002CAA79 |> 50 push eax ; /s
- 002CAA7A |. FF15 D0264C00 call dword ptr [<&MSVCR90.atoi>] ; \atoi
- .....
- /// 看函数返回值
- 002CAD55 |. 8B4C24 78 mov ecx, dword ptr [esp+78]
- 002CAD59 |. 8AC3 mov al, bl // 爆破点 mov al,1
- 002CAD5B |. 5B pop ebx
- 002CAD5C |. 64:890D 00000000 mov dword ptr fs:[0], 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的返回值时机。
|
评分
-
查看全部评分
|