完美卸载软件“完美”注册!
[作 者]:LILITH[CNCG]
[时 间]:2001-12-20
[软 件]:完美卸载软件
[软件简介]:本软件主要两大功能,一是安装/卸载软件,可以做到软件安装卸载无垃圾;二是电脑垃圾清理,可以清理数十种垃圾保持系统清洁。本软件包含三个执行文件:SetupMonitor.exe
软件安装监视器;SoftUninstall.exe 软件卸载工具;WjfClean.exe 垃圾清理工具。未注册用户将可以卸载60个软件和100次垃圾清理。
[下 载]:http://download.21cn.com/file/utility/xiezai/Coolcln.zip
[保护方式]:注册码,未注册用户将可以卸载60个软件和100次垃圾清理。
[破解工具]:trw2000
+++++++++++++++++++++++++++++++++++++++++++++++++
本来不想贴,但实在太有趣了,忍不住贴了出来~~另一种经典注册码验证方式!GO!
这个软件注册码采用了分节方式,共有五段注册框,不管它,分别填"11111","1212","1313","1414","1515"
后下bpx hmemcpy,确定后下pmodule,F12两下出错,所以按一下便可,来到……
0177:00409482 LEA EDI,[ESP+14]
0177:00409486 OR ECX,BYTE -01
0177:00409489 XOR EAX,EAX
0177:0040948B REPNE SCASB
0177:0040948D NOT ECX
0177:0040948F DEC ECX
0177:00409490 JNZ 004094A3
0177:00409492 PUSH BYTE +30
0177:00409494 PUSH DWORD 00445740
0177:00409499 PUSH DWORD 00445730
0177:0040949E JMP 00409743
0177:004094A3 LEA ECX,[ESP+A4]
0177:004094AA PUSH BYTE +1E
0177:004094AC PUSH ECX
0177:004094AD PUSH DWORD 03FD
0177:004094B2 MOV ECX,EBP
0177:004094B4 CALL 0042D14C
0177:004094B9 LEA EDX,[ESP+C4]
0177:004094C0 PUSH BYTE +1E
0177:004094C2 PUSH EDX
0177:004094C3 PUSH DWORD 03FE
0177:004094C8 MOV ECX,EBP
0177:004094CA CALL 0042D14C
0177:004094CF LEA EAX,[ESP+64]
0177:004094D3 PUSH BYTE +1E
0177:004094D5 PUSH EAX
0177:004094D6 PUSH DWORD 03FF
0177:004094DB MOV ECX,EBP
0177:004094DD CALL 0042D14C
0177:004094E2 LEA ECX,[ESP+E4]
0177:004094E9 PUSH BYTE +1E
0177:004094EB PUSH ECX
0177:004094EC PUSH DWORD 0400
0177:004094F1 MOV ECX,EBP
0177:004094F3 CALL 0042D14C
0177:004094F8 LEA EDX,[ESP+84]
0177:004094FF PUSH BYTE +1E
0177:00409501 PUSH EDX
0177:00409502 PUSH DWORD 0401
0177:00409507 MOV ECX,EBP
0177:00409509 CALL 0042D14C //取注册码第一节,即"11111"
0177:0040950E LEA EAX,[ESP+A4]
0177:00409515 PUSH EAX
0177:00409516 CALL 0041ACA3
0177:0040951B LEA ECX,[ESP+C8]
0177:00409522 MOV ESI,EAX //将11111的十六进制值传到esi
0177:00409524 PUSH ECX
//ecx入栈存放第二节"1212"
0177:00409525 CALL 0041ACA3
0177:0040952A LEA EDX,[ESP+6C]
0177:0040952E MOV EDI,EAX //"1212"存到edi
0177:00409530 PUSH EDX
0177:00409531 CALL 0041ACA3 //取注册码第三节"1313"并存到eax
0177:00409536 MOV EBX,EAX //"1313"十六进制值传到ebx
0177:00409538 LEA EAX,[ESP+F0]
0177:0040953F PUSH EAX
//注册码第四节"1414"字符入栈
0177:00409540 CALL 0041ACA3 //十六进制值存到eax
0177:00409545 LEA ECX,[ESP+94]
0177:0040954C MOV [ESP+20],EAX
0177:00409550 PUSH ECX
//注册码第五节"1515"字符入栈
0177:00409551 CALL 0041ACA3
0177:00409556 ADD ESP,BYTE +14
0177:00409559 CMP EAX,BYTE +64 //比较第五节是否为64,转为十进制则是"100"
0177:0040955C JG NEAR 0040973A//不是则跳,出错
0177:00409562 TEST EAX,EAX
0177:00409564 JNG NEAR 0040973A
0177:0040956A CMP ESI,[EAX*4+0044920C] //比较第一节的值是否为"6346"
0177:00409571 JNZ NEAR 00409731
0177:00409577 CMP EDI,[EAX*4+00448FB4] //比较第一节的值是否为"29004"
0177:0040957E JNZ NEAR 00409731
0177:00409584 CMP EBX,[EAX*4+00448D5C] //比较第一节的值是否为"15010"
0177:0040958B JNZ NEAR 00409731
0177:00409591 MOV EDX,[ESP+10]
0177:00409595 MOV ECX,[EAX*4+00448B04] //比较第一节的值是否为"17985"
0177:0040959C CMP EDX,ECX
0177:0040959E JNZ NEAR 00409731
总结:这个程序的注册验证比较有趣,首先分别输入五节注册码,依次取它的值后,首先验证第五位是否为"100",如不是则直接跳过下面验证出现注册失败。然后依次验证各位注册码的值,用?命令即可看到,如我看到的则是:6346 29004 15010 17985 100 ,将它们串成一串就是注册码了!和用户名好像无关。
呵不知这个是不是通用注册码,各路高人帮忙看看,小弟感激不尽,呵呵……
- 标 题:搞了一个很傻冒的软件~~大家看看有错没? (4千字)
- 作 者:LILITH[CNCG]
- 时 间:2001-12-20 21:47:08
- 链 接:http://bbs.pediy.com