飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 14156|回复: 42

[原创] 时间限制的爆破(2007年12月23日)

[复制链接]

该用户从未签到

发表于 2007-12-23 22:28:08 | 显示全部楼层 |阅读模式
【破文标题】时间限制的爆破(2007年12月23日)
【破文作者】Jacksunblack
【作者邮箱】[email protected]
破解工具】PeiD v0.94;Ollydbg;LordPE;Import REConstructor
【破解平台】Windows XP sp2
【软件名称】Easy To-Do Pro 2.0.0
【软件大小】2146KB
【原版下载】http://cncspace.newhua.com/soft/62913.htm
【保护方式】时间限制
【软件简介】Easy To-Do 是一款管理任务列表的程序,简单但功能强大,可以帮助你记住无论是在家里还是在办公室里你必须做的那些任务。通过使用Easy To-Do,你的工作效率会得到提高,会在短时间内完成更多的任务。该软件还可以作为项目管理软件使用。
【破解声明】本破解过程仅出于个人学习目的,如有不足敬请指教!
------------------------------------------------------------------------
【破解过程】    在软件中,未找到有关填写注册码的相关信息,作为一款试用(evaluation)软件,其限制试用时间为30天。
    为此,决定采取爆破的方式,解除软件的时间限制。
    首先,使用PeiD查壳,结果显示为Borland Delphi 6.0 - 7.0语言,无壳。为检测软件的错误提示窗口,故将系统时间提前一年。打开软件,在选中new 时,出现了警告窗口,其信息为:"Your evaluation period has expired, you cannot add any new tasks. Buy the full version today and start adding more tasks"
    使用Ollydbg载入程序,shift+F9运行程序,待显示出主窗体后,设置条件断点“bp MessageBoxA”,点击new。程序暂停,其代码段如下:
    77D5058A >  8BFF            mov edi,edi                              ; ETODO.00762D04
    77D5058C    55              push ebp
    77D5058D    8BEC            mov ebp,esp
    77D5058F    833D BC04D777 0>cmp dword ptr ds:[77D704BC],0
    77D50596    74 24           je short USER32.77D505BC
    观察其堆栈窗口:
    0012FAFC   0045717A  /CALL 到 MessageBoxA 来自 ETODO.00457175
    0012FB00   000A055E  |hOwner = 000A055E ('Easy To-Do Pro (Evaluation) (...',class='TTodoMainForm')
    0012FB04   00762D04  |Text = "Your evaluation period has expired, you cannot add any new tasks. Buy the full version today and start adding more tasks"
    0012FB08   00762CC4  |Title = "Message"
    0012FB0C   00000030  \Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
    确定此处即为错误信息提示处,在堆栈窗口CALL处按ENTER返回到调用处
    00457175    E8 C619FBFF     call <jmp.&user32.MessageBoxA>
    0045717A    8945 F4         mov dword ptr ss:[ebp-C],eax
    0045717D    33C0            xor eax,eax
    0045717F    5A              pop edx
    00457180    59              pop ecx
    向上找到此段程序的起始处:
    00457078  |.  5B            pop ebx
    00457079  \.  C3            retn
    0045707A      8BC0          mov eax,eax
    0045707C  /$  55            push ebp       ;此处即为此段程序的起始位置
    0045707D  |.  8BEC          mov ebp,esp
    0045707F  |.  83C4 A8       add esp,-58
    00457082  |.  53            push ebx
    00457083  |.  56            push esi
    在该位置下断点,重新载入并运行程序。程序断在0045707C的位置,查看堆栈窗口,显示信息如下:
    0012FB84   007629F0  返回到 ETODO.007629F0 来自 ETODO.0045707C
    在其上点击“ENTER”键,到达其返回位置:
    007629EB   .  E8 8C46CFFF   call ETODO.0045707C     ;此处即为调用上段程序的入口处
    007629F0   .  E9 C8020000   jmp ETODO.00762CBD
    007629F5   >  8B45 FC       mov eax,dword ptr ss:[ebp-4]
    类似于上述过程,向上查找到此段程序的开端:
    0076297B   .  C3            retn
    0076297C   $  55            push ebp        ;此处即为该段程序的入口,在此处设断点
    0076297D   .  8BEC          mov ebp,esp
    重新载入并运行程序,来到了0076297C处,F8步进并分析代码:
    007629D2   .  8078 44 00    cmp byte ptr ds:[eax+44],0
    007629D6   .  74 1D         je short ETODO.007629F5                  ;此处的跳转未实现,出现错误窗口
    007629D8   .  6A 30         push 30
    007629DA   .  B9 C42C7600   mov ecx,ETODO.00762CC4                   ;  ASCII "Message"
    007629DF   .  BA 042D7600   mov edx,ETODO.00762D04                   ;  ASCII "Your evaluation period has expired, you cannot add any new tasks. Buy the full version today and start adding more tasks"
    007629E4   .  A1 C4A17800   mov eax,dword ptr ds:[78A1C4]
    由此,将007629D6处的代码修改为无条件跳转jmp,经测试程序运行成功。
------------------------------------------------------------------------
【破解总结】    在程序中,由于没有出现注册码的部分,故采用了爆破的方式。 在尝试过程中,曾经使用bp GetLocalTime进行跟踪,但效果并不理想。因为原程序中出现了过多次的调取过程,比较繁琐。通过提前系统时间,来使程序失效,查找相应的错误窗口。对错误的部分进行拦截(bp MessageBoxA)和分析。
   
------------------------------------------------------------------------
【版权声明】请尊重原版软件!

评分

参与人数 1飘云币 +20 收起 理由
tianxj + 20 感谢您发布的原创作品!期待您的下一个作品 ...

查看全部评分

PYG19周年生日快乐!

该用户从未签到

发表于 2007-12-24 09:51:11 | 显示全部楼层
不错,学习了。/:good
PYG19周年生日快乐!

该用户从未签到

发表于 2007-12-24 10:57:05 | 显示全部楼层
学习中,感谢分享。
PYG19周年生日快乐!

该用户从未签到

发表于 2007-12-24 11:00:57 | 显示全部楼层
楼主的帖都比较清晰  且总结的好
PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 983 天

    [LV.10]以坛为家III

    发表于 2007-12-24 11:03:47 | 显示全部楼层
    好好学习。。。。天天向上/:001
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-24 11:08:11 | 显示全部楼层
    下载学习,谢谢分享。
    PYG19周年生日快乐!
  • TA的每日心情

    2023-12-1 11:48
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2007-12-24 12:37:14 | 显示全部楼层
    好好学习下分析思想,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-24 12:41:28 | 显示全部楼层
    好文,适合我这新人学习..
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-2-22 21:27:52 | 显示全部楼层
    不错,支持一下再说
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-2-22 22:27:58 | 显示全部楼层
    不错 我也试试 学习了~`
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表