- UID
- 1132
注册时间2005-4-20
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 无聊 2020-4-10 17:02 |
---|
签到天数: 5 天 [LV.2]偶尔看看I
|
【破解日期】 2005年9月30日
【破解作者】 冷血书生[OCN][CZG][D.4s][PYG][PCG]
【作者邮箱】 [email protected]
【使用工具】 OD,PEID,UPX通用脱壳机,DEDE,MD5计算工具
【破解平台】 Win9x/NT/2000/XP
【软件名称】 Desk Marker V1.9.8
【下载地址】 http://www.skycn.com/soft/18424.html
【软件简介】 一个非常简单的在桌面上做笔记的工具,可以使用不同的笔型和颜色来进行标记。
【软件大小】 1564 KB
【加壳方式】 UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
PEID检测到UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo,用UPX通用脱壳机,轻松又快捷的把壳脱掉! 再检测,程序是Borland Delphi 6.0 - 7.0编写!
OD载入,使用字符串插件,什么东西也没有!失败!
于是转用DEDE,经过分析,轻松找到0426DF8A,下断0426DF8A:
试炼信息:
name:lengxue
company:lengxueshusheng
email add:[email protected]
registration key:123654789
0426DF8A 55 push ebp ; 下断
0426DF8B 68 18E02604 push DeskMark.0426E018
0426DF90 64:FF30 push dword ptr fs:[eax]
0426DF93 64:8920 mov dword ptr fs:[eax],esp
0426DF96 8D55 FC lea edx,dword ptr ss:[ebp-4]
0426DF99 8B83 24030000 mov eax,dword ptr ds:[ebx+324]
0426DF9F E8 0059F8FF call DeskMark.041F38A4
0426DFA4 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DFA7 50 push eax
0426DFA8 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0426DFAB 8B83 14030000 mov eax,dword ptr ds:[ebx+314]
0426DFB1 E8 EE58F8FF call DeskMark.041F38A4
0426DFB6 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0426DFB9 50 push eax
0426DFBA 8D55 F4 lea edx,dword ptr ss:[ebp-C]
0426DFBD 8B83 0C030000 mov eax,dword ptr ds:[ebx+30C]
0426DFC3 E8 DC58F8FF call DeskMark.041F38A4
0426DFC8 8B45 F4 mov eax,dword ptr ss:[ebp-C]
0426DFCB 50 push eax
0426DFCC 8D55 F0 lea edx,dword ptr ss:[ebp-10]
0426DFCF 8B83 04030000 mov eax,dword ptr ds:[ebx+304]
0426DFD5 E8 CA58F8FF call DeskMark.041F38A4
0426DFDA 8B55 F0 mov edx,dword ptr ss:[ebp-10]
0426DFDD A1 E4963304 mov eax,dword ptr ds:[43396E4]
0426DFE2 8B00 mov eax,dword ptr ds:[eax]
0426DFE4 59 pop ecx
0426DFE5 E8 02060000 call DeskMark.0426E5EC ; 关键CALL(1),跟进
0426DFEA A1 709B3304 mov eax,dword ptr ds:[4339B70]
0426DFEF 8B00 mov eax,dword ptr ds:[eax]
0426DFF1 E8 6A9A0B00 call DeskMark.04327A60
0426DFF6 8BC3 mov eax,ebx
0426DFF8 E8 2F21FAFF call DeskMark.0421012C
0426DFFD 33C0 xor eax,eax
0426DFFF 5A pop edx
0426E000 59 pop ecx
0426E001 59 pop ecx
0426E002 64:8910 mov dword ptr fs:[eax],edx
0426E005 68 1FE02604 push DeskMark.0426E01F
0426E00A 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0426E00D BA 04000000 mov edx,4
0426E012 E8 2D65F2FF call DeskMark.04194544
0426E017 C3 retn
******************** 跟进关键CALL(1) call DeskMark.0426E5EC ************************
0426E5F2 53 push ebx
0426E5F3 894D F8 mov dword ptr ss:[ebp-8],ecx
0426E5F6 8955 FC mov dword ptr ss:[ebp-4],edx
0426E5F9 8BD8 mov ebx,eax
0426E5FB 8B45 FC mov eax,dword ptr ss:[ebp-4] ; "lengxue"
0426E5FE E8 CD63F2FF call DeskMark.041949D0
0426E603 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; "lengxueshusheng"
0426E606 E8 C563F2FF call DeskMark.041949D0
0426E60B 8B45 0C mov eax,dword ptr ss:[ebp+C] ; "[email protected]"
0426E60E E8 BD63F2FF call DeskMark.041949D0
0426E613 8B45 08 mov eax,dword ptr ss:[ebp+8] ;"123654789"
0426E616 E8 B563F2FF call DeskMark.041949D0
0426E61B 33C0 xor eax,eax
0426E61D 55 push ebp
0426E61E 68 E8E72604 push DeskMark.0426E7E8
0426E623 64:FF30 push dword ptr fs:[eax]
0426E626 64:8920 mov dword ptr fs:[eax],esp
0426E629 8B45 0C mov eax,dword ptr ss:[ebp+C]
0426E62C 50 push eax
0426E62D 8B4D F8 mov ecx,dword ptr ss:[ebp-8]
0426E630 8B55 FC mov edx,dword ptr ss:[ebp-4]
0426E633 8BC3 mov eax,ebx
0426E635 E8 A6050000 call DeskMark.0426EBE0
0426E63A 8B83 40030000 mov eax,dword ptr ds:[ebx+340]
0426E640 8B55 08 mov edx,dword ptr ss:[ebp+8]
0426E643 E8 CCF5FFFF call DeskMark.0426DC14 ; 关键CALL(2),跟进
0426E648 84C0 test al,al
0426E64A 0F84 45010000 je DeskMark.0426E795 ; 相等就注册失败
********************** 跟进关键CALL(2) call DeskMark.0426DC14 ***********************
0426DC1A 53 push ebx
0426DC1B 33C9 xor ecx,ecx
0426DC1D 894D F8 mov dword ptr ss:[ebp-8],ecx
0426DC20 8955 FC mov dword ptr ss:[ebp-4],edx
0426DC23 8BD8 mov ebx,eax
0426DC25 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DC28 E8 A36DF2FF call DeskMark.041949D0
0426DC2D 33C0 xor eax,eax
0426DC2F 55 push ebp
0426DC30 68 70DC2604 push DeskMark.0426DC70
0426DC35 64:FF30 push dword ptr fs:[eax]
0426DC38 64:8920 mov dword ptr fs:[eax],esp
0426DC3B 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0426DC3E 8BC3 mov eax,ebx
0426DC40 E8 2BFEFFFF call DeskMark.0426DA70 ; 算法CALL(1),跟进
0426DC45 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 真码
0426DC48 8B55 FC mov edx,dword ptr ss:[ebp-4] ; 假码
0426DC4B E8 DC6CF2FF call DeskMark.0419492C ; 真假码比较
********************* 跟进算法CALL(1) call DeskMark.0426DA70 ****************************
0426DA7F 8BDA mov ebx,edx
0426DA81 8945 FC mov dword ptr ss:[ebp-4],eax
0426DA84 33C0 xor eax,eax
0426DA86 55 push ebp
0426DA87 68 99DB2604 push DeskMark.0426DB99
0426DA8C 64:FF30 push dword ptr fs:[eax]
0426DA8F 64:8920 mov dword ptr fs:[eax],esp
0426DA92 33C9 xor ecx,ecx
0426DA94 B2 01 mov dl,1
0426DA96 A1 28F82504 mov eax,dword ptr ds:[425F828]
0426DA9B E8 EC03FFFF call DeskMark.0425DE8C
0426DAA0 8945 F8 mov dword ptr ss:[ebp-8],eax
0426DAA3 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0426DAA6 8B10 mov edx,dword ptr ds:[eax]
0426DAA8 FF52 20 call dword ptr ds:[edx+20]
0426DAAB 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DAAE FF70 10 push dword ptr ds:[eax+10]
0426DAB1 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DAB4 FF70 08 push dword ptr ds:[eax+8] ;"lengxue"
0426DAB7 68 B0DB2604 push DeskMark.0426DBB0
0426DABC 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DABF FF70 0C push dword ptr ds:[eax+C] ;'lengxueshusheng"
0426DAC2 68 B0DB2604 push DeskMark.0426DBB0
0426DAC7 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DACA FF70 04 push dword ptr ds:[eax+4] ;"[email protected]"
0426DACD 8D45 F4 lea eax,dword ptr ss:[ebp-C]
0426DAD0 BA 06000000 mov edx,6 ; EDX=6
0426DAD5 E8 C66DF2FF call DeskMark.041948A0
0426DADA 68 F8030000 push 3F8
0426DADF 53 push ebx
0426DAE0 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0426DAE3 8B00 mov eax,dword ptr ds:[eax]
0426DAE5 33C9 xor ecx,ecx
0426DAE7 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; 将上面的连起来[email protected]
0426DAEA E8 412FFFFF call DeskMark.04260A30 ; 将上面的连接进行MD5运算并看到结果a1511d1c3c9ac8271cb1a0139118afe5
0426DAEF 8B03 mov eax,dword ptr ds:[ebx] ; 结果送EAX
0426DAF1 E8 EA6CF2FF call DeskMark.041947E0
0426DAF6 8BF8 mov edi,eax ; EAX送EDI
0426DAF8 85FF test edi,edi
0426DAFA 7E 55 jle short DeskMark.0426DB51
0426DAFC BE 01000000 mov esi,1 ; ESI=1
0426DB01 8BC6 mov eax,esi ; ESI送EAX
0426DB03 B9 05000000 mov ecx,5 ; ECX=5
0426DB08 99 cdq
0426DB09 F7F9 idiv ecx ; EAX MOD ECX=EDX
0426DB0B 85D2 test edx,edx ; 测试EDX
0426DB0D 75 3E jnz short DeskMark.0426DB4D ; EDX小于5就跳
0426DB0F 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0426DB12 50 push eax
0426DB13 8B03 mov eax,dword ptr ds:[ebx]
0426DB15 8BCE mov ecx,esi
0426DB17 33D2 xor edx,edx
0426DB19 E8 226FF2FF call DeskMark.04194A40 ; 将每次取的字符串用"-"连起来
0426DB1E FF75 F0 push dword ptr ss:[ebp-10] ; 看到连接后的结果
0426DB21 68 B0DB2604 push DeskMark.0426DBB0
0426DB26 8D45 EC lea eax,dword ptr ss:[ebp-14]
0426DB29 50 push eax
0426DB2A 8B03 mov eax,dword ptr ds:[ebx]
0426DB2C E8 AF6CF2FF call DeskMark.041947E0
0426DB31 8BC8 mov ecx,eax
0426DB33 49 dec ecx
0426DB34 8D56 01 lea edx,dword ptr ds:[esi+1]
0426DB37 8B03 mov eax,dword ptr ds:[ebx]
0426DB39 E8 026FF2FF call DeskMark.04194A40
0426DB3E FF75 EC push dword ptr ss:[ebp-14]
0426DB41 8BC3 mov eax,ebx
0426DB43 BA 03000000 mov edx,3 ; EDX=3
0426DB48 E8 536DF2FF call DeskMark.041948A0
0426DB4D 46 inc esi ; ESI+1
0426DB4E 4F dec edi ; EDI-1
0426DB4F ^ 75 B0 jnz short DeskMark.0426DB01 ; 循环
0426DB51 8B0B mov ecx,dword ptr ds:[ebx] ; 结果a1511-d1c3-c9ac-8271-cb1a-0139-118afe5
0426DB53 8B45 FC mov eax,dword ptr ss:[ebp-4]
0426DB56 8B50 10 mov edx,dword ptr ds:[eax+10]
0426DB59 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0426DB5C E8 CB6CF2FF call DeskMark.0419482C ;将结果的小写转为大写
0426DB61 8B45 E4 mov eax,dword ptr ss:[ebp-1C] ; DM-a1511-d1c3-c9ac-8271-cb1a-0139-118afe5
0426DB64 8D55 E8 lea edx,dword ptr ss:[ebp-18]
0426DB67 E8 B4B2F2FF call DeskMark.04198E20
0426DB6C 8B55 E8 mov edx,dword ptr ss:[ebp-18] ; DM-A1511-D1C3-C9AC-8271-CB1A-0139-118AFE5
0426DB6F 8BC3 mov eax,ebx
0426DB71 E8 FE69F2FF call DeskMark.04194574
0426DB76 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0426DB79 E8 525BF2FF call DeskMark.041936D0
0426DB7E 33C0 xor eax,eax
0426DB80 5A pop edx
0426DB81 59 pop ecx ; DeskMark.0426DB99
0426DB82 59 pop ecx
0426DB83 64:8910 mov dword ptr fs:[eax],edx
0426DB86 68 A0DB2604 push DeskMark.0426DBA0
0426DB8B 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0426DB8E BA 05000000 mov edx,5
0426DB93 E8 AC69F2FF call DeskMark.04194544
0426DB98 C3 retn
0426DB99 ^\E9 C662F2FF jmp DeskMark.04193E64
0426DB9E ^ EB EB jmp short DeskMark.0426DB8B
0426DBA0 5F pop edi
0426DBA1 5E pop esi
0426DBA2 5B pop ebx
0426DBA3 8BE5 mov esp,ebp
0426DBA5 5D pop ebp
0426DBA6 C3 retn ; 返回
******************************** 跟进 call DeskMark.04260A30 *******************************
04260A30 55 push ebp
04260A31 8BEC mov ebp,esp
04260A33 51 push ecx
04260A34 53 push ebx
04260A35 56 push esi
04260A36 8BF2 mov esi,edx
04260A38 B2 01 mov dl,1
04260A3A E8 4DD4FFFF call DeskMark.0425DE8C
04260A3F 8945 FC mov dword ptr ss:[ebp-4],eax
04260A42 33C0 xor eax,eax
04260A44 55 push ebp
04260A45 68 B00A2604 push DeskMark.04260AB0
04260A4A 64:FF30 push dword ptr fs:[eax]
04260A4D 64:8920 mov dword ptr fs:[eax],esp
04260A50 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260A53 8B10 mov edx,dword ptr ds:[eax]
04260A55 FF52 20 call dword ptr ds:[edx+20] ; 算法CALL(2),跟进
04260A58 8BC6 mov eax,esi
04260A5A E8 813DF3FF call DeskMark.041947E0
04260A5F 50 push eax
04260A60 8BC6 mov eax,esi
04260A62 E8 793FF3FF call DeskMark.041949E0
04260A67 8BD0 mov edx,eax
04260A69 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260A6C 59 pop ecx
04260A6D 8B18 mov ebx,dword ptr ds:[eax]
04260A6F FF53 24 call dword ptr ds:[ebx+24]
04260A72 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260A75 8B10 mov edx,dword ptr ds:[eax]
04260A77 FF52 28 call dword ptr ds:[edx+28]
04260A7A 8B45 08 mov eax,dword ptr ss:[ebp+8]
04260A7D 50 push eax
04260A7E 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260A81 8B10 mov edx,dword ptr ds:[eax]
04260A83 FF52 2C call dword ptr ds:[edx+2C]
04260A86 50 push eax
04260A87 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260A8A 8B00 mov eax,dword ptr ds:[eax]
04260A8C FF50 30 call dword ptr ds:[eax+30]
04260A8F 8BD0 mov edx,eax
04260A91 8B4D 0C mov ecx,dword ptr ss:[ebp+C]
04260A94 58 pop eax
04260A95 E8 02E0FFFF call DeskMark.0425EA9C
04260A9A 33C0 xor eax,eax
04260A9C 5A pop edx
04260A9D 59 pop ecx
04260A9E 59 pop ecx
04260A9F 64:8910 mov dword ptr fs:[eax],edx
04260AA2 68 B70A2604 push DeskMark.04260AB7
04260AA7 8B45 FC mov eax,dword ptr ss:[ebp-4]
04260AAA E8 212CF3FF call DeskMark.041936D0
04260AAF C3 retn
************************* 跟进 算法CALL(2) call dword ptr ds:[edx+20] *******************
04261484 53 push ebx ; 跟进来到这里
04261485 8BD8 mov ebx,eax
04261487 8D43 18 lea eax,dword ptr ds:[ebx+18]
0426148A 33C9 xor ecx,ecx
0426148C BA 40000000 mov edx,40
04261491 E8 DA1AF3FF call DeskMark.04192F70 ; 看到下面的常数,你一定会想起什么东西吧?呵呵!没错,就是MD5算法!
04261496 C743 58 0123456>mov dword ptr ds:[ebx+58],67452301
0426149D C743 5C 89ABCDE>mov dword ptr ds:[ebx+5C],EFCDAB89
042614A4 C743 60 FEDCBA9>mov dword ptr ds:[ebx+60],98BADCFE
042614AB C743 64 7654321>mov dword ptr ds:[ebx+64],10325476
042614B2 C743 68 F0E1D2C>mov dword ptr ds:[ebx+68],C3D2E1F0
042614B9 C743 6C 1032547>mov dword ptr ds:[ebx+6C],76543210
042614C0 C743 70 98BADCF>mov dword ptr ds:[ebx+70],FEDCBA98
042614C7 C743 74 EFCDAB8>mov dword ptr ds:[ebx+74],89ABCDEF
042614CE C743 78 6745230>mov dword ptr ds:[ebx+78],1234567
042614D5 C743 7C 0F1E2D3>mov dword ptr ds:[ebx+7C],3C2D1E0F
042614DC 33C0 xor eax,eax
042614DE 8943 14 mov dword ptr ds:[ebx+14],eax
042614E1 B2 01 mov dl,1
042614E3 8BC3 mov eax,ebx
042614E5 E8 BEF4FFFF call DeskMark.042609A8
042614EA 5B pop ebx
042614EB C3 retn
--------------------------------------------------------------------------------
【算法总结】
(1)DM-用户名-公司名称-EMAIL地址,连接后结果记为A
(2)将A进行MD5运算,结果记为B
(3)将B的字母小写转换为大写,记为C
(4)将C按XXXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXX格式分开,记为D
(5)DM-与D连接(即DM-D),即为注册码
一组可用的注册信息:
name:lengxue
company:lengxueshusheng
email add:[email protected]
registration key:DM-A1511-D1C3-C9AC-8271-CB1A-0139-118AFE5
注册信息保存在:
HKEY_CURRENT_USER\Software\delight software gmbh\DeskMarker
删除又可再玩一次
--------------------------------------------------------------------------------
【内存注册机】
中断地址:426DC4B
中断次数:1
第一字节:E8
指令长度:5
内存方式===》EAX===》指针1层
--------------------------------------------------------------------------------
【爆破地址】
0426E64A 0F84 45010000 je DeskMark.0426E795 /// je ====>>>jne
--------------------------------------------------------------------------------
【破解总结】
虽然是MD5算法,但还算是比较简单的,用工具就可以计算出注册码,不足之处,还请各位大侠指点!!
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
--------------------------------------------------------------------------------
2005.9.30 by 冷血书生 |
|