CJSFormater0.7 暴力破解 + 注册码破解(纯粹交流学习,别无它意)
软件功能和特点:
CJSFormater是一个C++/JAVA 源程序的格式化工具,具有美化源程序、自动缩进等功能,是您软件开发过程中的得力助手。自动缩进、缩进量可以设置!函数体中间自动分段。C++/JAVA语法高亮度显示。处理速度快,在作者的机器上,3000行/秒
绿色软件,不用安装 !但是CJSFormater在还没有注册之前,只能让你使用60天而已!本软件注册费用RMB ¥18元 ,或$8美元
下载:http://www.csdn.net/soft/openfile.asp?kind=1&id=13171
破解工具:TRW 2000 ,W32DASM V8.93 ,ultraedit,language,ProcDump
一、傻冒的解法
CJSFormater在还没有注册之前,只能让你使用60天,在注册表中查找:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage项目删除又可使用60天。
二、暴力的解法
CJSFormater注册方式采用本机器ID号校验方式,只有ID和email、注册码完全正确时,注册键才会被激活。不过我采用另外一种办法,巧妙地破解了它。
首先看有否加壳,用language发现是Neolite压缩,用ProcDump脱壳后,再一次用language发现是用Delphi编的。用DeDe反编不成功(为什么????),只有用w32dasm了,首先反汇编它。在“串式参考”处找到"祝贺您,注册成功了!重新启动系统,注册将会生
"(注册成功的信息),双击后往上看
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004278E7(C)
|
:004278EA 8B45A4 mov eax, dword ptr [ebp-5C]
:004278ED E88A040000 call 00427D7C
<--//这可能是验证注册码,call入看看
:004278F2 84C0 test al, al
:004278F4 7454 je 0042794A
:004278F6 6A00 push 00000000
:004278F8 8D459A lea eax, dword ptr [ebp-66]
:004278FB E860A4FDFF call 00401D60
:00427900 B202 mov dl, 02
:00427902 E88DA4FDFF call 00401D94
:00427907 668B08 mov cx, word ptr [eax]
:0042790A 51 push ecx
:0042790B 66C745B85C00 mov [ebp-48], 005C
***************************************************************
来到这里...这里肯定是验证注册码的关键了?
* Referenced by a CALL at Addresses:
|:00426B69 , :004278ED
<--共有2处验证注册码?
|
:00427D7C 55 push ebp
:00427D7D 8BEC mov ebp, esp
:00427D7F 83C490 add esp, FFFFFF90
:00427D82 53 push ebx
:00427D83 56 push esi
:00427D84 57 push edi
:00427D85 8945A8 mov dword ptr [ebp-58], eax
:00427D88 B8F8B24A00 mov eax, 004AB2F8
:00427D8D E88E230600 call 0048A120
:00427D92 B201 mov dl, 01
:00427D94 A1AC424300 mov eax, dword ptr [004342AC]
:00427D99 E832C60000 call 004343D0
:00427D9E 8945A4 mov dword ptr [ebp-5C], eax
:00427DA1 66C745BC0800 mov [ebp-44], 0008
:00427DA7 8D45FC lea eax, dword ptr [ebp-04]
:00427DAA E8059CFDFF call 004019B4
:00427DAF FF45C8 inc [ebp-38]
:00427DB2 66C745BC1400 mov [ebp-44], 0014
:00427DB8 66C745BC2000 mov [ebp-44], 0020
:00427DBE 8D45F8 lea eax, dword ptr [ebp-08]
:00427DC1 E8EE9BFDFF call 004019B4
:00427DC6 FF45C8 inc [ebp-38]
:00427DC9 66C745BC1400 mov [ebp-44], 0014
:00427DCF 66C745BC2C00 mov [ebp-44], 002C
:00427DD5 BA02000080 mov edx, 80000002
:00427DDA 8B45A4 mov eax, dword ptr [ebp-5C]
:00427DDD E8FEC10600 call 00493FE0
:00427DE2 66C745BC3800 mov [ebp-44], 0038
:00427DE8 8D45F4 lea eax, dword ptr [ebp-0C]
:00427DEB E8C49BFDFF call 004019B4
:00427DF0 8BC8 mov ecx, eax
:00427DF2 FF45C8 inc [ebp-38]
:00427DF5 8B55A8 mov edx, dword ptr [ebp-58]
:00427DF8 81C204030000 add edx, 00000304
* Possible StringData Ref from Data Obj ->"software\microsoft\windows\currentversion\priv"
->"atestorage\"
*****************************************************************
现在,可以暴力修改了 ?
:00426B69 E80E120000 call 00427D7C //NOP 掉(9090909090)
:004278ED E88A040000 call 00427D7C //NOP 掉(9090909090)
重新运行修改后的程序,已无限制,暴力破解成功!!!
三、注册码的解法
虽然暴力破解成功了,但我又想解它的注册码,毕竟注册码方便得多啦。暴力破解后注册表:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage\CJSFormater]中项是我原来乱填的,没有真实的注册码。
先用TRW 2000 下bpx 00426B69,g,退出,运行脱壳后程序,中断在:
00426B69 CALL 00427D7C 处、F8进入,F10单步跟踪... (在第一次跟踪时没有记录在案,只是在内存中翻了翻,看到一个码:4E58DE8A60210BF6
,退出填入,注册成功。到想再跟踪多一次的时候,怎么也不能出现:4E58DE8A60210BF6 了,实在太失败了!!!)。哪位大哥能指导、指导!!!(看雪的书中有无呢?第几页?我buy了看雪的书)
注册成功后我的注册表:(我本机器ID号:A3B89D30BEBF76825)
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\privatestorage\CJSFormater]
"ATDATE"=hex:bd,5f,cb,f6,fe,59,e2,40
"Email"="zywicbc@china.com"
"RegCode"="4E58DE8A60210BF6"
感谢crackhl[CCG]上次在论坛给我的指导、支持!这是小弟写的第3篇破文,不知此文可不可以做我加入BCG的第2篇呢?
我的第3篇破文:zywicbc 于2001/11/24 8 pm
- 标 题:我的第3篇破文 cr--CJSFormater 高手请指导、指导!! (4千字)
- 作 者:zywicbc
- 时 间:2001-11-24 22:23:03
- 链 接:http://bbs.pediy.com