首页
社区
课程
招聘
[原创]PC-Washer 2.0最新版 算法分析及Keygen源码
发表于: 2008-7-26 14:44 10427

[原创]PC-Washer 2.0最新版 算法分析及Keygen源码

2008-7-26 14:44
10427

【破文标题】PC-Washer 2.0最新版 算法分析
【破文作者】Playboysen
【作者邮箱】playboysen@126.com
【作者主页】playboysen2.photo.163.com
【破解工具】PEiD,OD
【破解平台】Windows XP
【软件名称】PC Washer - ACleaner 2.0 build 07-24-08
【软件大小】1.01 MB
【软件类别】国外软件/系统辅助
【软件授权】共享版
【软件语言】英文
【更新时间】2008-7-24
【原版下载】http://www.PC-Washer.com/
【保护方式】注册码
【软件简介】PC Washer是一款系统辅助软件,可以清理广告软体、注册表、快捷方式、程序垃圾等等,可以使你的系统更快速更健康!
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
初学破解与编程,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------
【破解内容】
--------------------------------------------------------------

  每天都要找一些软件来练手,从上次发表文章到现在已经一个月了,到时间遛遛了!这破解就和做数学题一样,几天不摸就手生,应该勤加练习啊o(∩_∩)o...
  
  试运行程序发现是单一注册码保护,有错误提示“Invalid Regisered...”,PEID查壳得知是VC++的程序,无壳省了不少劲。经过两遍初步跟踪,我不断调整假码,最终我们选择输入这个假码“playboysen8419876-54321-25814"(具体原因下面会详细分析)。

  OD加载查找字符串“invalid”找到下面的关键点:

0041AA40  /$  6A FF         push    -1
0041AA42  |.  68 182C4300   push    00432C18                                 ;  SE 处理程序安装
0041AA47  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
0041AA4D  |.  50            push    eax
0041AA4E  |.  64:8925 00000>mov     dword ptr fs:[0], esp
0041AA55  |.  83EC 3C       sub     esp, 3C
0041AA58  |.  53            push    ebx
0041AA59  |.  55            push    ebp
0041AA5A  |.  8D4424 54     lea     eax, dword ptr [esp+54]
0041AA5E  |.  8D4C24 08     lea     ecx, dword ptr [esp+8]
0041AA62  |.  50            push    eax
0041AA63  |.  C74424 50 000>mov     dword ptr [esp+50], 0
0041AA6B  |.  E8 A2480100   call    <jmp.&MFC42.#535_CString::CString>
0041AA70  |.  8D4C24 0C     lea     ecx, dword ptr [esp+C]
0041AA74  |.  C64424 4C 01  mov     byte ptr [esp+4C], 1
0041AA79  |.  E8 1A470100   call    <jmp.&MFC42.#540_CString::CString>
0041AA7E  |.  8B4C24 08     mov     ecx, dword ptr [esp+8]                   ;  取假码放入ECX中
0041AA82  |.  C64424 4C 02  mov     byte ptr [esp+4C], 2
0041AA87  |.  8379 F8 19    cmp     dword ptr [ecx-8], 19                    ;  注册码大于等于25位,否则跳向错误处
0041AA8B  |.  0F8C C4020000 jl      0041AD55
0041AA91  |.  8D5424 1C     lea     edx, dword ptr [esp+1C]
0041AA95  |.  6A 0C         push    0C
0041AA97  |.  52            push    edx
0041AA98  |.  8D4C24 10     lea     ecx, dword ptr [esp+10]                  ;  假码内存地址放入ECX
0041AA9C  |.  E8 2B490100   call    <jmp.&MFC42.#4129_CString::Left>
0041AAA1  |.  50            push    eax
0041AAA2  |.  8D4C24 10     lea     ecx, dword ptr [esp+10]
0041AAA6  |.  C64424 50 03  mov     byte ptr [esp+50], 3
0041AAAB  |.  E8 DC460100   call    <jmp.&MFC42.#858_CString::operator=>
0041AAB0  |.  8D4C24 1C     lea     ecx, dword ptr [esp+1C]
0041AAB4  |.  C64424 4C 02  mov     byte ptr [esp+4C], 2
0041AAB9  |.  E8 C8460100   call    <jmp.&MFC42.#800_CString::~CString>
0041AABE  |.  8D4424 1C     lea     eax, dword ptr [esp+1C]
0041AAC2  |.  6A 0C         push    0C
0041AAC4  |.  50            push    eax
0041AAC5  |.  8D4C24 10     lea     ecx, dword ptr [esp+10]
0041AAC9  |.  E8 0A490100   call    <jmp.&MFC42.#4277_CString::Mid>
0041AACE  |.  50            push    eax
0041AACF  |.  8D4C24 0C     lea     ecx, dword ptr [esp+C]
0041AAD3  |.  C64424 50 04  mov     byte ptr [esp+50], 4
0041AAD8  |.  E8 AF460100   call    <jmp.&MFC42.#858_CString::operator=>
0041AADD  |.  8D4C24 1C     lea     ecx, dword ptr [esp+1C]
0041AAE1  |.  C64424 4C 02  mov     byte ptr [esp+4C], 2
0041AAE6  |.  E8 9B460100   call    <jmp.&MFC42.#800_CString::~CString>
0041AAEB  |.  8B4C24 08     mov     ecx, dword ptr [esp+8]
0041AAEF  |.  8379 F8 11    cmp     dword ptr [ecx-8], 11                    ;  上面一堆操作是去除假码的前12位;剩余的假码设为K2,其实K2还要大于等于17位
0041AAF3  |.  0F8C 5C020000 jl      0041AD55
0041AAF9  |.  6A 05         push    5                                        ;  参数“5”
0041AAFB  |.  6A 2D         push    2D                                       ;  参数“-”
0041AAFD  |.  8D4C24 10     lea     ecx, dword ptr [esp+10]
0041AB01  |.  E8 544B0100   call    <jmp.&MFC42.#6662_CString::Find>         ;  此处在验证假码K2;进入可知K2中每隔5位必须有个连字符“-”
0041AB06  |.  83CD FF       or      ebp, FFFFFFFF
0041AB09  |.  3BC5          cmp     eax, ebp
0041AB0B  |.  0F84 6A020000 je      0041AD7B
73D46911 >  8BFF            mov     edi, edi
73D46913    56              push    esi
73D46914    8BF1            mov     esi, ecx
73D46916    8B06            mov     eax, dword ptr [esi]
73D46918    8B4C24 0C       mov     ecx, dword ptr [esp+C]
73D4691C    3B48 F8         cmp     ecx, dword ptr [eax-8]
73D4691F    7D 15           jge     short 73D46936
73D46921    03C1            add     eax, ecx
73D46923    0FB64C24 08     movzx   ecx, byte ptr [esp+8]
73D46928    51              push    ecx
73D46929    50              push    eax
73D4692A    FF15 3467DD73   call    dword ptr [<&msvcrt._mbsc>; 此处看右下角堆栈处已经显示了相关参数,要进入看看
73D46930    85C0            test    eax, eax                  ; 若ECX的第一位是“-”,则此处EAX的值就是“-54321-25814”
73D46932    59              pop     ecx
73D46933    59              pop     ecx
73D46934    75 05           jnz     short 73D4693B
73D46936    83C8 FF         or      eax, FFFFFFFF
73D46939    EB 02           jmp     short 73D4693D
73D4693B    2B06            sub     eax, dword ptr [esi]      ; ESI的指针是指向假码K2的
73D4693D    5E              pop     esi
73D4693E    C2 0800         retn    8

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (13)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gwh
2
沙发,顶起
2008-7-26 14:58
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主强呀,佩服
2008-7-26 18:24
0
雪    币: 97697
活跃值: (200759)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
support.
2008-7-26 23:03
0
雪    币: 215
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
强帖留名
2008-7-26 23:11
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
6
8月1日,更新注册机源代码,主要是界面更新,截图如下


加入xm音乐播放,水花效果,半透明效果等
Delphi 7编译通过
上传的附件:
2008-8-1 14:32
0
雪    币: 222
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
写得好,算法分析得不错。
2008-8-1 16:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢楼主的提供,好帖子!
2008-8-5 22:32
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
9
经测试,最新的PC Washer V2.07版本未更改算法
更新如下:
Optimize your PC with a few clicks
Get more usable disk space
Speed up your PC Boot-up / Shut-down
Stabilize your PC and prevent most crashes
Keep away from spyware & adware for safer browsing
Increase system performance without adding new hardware
Protect your investment & save money

上述注册机依然适用,Enjoy!
2008-9-4 10:53
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
10
多定义了一个变量,a就没有用到
2008-9-4 13:06
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
11
还有你的form2是不是想写about?但是你啥也没有写
2008-9-4 13:09
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
12

是的
谢谢提醒哦

当时重感冒
没心思继续写了的 嘿嘿
因为我没有正经的学过编程,所以可能写程序有点罗嗦
还请多多指教哦
2008-9-4 20:03
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
13
我的书都当枕头了
2008-9-4 20:52
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
多谢分享,支持一下。
2008-9-8 15:52
0
游客
登录 | 注册 方可回帖
返回
//