⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5 破解实例(快速邮件地址搜索器).txt

📁 md5加密算法
💻 TXT
字号:
标 题:MD5初次尝试 (2千字)
发信人:upfeed1
时 间:2002-8-19 1:12:33
详细信息:


XXXX快速邮件地址搜索器 by upfeed[FCG] 
真的是其貌不扬,内部算法居然是MD5的,正好最近有看过,正好练习一下: 
============================================================ 
VC的程序,用DASM反汇编以后,发现信息报存在\harrow.cur的指针数据的后面,于是用OllyDbg载入: 
======================== 
00410AB8  |. 68 64DE4600    PUSH fastsear.0046DE64                      ; ASCII "\harrowzs.cur"查找文件 
........ 
00410AF2  |. E8 B6410200    CALL fastsear.00434CAD            ; 获得文件大小 
00410AF7  |. 8BF0          MOV ESI,EAX 
00410B06  |. 81FE FE020000  CMP ESI,2FE                    ; 判断文件后面是否有信息 
........ 
00410B5C  |. 50            PUSH EAX                    ; 读出的注册数据 
00410B5D  |. E8 52290200    CALL fastsear.004334B4 
注册名和注册码用0a0d来分离 
........ 
00410C47  |. 8B5424 14      MOV EDX,DWORD PTR SS:[ESP+14]        ; 注册名 
00410C4B  |. 8B42 F8        MOV EAX,DWORD PTR DS:[EDX-8] 
00410C4E  |. 83F8 08        CMP EAX,8 
00410C51  |. 0F8C F8000000  JL fastsear.00410D4F            ; 长度大于等于8 
........ 
00410C86  |. 50            PUSH EAX                    ; 注册名 
00410C87  |. E8 A4020000    CALL fastsear.00410F30            ; 算注册码 

跟踪进去看一看: 
0041101B  |. 50            PUSH EAX 
0041101C  |. E8 4D290200    CALL fastsear.0043396E            ; 几个字符串的连接,如下所示 
--------------------------------------------- 
| 'zsday-' + 机器码 + '-scy33dds-' + 用户名 | 
--------------------------------------------- 

往下面走就是MD5的计算地方了: 
00411070  |. 51            PUSH ECX                    ; 注册名 
00411071  |. 52            PUSH EDX                    ; 连接串 
00411072  |. E8 F9F2FFFF    CALL fastsear.00410370            ; MD5 
---------------------------------------------------------------------- 
| 这里的MD5算了两次,直接用0补齐64位注册名,一次xor $36,一次xor $5C | 
| 每一次都会将连接串也算一次,见下面的说明                          | 
---------------------------------------------------------------------- 
关于摘要的计算有一点说明: 
MD5(MD5(default, name xor $36), MCode) ...... (1)            ; 相当于分组求出的结果 
MD5(MD5(default, name xor $5C), (1))  ...... (2)            ; 这里利用了上一次的结果 
得到的摘要转换成字符串就是下面的样子了: 
8f554cbca228294b4c2134538f2360cd 

下面的工作就是拼凑注册码: 
0041108D  |. 6A 01            PUSH 1 
0041108F  |. 8D4C24 2C        LEA ECX,DWORD PTR SS:[ESP+2C] 
00411093  |. 6A 1A            PUSH 1A 
00411095  |. 51                PUSH ECX 
00411096  |. 8D4C24 1C        LEA ECX,DWORD PTR SS:[ESP+1C] 
0041109A  |. C68424 E0000000 0>MOV BYTE PTR SS:[ESP+E0],8 
004110A2  |. E8 A7F40100      CALL fastsear.0043054E            ; 从1A位开始的1位 

所以形式如下了: 
(1A,1)(14,4)(0E,1)-(0B,1)(08,4)(1E,1)-(0F,1)(10,4)(15,1)-(1C,1)(00,4)(0F,1)- 
(04,1)(1C,4)(12,1)-(0F,1)(04,4)(07,1)-(03,1)(0C,4)(00,1)-(13,1)(18,4)(09,1) 
其实我正好把它反过来了! 

结果在下面了: 
28f231-8294b5-c4cbcb-260cd4-b8f556-44c21b-ca2288-434532 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -