<一> 摘要 software : ArGoSoft MX Mailer 1.0 home page : http://www.argosoft.com. file name : mxmail.zip reg_name : yupie reg_no : 011215029688 <二> 缘起 这也是一个很有趣的e-mail程式,它能够不经由发信者的SMPT server传递e-mail,而是直 接由DNS server中找出收信者主机,直接将e-mail传到对方主机里,如此便能节省很多时间. <叁> 执行情形 (1) 载入soft-ice後执行mx mailer,选择help/register,在name处填入yupie,regstration填 入1234567890,Ctrl-d进入soft-ice後下bpx hmemcpy指令,按F5回到注册画面,按下OK,马 上进入soft-ice. (2) bd *,按F12共13次後出现错误画面. (3) 重覆1-2,这次按F12共12次,再来用F10去追. (4) 0137:00457126 MOV EDX,[EBP-0C] 0137:00457129 LEA EAX,[EBX+3C] 0137:0045712C CALL 00403A18 0137:00457131 LEA EDX,[EBP-0C] 0137:00457134 MOV EAX,[EBP-08] 0137:00457137 MOV EAX,[EAX+000001DC] 0137:0045713D CALL 0041F19C 0137:00457142 MOV EDX,[EBP-0C] 0137:00457145 LEA EAX,[EBX+40] 0137:00457148 CALL 00403A18 0137:0045714D LEA ECX,[EBP-04] 0137:00457150 MOV EDX,[EBX+40] 0137:00457153 MOV EAX,[EBX+24] 0137:00457156 CALL 00456ACC 0137:0045715B CMP DWORD PTR [EBP-04],00 ;[EBP-04]=011215029688,一组数字 0137:0045715F JZ 00457180 0137:00457161 MOV EAX,[EBP-04] 0137:00457164 MOV EDX,[EBX+3C] ;[EBX+3C]=1234567890,输入之注册 码 0137:00457167 CALL 00403D50 0137:0045716C JNZ 00457180 ;此处若下"rfl +z"则出现注册 ;成功的讯息 在0137:00457167按F8切入 0137:00403D50 PUSH EBX 0137:00403D51 PUSH ESI 0137:00403D52 PUSH EDI 0137:00403D53 MOV ESI,EAX ;真正的注册码放入ESI 0137:00403D55 MOV EDI,EDX ;输入的注册码放入EDI 0137:00403D57 CMP EAX,EDX 0137:00403D59 JZ 00403DEE 0137:00403D5F TEST ESI,ESI 0137:00403D61 JZ 00403DCB 0137:00403D63 TEST EDI,EDI 0137:00403D65 JZ 00403DD2 0137:00403D67 MOV EAX,[ESI-04] ;这里是比对注 0137:00403D6A MOV EDX,[EDI-04] ;册码长度 0137:00403D6D SUB EAX,EDX ; 0137:00403D6F JA 00403D73 ; 0137:00403D71 ADD EDX,EAX 0137:00403D73 PUSH EDX 0137:00403D74 SHR EDX,02 ;算出需要比对几次(一次2 byte) 0137:00403D77 JZ 00403D9F 0137:00403D79 MOV ECX,[ESI] ;将2 byte分别放入 0137:00403D7B MOV EBX,[EDI] ;ECX,EBX而後做比对 0137:00403D7D CMP ECX,EBX ; 0137:00403D7F JNZ 00403DD9 ; 0137:00403D81 DEC EDX 0137:00403D82 JZ 00403D99 ;判断比对完毕 0137:00403D84 MOV ECX,[ESI+04] ;将下2 byte分别放入 0137:00403D87 MOV EBX,[EDI+04] ;ECX,EBX而後做比对 0137:00403D8A CMP ECX,EBX ; 0137:00403D8C JNZ 00403DD9 ; 0137:00403D8E ADD ESI,08 ;ESI,EDI分别指向 0137:00403D91 ADD EDI,08 ;注册码第五位数字 0137:00403D94 DEC EDX 0137:00403D95 JNZ 00403D79 ;判断比对完毕与否 0137:00403D97 JMP 00403D9F (6) 重新打开注册画面,填入yupie/011215029688完成注册. <四> 结论 整个保护相当简单,倒是这个程式的运作原理挺有趣的,但我完全是门外汉,不知道有没有 人愿意把其中的原理讲解一下,尤其是MX record是什麽东西?