飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6931|回复: 6

[原创] 某表格算量软件破解过程

[复制链接]

该用户从未签到

发表于 2007-4-2 15:20:35 | 显示全部楼层 |阅读模式
【软件名称】 **表格算量2006
【下载地址】 为了保护国产软件,减少不必要的麻烦,不指出了
【软件简介】 无狗试用版,NAG,无法打印
【使用工具】 PEiD、OllyDbg
破解平台】 Win9x/NT/2000/XP
--------------------------------------------------------------------------------
【破解过程】

查壳:PEid 侦测  PASPack 2.12 -> Alexey Solodovnikov
有壳,是个简单的壳,脱壳过程就不说了。
脱壳后:Borland Delphi 6.0 - 7.0
////////////////////////////////////////////////////////////////////////////
OD载入如下:
0094F288 >  55              push ebp                            ; ;程序入口
0094F289    8BEC            mov ebp,esp
0094F28B    B9 0E000000     mov ecx,0E
0094F290    6A 00           push 0
0094F292    6A 00           push 0
0094F294    49              dec ecx
0094F295  ^ 75 F9           jnz short GCLCal.0094F290
0094F297    53              push ebx
0094F298    56              push esi
0094F299    57              push edi
0094F29A    B8 18E69400     mov eax,GCLCal.0094E618
0094F29F    E8 2C82ABFF     call GCLCal.004074D0
0094F2A4    8B35 74019600   mov esi,dword ptr ds:[960174]       ; GCLCal.00961C1C
0094F2AA    33C0            xor eax,eax
0094F2AC    55              push ebp
0094F2AD    68 72F69400     push GCLCal.0094F672
0094F2B2    64:FF30         push dword ptr fs:[eax]
0094F2B5    64:8920         mov dword ptr fs:[eax],esp

插件查找字符串:
00900DA6   push GCLCal.00900E38   尊敬用户:\n\n\n\n没有找到软件加密狗,软件将为试用版,试用版将有数量限制 \n\n\n\n请您购买正版软件,将获得更好的技术支持和服务!\n\n\n\n

在代码中跟随进来到这儿
00900D90    55              push ebp                             ;注意本处地址
00900D91    8BEC            mov ebp,esp
00900D93    6A 00           push 0
00900D95    6A 00           push 0
00900D97    53              push ebx
00900D98    33C0            xor eax,eax
00900D9A    55              push ebp
00900D9B    68 230E9000     push GCLCal.00900E23
00900DA0    64:FF30         push dword ptr fs:[eax]
00900DA3    64:8920         mov dword ptr fs:[eax],esp
00900DA6    68 380E9000     push GCLCal.00900E38                ; 尊敬用户:\n\n\n\n没有找到软件加密狗,软件将为试用版,试用版将有数量限制 \n\n\n\n请您购买正版软件,将获得更好的技术支持和服务!\n\n\n\n
00900DAB    8D45 FC         lea eax,dword ptr ss:[ebp-4]
00900DAE    50              push eax
00900DAF    A1 94039600     mov eax,dword ptr ds:[960394]
00900DB4    8B00            mov eax,dword ptr ds:[eax]
00900DB6    B9 BC0E9000     mov ecx,GCLCal.00900EBC             ; 没有找到狗
00900DBB    BA D00E9000     mov edx,GCLCal.00900ED0             ; 文字说明
00900DC0    8B18            mov ebx,dword ptr ds:[eax]
00900DC2    FF13            call dword ptr ds:[ebx]
00900DC4    A0 DC0E9000     mov al,byte ptr ds:[900EDC]
00900DC9    50              push eax
00900DCA    8D45 F8         lea eax,dword ptr ss:[ebp-8]
00900DCD    50              push eax
00900DCE    B9 E80E9000     mov ecx,GCLCal.00900EE8             ; \n\n\n\n

在这儿F2下断:
00900D90    55              push ebp
F9运行至下断处停止,查看EAX值为:FFFFFFFF
查看友好提示:
ebp=0012FF30
本地调用来自 00900F37, 0090E9F4
Ctrl+G输入00900F37来到这里:
00900F04    D0C5            rol ch,1
00900F06    CF              iretd
00900F07    A2 00000000     mov byte ptr ds:[0],al
00900F0C    55              push ebp
00900F0D    8BEC            mov ebp,esp
00900F0F    51              push ecx
00900F10    53              push ebx
00900F11    8845 FF         mov byte ptr ss:[ebp-1],al
00900F14    33C0            xor eax,eax
00900F16    55              push ebp
00900F17    68 4A0F9000     push GCLCal.00900F4A
00900F1C    64:FF30         push dword ptr fs:[eax]
00900F1F    64:8920         mov dword ptr fs:[eax],esp
00900F22    33DB            xor ebx,ebx
00900F24    E8 D7FCFFFF     call GCLCal.00900C00              ;关键call 将eax值变为FFFFFFF跟随
00900F29    85C0            test eax,eax
00900F2B    75 04           jnz short GCLCal.00900F31
00900F2D    B3 01           mov bl,1
00900F2F    EB 0B           jmp short GCLCal.00900F3C
00900F31    807D FF 00      cmp byte ptr ss:[ebp-1],0
00900F35    74 05           je short GCLCal.00900F3C          ;
00900F37    E8 54FEFFFF     call GCLCal.00900D90              ;调用未注册信息
00900F3C    33C0            xor eax,eax
00900F3E    5A              pop edx
00900F3F    59              pop ecx
00900F40    59              pop ecx
00900F41    64:8910         mov dword ptr fs:[eax],edx
00900F44    68 510F9000     push GCLCal.00900F51
00900F49    C3              retn



00900F24    E8 D7FCFFFF     call GCLCal.00900C00              ;关键call 将eax值变为FFFFFFF跟随
回车跟随来到
00900C00    53              push ebx
00900C01    56              push esi
00900C02    57              push edi
00900C03    55              push ebp
00900C04    81C4 D0FEFFFF   add esp,-130
00900C0A    BB 7CE49500     mov ebx,GCLCal.0095E47C
00900C0F    BF 78E49500     mov edi,GCLCal.0095E478
00900C14    8D6C24 08       lea ebp,dword ptr ss:[esp+8]
00900C18    33C0            xor eax,eax
00900C1A    890424          mov dword ptr ss:[esp],eax
00900C1D    C645 00 1C      mov byte ptr ss:[ebp],1C
00900C21    C645 01 5A      mov byte ptr ss:[ebp+1],5A
00900C25    C645 02 4B      mov byte ptr ss:[ebp+2],4B
00900C29    C645 03 0B      mov byte ptr ss:[ebp+3],0B


00900C00    53              push ebx
00900C01    56              push esi
改为
00900C00    33C0            xor eax,eax
00900C02    C3              retn

保存到可执行文件


成功!!!!!

----------------------------------------------------------------
这是我学习破解后第一个独立完成的软件!!
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-29 15:06
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-4-2 18:24:40 | 显示全部楼层
    主要是学习破的过程和思路,其它并不重要
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-4-2 21:16:24 | 显示全部楼层
    看不太懂。。。哎。。。还有的学啊。。。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2022-12-19 19:56
  • 签到天数: 55 天

    [LV.5]常住居民I

    发表于 2007-4-3 09:57:31 | 显示全部楼层
    学习了,谢谢分享
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-4-3 16:39:49 | 显示全部楼层
    看不太懂,看来破解是一件难事,要好好学习一下。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-7-27 19:58
  • 签到天数: 86 天

    [LV.6]常住居民II

    发表于 2007-4-4 08:17:34 | 显示全部楼层
    我来学习
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-11-16 08:14
  • 签到天数: 146 天

    [LV.7]常住居民III

    发表于 2019-7-31 14:26:30 | 显示全部楼层
    主要是学习破的过程和思路,其它并不重要
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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