欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

注册你的Windows Commander 4.51 (6千字)

注册你的Windows Commander 4.51 (6千字)

注册你的Windows Commander 4.51
  最近忙得要命,好久没来看学论坛灌水了,今天要淹他一下^-^。感谢JOHNSON也就是c-pen的帮助,有空到大陆来玩呀。再有谢谢各位cracker的支持。
  现在进入正题,如何注册你的wincmd451? 你可以去download一个注册机,叫wc451_kg.exe,到处都是。我用wincmd,只用它的比较功能。作为一个cracker,用别人crack过的东西,尤其是注册机,非常的不爽,还是自己来吧。先进行准备工作:wincmd是aspack压过的,解压缩吧,咦? unas1091竟然不管用,看来还是偷不得懒:(。拿trw2000 ver1.22脱壳,用trw载入wincmd32.exe,下PNEWSEC再下MakePE即可,wincmd目录下会生成一个叫NEWPE.EXE的文件,这就是脱壳后的wincmd32.exe,把NEWPE.EXE改名为wincmd32.exe。好了,看看wincmd脱壳后还能怎么折腾:)。仔细分析了一下,它的注册机制同wincmd4.0一样,根本没有变化,hehe....,这下好办了。
  准备工作完成,开始正式crack,一共需要改8处。wincmd是keyfile保护的那种软件,没有keyfile一样改。先用trw2000载入wincmd32.exe,点load,停下来后下bpx readfile,按f5执行,被拦到,下bd *,按f12直到wincmd的领空。当走到如下1.所示的4ce105时停下来,记下这个数,按f5,接着退出trw2000,换乘sooftice。我为什么换成softice,原因很简单,因为我不会用trw:(。按ctrl+d进入softice下bpx hmemcpy,按f5返回,执行wincmd32.exe,被拦到,按8此f12,进入wincmd的领空,下bpx 4ce105,按f5又被拦到,按f10来到如1.所示的程序:
1.
017f:004ce105 e8fe53f3ff    call 00403508
017f:004ce10a 83b80c00000000 cmp dword ptr [eax+0c],00
017f:004ce111 7521 ->9090    jnz 004ce134 ->nop
017f:004ce113 8d85e2feffff  lea eax,[ebp-011e]
wincmd是靠比较内存判断是否注册的,所用的寄存器是ebx,需要保持为1,走到4ce111,跳下去的话,会清掉ebx,所以不能让他跳。按f10继续,接着他会比较你的keyfile是否为128字节,若是的话,提示这是旧版,让你更新。不管他,按f10走到如2.所示的程序:

2.
017f:004ce32a b966000000 mov ecx,0066
017f:004ce32f babca42000 mov edx,0020a4bc
017f:004ce334 e84ffbffff call 004cde88
017f:004ce339 33c9      xor ecx,ecx
017f:004ce33b b201      mov dl,01
4cde88这个call有问题,跟进去如A.所示程序,把它改为B.所示的程序。其中b5e7c9f1c4a7b9ed20是我注册的名字,你可以改成别的名字,其余的部分按B.所示的改。
004cde88->004cdf00

A.                        |B.
017f:004cde88 55    push ebp            |017f:004cde88 0517000000 add eax,00000017
017f:004cde89 8bec  mov ebp,esp        |017f:004cde8d c60000      mov byte ptr [eax],00
017f:004cde8b 83c4f8 add esp,-08        |017f:004cde90 0503000000 add eax,00000003
017f:004cde8e 53    push ebx            |017f:004cde95 c600b5    mov byte ptr [eax],b5
017f:004cde8f 56    push esi            |017f:004cde98 40        inc eax
017f:004cde90 57    push edi            |017f:004cde99 c600e7    mov byte ptr [eax],e7
017f:004cde91 8bf9  mov edi,ecx        |017f:004cde9c 40        inc eax
017f:004cde93 8945fc mov [ebp-04],eax        |017f:004cde9d c600c9    mov byte ptr [eax],c9
.                        |017f:004cdea0 40           inc eax
.                        |017f:004cdea1 c600f1    mov byte ptr [eax],f1
.                        |017f:004cdea4 40        inc eax
.                        |017f:004cdea5 c600c4    mov byte ptr [eax],c4
.                            |017f:004cdea8 40        inc eax
.                        |017f:004cdea9 c600a7    mov byte ptr [eax],a7
.                        |017f:004cdeac 40        inc eax
.                        |017f:004cdead c600b9    mov byte ptr [eax],b9
.                        |017f:004cdeb0 40        inc eax
.                        |017f:004cdeb1 c600ed    mov byte ptr [eax],ed
.                        |017f:004cdeb4 40        inc eax
017f:004cdef6 ff4df8 dec dword ptr [ebp-08] |017f:004cdeb5 c60020    mov byte ptr [eax],20
017f:004cdef9 75a8  jnz 004cdea3          |017f:004cdeb8 40        inc eax
017f:004cdefb 5f    pop edi            |.
017f:004cdefc 5e    pop esi            |.
017f:004cdefe 59    pop ecx            |.
017f:004cdeff 59    pop ecx            |017f:004cdefd c60000      mov byte ptr [eax],00
017f:004cdf00 5d    pop ebp            |017f:004cdf00 90          nop
017f:004cdf01 c3    ret            |017f:004cdf01 c3          ret
接着按F10来到如3.所示的程序,强制他跳过去,不跳的话会清掉ebx的。
3.
017f:004ce38f e87846f3ff          call 00402a0c
017f:004ce394 0f84ae000000 ->e9af000000 jz 004ce448 ->jmp 004ce448
继续跟到如4.所示的程序,按列出的方法改。
4.
017f:004ce5c6 8d8558f8ffff    lea eax,[ebp+fffff858]
017f:004ce5cc e8a786f3ff ->90  call 00406c78 ->nop
                      ->33c9              ->xor ecx,ecx
                       ->8808              ->mov bytes ptr [eax],cl
017f:004ce5d1 ba30e94c00      mov edx,004ce930
017f:004ce5d6 8d8558f8ffff    lea eax,[ebp+fffff858]
当跟到5.所示的地方,这是最后一个跳转了,强制它跳。
5.
017f:004ce7aa e85d42f3ff  call 00402a0c
017f:004ce7af 7402 ->eb02 jz 004ce7b3 ->jmp 004ce7b3
017f:004ce7b1 33db        xor ebx,ebx
接下来,按几次f10到如6.所示的程序,按我列出的方法改。
6.
017f:00532d13 a1b0e65300        mov eax,[0053e6b0]
017f:00532d18 e8f340eeff ->eb00 call 00416e10 ->jmp 00532d1a
             ->eb00              ->jmp 00532d1c
             ->90              ->nop
017f:00532d1d a1b0e65300        mov eax,[0053e6b0]
017f:00532d22 e86dadeeff        call 0041da94
再按几下f10就进入wincmd了,好了,用我的名字注册的。别忙还没完呢,wincmd还没把你折腾够呢,你晃动几下鼠标,wincmd就会冒出一个框框,告诉你感染virus一类的东西。这时按ctrl+d进入softice,下bpx lockmytask,按f5返回,点确定,被拦到,下bd *,按几次f12进入wincmd的地盘,往回倒到如7.所示的地方,将jg 004df5b0改为jmp 004df5b0,这是试出来的。
7.
017f:004df56d e83e76f2ff  call 00406bb0
017f:004df572 8b4302      mov eax,dword ptr [ebx+04]
017f:004df575 83f808      cmp eax,08
017f:004df578 7f36 ->9090  jg 004df5b0 ->jmp 004df5b0
017f:004df57a 0f8444060000 je 004dfbc4
不忙还没完呢,当你点help,在点about时,会弹出一个注册信息框,你再点确定时,wincmd会自动退出。所以你在点确定之前进入softice,下bpx lockmytask,按几次f12到如8.所示的地方,把je 004e8578改为jmp 004e8578才能继续使用它。
8.
017f:004e8562 a148405300  mov eax,dword ptr[00534048]
017f:004e8567 2db9230000  sub eax,00000023b9
017f:004e856c 740a ->eb0a je 004e8578 ->jmp 004e8578
017f:004e8573 e86cbff1ff  call 004044e4
完活:)
最后就是用winhex以来的东西把wincmd改为注册版了,机器码我都列出来了。
说明:wincmd4.0--4.51之间的所有版本都可以这么改,只是对应的地址不一样。
cracked by 电神魔鬼
my oicq is 1789655
thanks for your supports
我贴出的改免注册版的Winhex Ver9.52有一点问题,竟然没人告诉我,真是太~!@#$%^&(.......
我更正一下
winhex ver9.52
免注册
*[45759d]
017f:00450041 jnz 00450064 ->nop
017f:00450062 jz 00450068  ->jmp 00450068
017f:0043e26a jz 43e277    ->jmp 43e277
017f:0043e31b jl 0043e372  ->nop
017f:0043e36b jz 0043e37d  ->jmp 0043e37d
7521B85C524500
9090B85C524500
3B027404
3B02eb04
740bb8b0754500
eb0bb8b0754500
7C55A13C764500
9090A13C764500
741083F954
eb1083F954
改的方法不唯一,主要是让[45759d]永远置一就行。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功