GGLHY 发表于 2008-1-21 09:31:21

文件加锁王飘云阁特别版 重起验证爆破追码过程

【破文标题】文件加锁王飘云阁特别版重起验证爆破追码过程
【破文作者】gglhy
【作者邮箱】
【作者主页】
【破解工具】PEID看雪版、W32DSM、OD、Aspackdie、keymake1.73
【破解平台】Winxp-sp2
【软件名称】文件加锁王2007企业版 V 6.47 飘云阁特别版
【软件大小】
【原版下载】
【保护方式】
【软件简介】
【破解声明】只为了解软件的保护技术、顺便看看非计算机专业的自己水平有多菜。时刻谨记:追码不为利只为艺!
------------------------------------------------------------------------
【破解过程】   先说点题外话:从网上下了这个软件,安装时发现有“附赠一组正版KEY:用户名:Nisy 注册码:[随意]--[随意]”,于是想看看自己能否找出自己的注册信息。于是就没有用Nisy大侠的附赠正版KEY注册,于是就有了这篇破文。我不知道PYG是否有了这个软件的破文,但我觉得应当将我自己的破解经过纪录下来,留下我的足印。因此,如果本文有与其他破文雷同之处,我只想说“我没作弊!”

1.运行folderlockpro.exe,呵呵,注册时发现注册名称:Nisy,授权密码******-**********-******已填入,注册认证按钮为灰,用激活专家.exe也无法激活它,显然不能注册。退出。
    为什么不能注册呢?Use your head,and you will find a way!分析一下,这可能有以下的几种情况:
   (1)程序已注册,注册认证按钮是灰色的;
   (2)程序是实时验证,注册信息正确的话注册认证按钮就被被激活;
   (3)其他我还没有掌握的情况 :)

2.那我们先来对第一种情形实验一下:
       OD载入,N次F9运行后,输入密码:1234后进入主界面,查找字符串,没有什么发现。

      用PEID查壳:ASPack 2.12 -> Alexey Solodovnikov ,Aspackdie脱后的UNPACKED.EXE无法运行,看来有自校验?W32DSM出马。找到如下信息:
    (这里省略部分信息)
A “ 提示:软件试用期已到,要继续使用,请和供应商联系注册。”       ----(00506EC9)
B" 提示:未注册版本可以免费使用10天,现在还剩下"               ----(00506F4A)
C"请重新启动软件以验证注册码!感谢您对我们的支?                ----(呵呵,W32告诉我字符串没找到!)

OD载入,右键--转到--表达式,输入:00506EC9,确定,来到:
(这里省略部分代码)
00506E78    55            push    ebp
00506E79    68 9F6F5000   push    00506F9F
00506E7E    64:FF30         push    dword ptr fs:
00506E81    64:8920         mov   fs:, esp
00506E84    8B83 E4040000   mov   eax,
00506E8A    E8 69EDFEFF   call    004F5BF8
00506E8F    84C0            test    al, al
00506E91    74 4A         je      short 00506EDD
00506E93    A1 B41E5100   mov   eax,
00506E98    8B80 F0040000   mov   eax,
00506E9E    33D2            xor   edx, edx
00506EA0    8B08            mov   ecx,
00506EA2    FF51 64         call   
00506EA5    A1 B41E5100   mov   eax,
00506EAA    8B80 2C030000   mov   eax,
00506EB0    33D2            xor   edx, edx
00506EB2    8B08            mov   ecx,
00506EB4    FF51 64         call   
00506EB7    A1 B41E5100   mov   eax,
00506EBC    8B80 3C030000   mov   eax,
00506EC2    33D2            xor   edx, edx
00506EC4    8B08            mov   ecx,
00506EC6    FF51 64         call   
00506EC9    BA B46F5000   mov   edx, 00506FB4      ;提示:软件试用期已到,要继续使用,请和供应商联                           系注册。
00506ECE    A1 B41E5100   mov   eax,
00506ED3    E8 94EBF3FF   call    00445A6C
00506ED8    E9 A7000000   jmp   00506F84
00506EDD    8B83 E4040000   mov   eax,
00506EE3    E8 E8E6FEFF   call    004F55D0
00506EE8    84C0            test    al, al
00506EEA    74 5E         je      short 00506F4A
00506EEC    33D2            xor   edx, edx
00506EEE    8B83 BC040000   mov   eax,
00506EF4    8B08            mov   ecx,
00506EF6    FF51 64         call   
00506EF9    BA F46F5000   mov   edx, 00506FF4      ; *****
00506EFE    8B83 D0040000   mov   eax,
00506F04    E8 63EBF3FF   call    00445A6C
00506F09    BA F46F5000   mov   edx, 00506FF4      ; *****
00506F0E    8B83 D8040000   mov   eax,
00506F14    E8 53EBF3FF   call    00445A6C
00506F19    BA 04705000   mov   edx, 00507004      ;文件加锁王企业版飘云阁论坛奉送
00506F1E    A1 B41E5100   mov   eax,
00506F23    E8 44EBF3FF   call    00445A6C
00506F28    BA 2C705000   mov   edx, 0050702C      ; nisy
00506F2D    8B83 C8040000   mov   eax,
00506F33    E8 34EBF3FF   call    00445A6C
00506F38    BA 3C705000   mov   edx, 0050703C      ; xxxxxxxxxx
00506F3D    8B83 D4040000   mov   eax,
00506F43    E8 24EBF3FF   call    00445A6C
00506F48    EB 3A         jmp   short 00506F84
00506F4A    68 50705000   push    00507050             ;提示:未注册版本可以免费使用10天,现在还剩下
00506F4F    8B83 E4040000   mov   eax,
00506F55    E8 36E6FEFF   call    004F5590
00506F5A    8D55 F8         lea   edx,
00506F5D    E8 EE27F0FF   call    00409750
00506F62    FF75 F8         push    dword ptr
00506F65    68 84705000   push    00507084             ; 天。

看,00506E91处的je short 00506EDD实现的话,就表示还在注册期内,因此,必须让00506e91的跳转实现,这是一个爆破点,改为JMP。
那么这一段程序是从哪跳来的?在W32DSM中一分析,原来,这个跳转来自00508CAC,好。OD中表达式输入00508CAC,来到:
00508CA7    64:8920         mov   fs:, esp
00508CAA    8BC3            mov   eax, ebx
00508CAC    E8 BBE1FFFF   call    00506E6C
      这个00508CAC处的CALL肯定有问题。猜想它可能是判断程序是否已经注册的,那么是不是它的存在无法让注册按钮生效呢?好验证一下,选中这3行,右键--》二进制--》用NOP填充,再点程序的软件注册按钮,哈哈,注册名称、授权密码、注册认证按钮都能用了。看来猜的没错。填入假码:注册名称:gglhy,授权密码111111-2222222222222222-333333 点注册认证按钮,告诉我重起!OK,现在解决了不能注册的问题了。


      能注册就好办了。现在OD载入,右键--转到--表达式,输入:00506F4A,点确定。然后右键查找字符串-->ASCII,呵呵,看到了好多让我看见希望的东东!:)
比如:
“0050B49A未输入注册码或者输入的注册码不正确,请重新输入或者与软件供应商联系!”哈哈!在W32中可没看见吧
“0050B4C6请重新启动软件以验证注册码!\n感谢您对我们的支持,我们将为您提供终身免费升级。”

OD中右键--转到--表达式,输入:0050B49A,来到这里:
0050B48E    E8 01A5FEFF   call    004F5994
0050B493    84C0            test    al, al
0050B495    75 2C         jnz   short 0050B4C3
0050B497    8D45 FC         lea   eax,
0050B49A    BA 30B55000   mov   edx, 0050B530       ; 【提示信息】:未输入注册码或者输入的注册码不正确,请重新输入或者与软件供应商联系!
0050B49F    E8 8096EFFF   call    00404B24
0050B4A4    6A 40         push    40
0050B4A6    8B45 FC         mov   eax,
0050B4A9    E8 8E9AEFFF   call    00404F3C
0050B4AE    8BD0            mov   edx, eax
0050B4B0    B9 84B55000   mov   ecx, 0050B584       ; 提示信息
0050B4B5    A1 B4035100   mov   eax,
0050B4BA    8B00            mov   eax,
0050B4BC    E8 83B4F5FF   call    00466944
0050B4C1    EB 36         jmp   short 0050B4F9
0050B4C3    8D45 FC         lea   eax,
0050B4C6    BA 98B55000   mov   edx, 0050B598       ; 请重新启动软件以验证注册码!\n感谢您对我们的                                                          支持,我们将为您提供终身免费升级。
0050B4CB    E8 5496EFFF   call    00404B24

      分析下,0050B495的跳实现了的话,就会跳到00500B4C6 处的提示重起验证地方来,能否跳过重起验证呢?看0050B4C6处的重起验证上边00500B4C1有个JMP,这个JMP跳过了重起验证。除了0050B495外这个JMP上方有没有什么跳会跳过这个JMP?在这一段里好象没有了。但是如果我们把它NOP掉呢,会发生什么?显然,0050B49A的错误信息就会出现。那么0050B48E处的call就很关键了。必须进去看看。下断后填入假码注册被OD断下了,F7进入:然后F8前进到这里:
004F5A19    E8 BAFBFFFF   call    004F55D8
004F5A1E    8B45 F0         mov   eax, dword ptr >
004F5A21    8B55 F0         mov   edx, dword ptr >
004F5A24    E8 3338F1FF   call    0040925C

在右边堆栈处看到:
0012FBC4   00ECDF24ASCII "005B797AD8"
0012FBC8   00ECDECCASCII "2222222222222222222222222"
0012FBCC   00000000
0012FBD0   00EAAB6CASCII "gglhy"

"005B797AD8"第一次出现。 呵呵。这个字符串居然敢和我的假码(的中段)在一起聊天!
这里004F5A19的call 是不是该进去LOOK下?
OD重新载入,(前面该修改的就修改,该F2的就F2,不废话了)在004F5A19下断,运行到004F5A19后F7+N*F8,沿途看见一个字符串"gf258gglhy369gf"重复出现。要不是我的数学一直在及格线上徘徊,我还真想跟一跟它的来历。
当来到004f5737时,
004F5732    E8 7D40F1FF   call    004097B4
004F5737    8B07            mov   eax, dword ptr
004F5739    E8 06F6F0FF   call    00404D44

右边堆栈看到
0012FBC4|00ECDEF8ASCII "005B797AD8"
0012FBC8|00ECDEA4ASCII "22222222222222222222222"
0012FBCC|00000000
0012FBD0|00E950C0ASCII "gglhy"


------------------------------------------------------------------------
【破解总结】呵呵,先动脑再动手,往往事半功倍!
------------------------------------------------------------------------
【版权声明】请尊重软件作者的辛勤劳动,破解只为艺不为利!

hnld 发表于 2008-1-21 10:07:40

谢谢楼主的分享,下载实习。/:001

zanjero 发表于 2008-1-21 12:46:02

写得不错,支持/:good

maoli0366 发表于 2008-1-21 13:56:24

很好的文章,菜鸟学习下

nszy007 发表于 2008-1-21 14:25:53

这软件光有注册码也不行的,需要登陆他网站去下个什么文件才能得到正式授权,不然一样有限制。

yzxyz68 发表于 2008-1-21 16:09:28

这个软件不好用哦

puti67 发表于 2008-1-21 21:43:15

太难了吧!我做不出来

tydzjing 发表于 2008-1-22 01:48:20

学习中/:012 /:012

天下 发表于 2008-1-29 11:20:41

很好的文章啊 ,来学习下啊

105200951 发表于 2008-1-29 12:35:08

看着是晕乎的,请整理一套脱壳教程哈,把ESP简单化
页: [1] 2
查看完整版本: 文件加锁王飘云阁特别版 重起验证爆破追码过程