• 标 题:我的第3篇破文 cr--CJSFormater 高手请指导、指导!! (4千字)
  • 作 者:zywicbc
  • 时 间:2001-11-24 22:23:03
  • 链 接:http://bbs.pediy.com

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