什么叫Crackme?

发布时间:2026-01-31 15:22:11 来源:君肯网

分类: 电脑/网络 &gt&gt程序设计 &gt&gt其他编程语言

解析:

不是的,一般这样的程序是由一些人写出来的一个小程序,程序很小,只有一个功能,输入一些信息和注册码,然后匹配,或者其他的方式,总之就是一个软件注册的部分的独立版本.

这个程序的作用就是供pj爱好者pj它的加密原理,写成注册机,是一种学习黑客pj技术的工具.这样的程序本身没有任何攻击性,当你pj出其加密原理的时候你甚至可以和作者联系,交流经验

数据加密算法的数据加密标准DES

【pj过程】:

大家好,今天给大家做一个简单的爆破演示~这个稍微和前面2个有点不一样~呵呵~还是需要我们分析代码,把代码看清楚了就没什么难的了!查壳:Borland Delphi 4.0 – 5.0

试运行,输入wynney 444520,提示“错误的注册码”

用W32asm无极版载入,查找“错误的注册码”,双击,来到代码处!

:00404386 85F6test esi, esi //比较真假注册码

:00404388 7419je 004043A3 //等于则跳,不等于就不跳咯

:0040438A 6A00push 00000000* Possible StringData Ref from Code Obj -&gt”错误”

|

:0040438C 680C444000 push 0040440C* Possible StringData Ref from Code Obj -&gt”错误的注册码” //***

|

:00404391 6814444000 push 00404414大家往上看看,在

00404388 7419je 004043A3

有个跳转是可以(注意这个用词)跳到004043A3的我们去004043A3看看吧~* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00404388(C)

|

:004043A3 6A00push 00000000* Possible StringData Ref from Code Obj -&gt”恭喜”

|

:004043A5 6824444000 push 00404424* Possible StringData Ref from Code Obj -&gt”正确的注册码”呵呵~是不是已经很明了了啊,如果跳到这里来了,我们看到的不就是提示正确了吗?那好~我们把00404388的je(74)改成jmp(无条件跳转,就是无论如何都要跳,EB)[这里也可以改成(jne)75]都是一样的结果!是运行下保存的程序,输入wynney,444520

呵呵~提示“正确的注册码”好了,今天的动画就到现在啦~~大家好好分析下,找找思路~!~还是那句话我们学pj的,是为了思路,不是为了去破某个软件。。如果你的目的是后者,那么你是会停止不前的!^_^,拜拜咯~

具体操作还要慢慢练习哦

无线网络AES的密钥怎么pj?

DES的原始思想可以参照二战德国的恩尼格玛机,其基本思想大致相同。传统的密码加密都是由古代的循环移位思想而来,恩尼格玛机在这个基础之上进行了扩散模糊。但是本质原理都是一样的。现代DES在二进制级别做着同样的事:替代模糊,增加分析的难度。 攻击 DES 的主要形式被称为蛮力的或穷举,即重复尝试各种密钥直到有一个符合为止。如果 DES 使用 56 位的密钥,则可能的密钥数量是 2 的 56 次方个。随着计算机系统能力的不断发展,DES 的安全性比它刚出现时会弱得多,然而从非关键性质的实际出发,仍可以认为它是足够的。不过 ,DES 现在仅用于旧系统的鉴定,而更多地选择新的加密标准 — 高级加密标准(Advanced Encryption Standard,AES)。

新的分析方法有差分分析法和线性分析法两种 本期Crackme用到MD5及DES两种加密算法,难度适中。这次我们重点来看一下DES的加密过程及注册算法过程。用调试器载入程序,下GegDlgItemTextA断点,可以定位到下面代码,我们先来看一下整个crackme的注册过程:

由于代码分析太长,故收录到光盘中,请大家对照着分析(请见光盘“code1.doc”)

从上面分析可以看出,注册过程是类似:f(机器码,注册码)式的两元运算。机器码是经过md5算法得到的中间16位值,注册码是经过DES解密过程取得16位注册码,然后两者比较,如相等,则注册成功。机器码的运算过程可以参照上一期的MD5算法来理解。下面重点来说一下注册码DES的运算过程。

1、密钥处理过程:一般进行加解密过程都要初始化密钥处理。我们可以跟进004023FA CALL Crackme1.00401A40这个call,可以看到如下代码:

…(省略)…

00401A4D LEA ECX,DWORD PTR DS:[ECX]

00401A50 /MOV EDX,EAX

00401A52 |SHR EDX,3

00401A55 |MOV DL,BYTE PTR DS:[EDX+ESI]

00401A58 |MOV CL,AL

00401A5A |AND CL,7

00401A5D |SAR DL,CL

00401A5F |AND DL,1

00401A62 |MOV BYTE PTR DS:[EAX+417DA0],DL

00401A68 |INC EAX

00401A69 |CMP EAX,40这里比较是否小于64

00401A6C \JL SHORT Crackme1.00401A50

以上过程就是去掉密钥各第八位奇偶位。

…(省略)…

00401AB0 |MOV DL,BYTE PTR DS:[ECX+417D9F]

00401AB6 |MOV BYTE PTR DS:[EAX+417BA3],DL

00401ABC |ADD EAX,4

00401ABF |CMP EAX,38这里进行密钥变换

…(省略)…

00401BFF ||MOVSX ECX,BYTE PTR DS:[EAX+412215]

00401C06 ||MOV CL,BYTE PTR DS:[ECX+417D9F]

00401C0C ||MOV BYTE PTR DS:[EAX+417BA5],CL

00401C12 ||ADD EAX,6

00401C15 ||CMP EAX,30这里产生48位的子密钥

00401C18 |\JL SHORT Crackme1.00401BA0

00401C1A |MOV EAX,DWORD PTR SS:[ESP+14]

00401C1E |MOV EDI,EAX

什么叫Crackme?

00401C20 |MOV ECX,0C

00401C25 |MOV ESI,Crackme1.00417BA0

00401C2A |REP MOVS DWORD PTR ES:[EDI],DWORD PTR D&gt

00401C2C |MOV EDI,DWORD PTR SS:[ESP+10]

00401C30 |ADD EAX,30下一组子密钥

00401C33 |INC EDI

00401C34 |CMP EAX,Crackme1.00417B90这里进行16次的生成子密钥过程

00401C39 |MOV DWORD PTR SS:[ESP+10],EDI

…(省略)…

可以看到8位密钥为:1,9,8,0,9,1,7,0

2、对数据处理的过程,跟进004024C7 CALL Crackme1.00402050,到如下代码:

00402072 |MOV BYTE PTR DS:[EAX+417E30],DL

00402078 |INC EAX

00402079 |CMP EAX,40这里取得64位数据

0040207C \JL SHORT Crackme1.00402060

…(省略)…

004020C6 |MOV BYTE PTR DS:[EAX+417BA3],DL

004020CC |ADD EAX,4

004020CF |CMP EAX,40进行第一次变换

004020D2 \JL SHORT Crackme1.00402080

004020D4 MOV AL,BYTE PTR SS:[ESP+20]

004020D8 TEST AL,AL

004020DA MOV ECX,10

…(省略)…

00402191 MOV EBP,DWORD PTR DS:[415094] Crackme1.00417E30

00402197 SUB EAX,EBP这里对变换后的数据分为两部分

00402199 MOV DWORD PTR SS:[ESP+10],EAX

0040219D MOV DWORD PTR SS:[ESP+20],Crackme1.00417B60

004021A5 /MOV EAX,DWORD PTR SS:[ESP+20]

004021A9 |MOV ECX,8

004021AE |MOV ESI,EBP

004021B0 |MOV EDI,Crackme1.00417E10

004021B5 |PUSH EAX这里用上面生成的子密钥来解密数据

004021B6 |MOV EBX,EBP

…(省略)…

004021FF |SUB EAX,30下一个子密钥

00402202 |CMP EAX,Crackme1.00417890这里将循环16次,典型的DES加解密过程

00402207 |MOV ECX,8

0040220C |MOV ESI,Crackme1.00417E10

00402211 |REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI&gt

…(省略)…

0040225A |MOV BYTE PTR DS:[EAX+417BA2],DL

00402260 |MOV DL,BYTE PTR DS:[ECX+417E2F]

00402266 |MOV BYTE PTR DS:[EAX+417BA3],DL

0040226C |ADD EAX,4

0040226F |CMP EAX,40这里是未置换

00402272 \JL SHORT Crackme1.00402220

00402274 MOV EBP,DWORD PTR SS:[ESP+18]

00402278 MOV ECX,10

0040227D MOV ESI,Crackme1.00417BA0

…(省略)…

有兴趣的读者可以参考DES算法来理解上面的过程。 一.安全性比较高的一种算法,目前只有一种方法可以pj该算法,那就是穷举法.

二.采用64位密钥技术,实际只有56位有效,8位用来校验的.譬如,有这样的一台PC机器,它能每秒计算一百万次,那么256位空间它要穷举的时间为2285年.所以这种算法还是比较安全的一种算法.

TripleDES。该算法被用来解决使用 DES 技术的 56 位时密钥日益减弱的强度,其方法是:使用两个独立密钥对明文运行 DES 算法三次,从而得到 112 位有效密钥强度。TripleDES 有时称为 DESede(表示加密、解密和加密这三个阶段)。

别想了,WPA2-PSK下的AES和TKIP是现在这世界上最强的加密方式,pj只存才与理论层面,用的最先进的HASH,也就是哈希算法,你可以去网络络上自己查查,HASH用的是不可逆的散列方式进行单向不可逆算法加解密。有人做过实验,WPA2是理论课pj的,但是时间需要很长,可在这短时间里,WPA2会自动更换密钥,所以pj根本没戏别听网络络上人瞎说,被pj的肯定是自己没设置好 先蹭网就破wep的去吧 就这个能破 别的加密 想都不要想了 啊

以上就是关于什么叫Crackme?全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

分类: 电脑/网络 &gt&gt程序设计 &gt&gt其他编程语言 解析: 不是的,一般这样的程序是由一些人…
查看详情
分类: 电脑/网络 &gt&gt程序设计 &gt&gt其他编程语言 解析: 不是的,一般这样的程序是由一些人…
查看详情
分类: 电脑/网络 &gt&gt程序设计 &gt&gt其他编程语言 解析: 不是的,一般这样的程序是由一些人…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载