首页
社区
课程
招聘
加密算法练习(SHA-160)
发表于: 2006-8-27 17:50 9951

加密算法练习(SHA-160)

2006-8-27 17:50
9951

【文章标题】: CRACKME破解分析


【文章作者】: 逍遥风


【下载地址】: 本地下载


【使用工具】: OD,计算器


【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!


              菜鸟偶得一点心得,与大家分享


----------------------------------------------------------------------


【详细过程】


     这个CRACKME用到了SHA加密算法。



     注意用字符串查找功能找不到关键的提示信息,所以在命令行下断点


BP GetWindowTextLengthA


或者


BP GetWindowTextA


都可以中断在关键处


  0040555B  |.  E8 94EAFFFF   call         ; \GetWindowTextA


  00405560  |.  8D45 F8       lea     eax, [ebp-8]                     ;  取注册名的位数


  00405563  |.  E8 A0D8FFFF   call    00402E08


  00405568  |.  A1 34754000   mov     eax, [407534]


  0040556D  |.  50            push    eax                              ; /hWnd => 000E04C6 (class='Edit',parent=000D0518)


  0040556E  |.  E8 89EAFFFF   call    ; \GetWindowTextLengthA


  00405573  |.  99            cdq                                      ;  取输入的注册码的位数


  00405574  |.  8945 E8       mov     [ebp-18], eax


  00405577  |.  8955 EC       mov     [ebp-14], edx


  0040557A  |.  8B5D E8       mov     ebx, [ebp-18]


  0040557D  |.  85DB          test    ebx, ebx


  0040557F  |.  7E 10         jle     short 00405591


  00405581  |>  8D45 F8       /lea     eax, [ebp-8]


  00405584  |.  BA 8C564000   |mov     edx, 0040568C


  00405589  |.  E8 9AD9FFFF   |call    00402F28


  0040558E  |.  4B            |dec     ebx


  0040558F  |.^ 75 F0         \jnz     short 00405581


  00405591  |>  6A 20         push    20


  00405593  |.  8B45 F8       mov     eax, [ebp-8]


  00405596  |.  E8 55DAFFFF   call    00402FF0


  0040559B  |.  50            push    eax                              ; |Buffer


  0040559C  |.  A1 34754000   mov     eax, [407534]                    ; |


  004055A1  |.  50            push    eax                              ; |hWnd => 000E04C6 (class='Edit',parent=000D0518)


  004055A2  |.  E8 4DEAFFFF   call         ; \GetWindowTextA


  004055A7  |.  8D45 F8       lea     eax, [ebp-8]                     ;  取输入的注册码


  004055AA  |.  8B4D F8       mov     ecx, [ebp-8]                     ;  使ECX等于输入的注册码


  004055AD  |.  BA 98564000   mov     edx, 00405698                    ;  0


  004055B2  |.  E8 B5D9FFFF   call    00402F6C


  004055B7  |.  83C9 FF       or      ecx, FFFFFFFF


  004055BA  |.  837D F4 00    cmp     dword ptr [ebp-C], 0


  004055BE  |.  75 08         jnz     short 004055C8


  004055C0  |.  837D F0 1E    cmp     dword ptr [ebp-10], 1E


  004055C4  |.  77 53         ja      short 00405619


  004055C6  |.  EB 02         jmp     short 004055CA


  004055C8  |>  7F 4F         jg      short 00405619


  


  以上分别是对注册名/码的位数,进行一些检验。


  检验完毕后运行到下面代码处。


  


  004055CA  |>  8D45 FC       lea     eax, [ebp-4]                     ;  取输入的注册名


  004055CD  |.  8B4D FC       mov     ecx, [ebp-4]                     ;  使ECX等于输入的注册名


  004055D0  |.  BA A4564000   mov     edx, 004056A4                    ;  diken


  004055D5  |.  E8 92D9FFFF   call    00402F6C                         ;  取固定字符串"DiKeN"


  004055DA  |.  8B45 FC       mov     eax, [ebp-4]                     ;  固定字符串DiKeN与注册名合并,组成字符串A


  


  将固定字符串DiKeN与注册名合并组成字符串A


  以注册名lovetc为例:


  组成的字符串A就是     DiKeNlovetc


  


  


  004055DD  |.  E8 3ED9FFFF   call    00402F20                         ;  取字符串A的位数


  004055E2  |.  99            cdq


  004055E3  |.  8945 F0       mov     [ebp-10], eax                    ;  保存字符串A的位数


  004055E6  |.  8955 F4       mov     [ebp-C], edx


  004055E9  |.  8D45 D4       lea     eax, [ebp-2C]


  004055EC  |.  8B4D FC       mov     ecx, [ebp-4]                     ;  使ECX等于字符串A


  004055EF  |.  BA 04000000   mov     edx, 4                           ;  使EDX等于4


  004055F4  |.  E8 0FFDFFFF   call    00405308                         ;  对字符串A进行SHA计算


  


  关键部分,对字符串A进行SHA计算。如何得知是SHA计算呢?


[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 309
活跃值: (15)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
又出来一个,多谢拉~~~
偶可以好好学习点这些东西拉~
下次再找点给逍遥兄弟拿来~
2006-8-27 20:15
0
雪    币: 174
活跃值: (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
3
兄弟最好做成视频语音教程.
2006-8-30 16:03
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有机会决不能放过
谢了!!
2006-9-1 01:28
0
雪    币: 525
活跃值: (853)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
感谢
2020-4-19 17:07
0
游客
登录 | 注册 方可回帖
返回