找回密码
 注册
搜索
热搜: 回贴

XPSecurity2005c注册算法分析---标准DES 变形MD5,MD5,加密算法

2010-1-22 18:39| 发布者: admin| 查看: 122| 评论: 0|原作者: 云天河


XPSecurity2005c注册算法分析---标准DES 变形MD5,MD5,加密算法
2008年06月23日 星期一 下午 12:34
这个软件是我在12.29号的0day中发现的,因为它采用了DES算法所以偶才拿来练练手



XPSecurity是一款专业的WINDOWS XP 操作系统安全设置工具



下载地址:http://www3.skycn.com/soft/18979.html



主程序用ASPack 2.12 -> Alexey Solodovnikov加壳,PeScan轻松脱掉,原程序有CRC校验

脱壳后PeID显示为Borland Delphi 6.0 - 7.0 [Overlay],DES,MD5,CRC32,

然后用DeDe分析,导出.map文件,导入Ollydbg



经分析发现程序启动时会在HKCU\Software\Microsoft\Security2005c下读取"UN"和"RN",其中UN为DES_Encrypt(username),RN为DES_Encrypt(sn)

程序启动的时候会从注册表中读取,然后分别进行Des_Decrypt,再得到输入的用户名和假码,然后再DES_Encrypt(username) MD5(username)

即为正确的sn,其中MD5算法为变形MD5,



分析后发现程序启动时从下面的地方开始读注册表校验注册码



005399E0 <>/. 55 push ebp ; <-TMainFrm@FormShow

005399E1 |. 8BEC mov ebp,esp

005399E3 |. B9 19000000 mov ecx,19

005399E8 <>|> 6A 00 /push 0 ; loc_5399E8

005399EA |. 6A 00 |push 0

005399EC |. 49 |dec ecx

005399ED |.^ 75 F9 \jnz short

005399EF |. 53 push ebx

005399F0 |. 56 push esi

005399F1 |. 57 push edi

005399F2 |. 8BF0 mov esi,eax

005399F4 |. 33C0 xor eax,eax

005399F6 |. 55 push ebp

005399F7 |. 68 87A55300 push

005399FC |. 64:FF30 push dword ptr fs:[eax]

005399FF |. 64:8920 mov dword ptr fs:[eax],esp

00539A02 |. B2 01 mov dl,1

00539A04 |. A1 D0994300 mov eax,dword ptr ds:[]

00539A09 <>|. E8 E200F0FF call ; ->Registry.TRegistry.Create(TRegistry;boolean);overload;

00539A0E |. 8BD8 mov ebx,eax

00539A10 |. BA 01000080 mov edx,80000001

00539A15 |. 8BC3 mov eax,ebx

00539A17 <>|. E8 7401F0FF call ; ->Registry.TRegistry.SetRootKey(TRegistry;HKEY);

00539A1C |. 833D 64255400 01 cmp dword ptr ds:[542564],1

00539A23 |. 0F85 2F0B0000 jnz

00539A29 |. B1 01 mov cl,1

00539A2B |. BA A0A55300 mov edx, ; ASCII "\Software\Microsoft\Security2005c"

00539A30 |. 8BC3 mov eax,ebx

00539A32 <>|. E8 9D02F0FF call ; ->Registry.TRegistry.OpenKey(TRegistry;AnsiString;Boolean):Boolean;

00539A37 |. 84C0 test al,al

00539A39 |. 74 3E je short

00539A3B |. 8D4D EC lea ecx,dword ptr ss:[ebp-14]

00539A3E |. BA CCA55300 mov edx, ; ASCII "UN"

00539A43 |. 8BC3 mov eax,ebx

00539A45 |. E8 E207F0FF call

00539A4A |. 8B45 EC mov eax,dword ptr ss:[ebp-14]

00539A4D |. 8D4D FC lea ecx,dword ptr ss:[ebp-4]

00539A50 |. BA D8A55300 mov edx, ; ASCII "SecurityOne",这个是密钥

00539A55 |. E8 DEB3F9FF call ;但是只取前面的8个字符"Security"

;作为64的密钥,别忘了其中有8位是用作校验的

;实际只有56位

{

004D4E38 <>/$Content$nbsp; 55 push ebp ; sub_4D4E38

004D4E39 |. 8BEC mov ebp,esp

004D4E3B |. 6A 00 push 0

004D4E3D |. 6A 00 push 0

004D4E3F |. 6A 00 push 0

004D4E41 |. 6A 00 push 0

004D4E43 |. 6A 00 push 0

004D4E45 |. 53 push ebx

004D4E46 |. 56 push esi

004D4E47 |. 57 push edi

004D4E48 |. 8BF9 mov edi,ecx

004D4E4A |. 8955 F8 mov dword ptr ss:[ebp-8],edx

004D4E4D |. 8945 FC mov dword ptr ss:[ebp-4],eax

004D4E50 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]

004D4E53 |. E8 9CF7F2FF call

004D4E58 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]

004D4E5B |. E8 94F7F2FF call

004D4E60 |. 33C0 xor eax,eax

004D4E62 |. 55 push ebp

004D4E63 |. 68 EE4E4D00 push

004D4E68 |. 64:FF30 push dword ptr fs:[eax]

004D4E6B |. 64:8920 mov dword ptr fs:[eax],esp

004D4E6E |. 8D45 F4 lea eax,dword ptr ss:[ebp-C]

004D4E71 |. E8 CEF2F2FF call

004D4E76 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]

004D4E79 |. E8 86F5F2FF call

004D4E7E |. 8BD8 mov ebx,eax

004D4E80 |. D1FB sar ebx,1

004D4E82 |. 79 03 jns short

004D4E84 |. 83D3 00 adc ebx,0

004D4E87 <>|> 4B dec ebx ; loc_4D4E87

004D4E88 |. 85DB test ebx,ebx

004D4E8A |. 7C 3A jl short

004D4E8C |. 43 inc ebx

004D4E8D |. 33F6 xor esi,esi

004D4E8F <>|> 8D45 F0 /lea eax,dword ptr ss:[ebp-10] ; loc_4D4E8F

004D4E92 |. 50 |push eax

004D4E93 |. 8BD6 |mov edx,esi

004D4E95 |. 03D2 |add edx,edx

004D4E97 |. 42 |inc edx

004D4E98 |. B9 02000000 |mov ecx,2

004D4E9D |. 8B45 FC |mov eax,dword ptr ss:[ebp-4]

004D4EA0 |. E8 BFF7F2FF |call

004D4EA5 |. 8B45 F0 |mov eax,dword ptr ss:[ebp-10]

004D4EA8 |. E8 9BFEFFFF |call

004D4EAD |. 8BD0 |mov edx,eax

004D4EAF |. 8D45 EC |lea eax,dword ptr ss:[ebp-14]

004D4EB2 |. E8 75F4F2FF |call

004D4EB7 |. 8B55 EC |mov edx,dword ptr ss:[ebp-14]

004D4EBA |. 8D45 F4 |lea eax,dword ptr ss:[ebp-C]

004D4EBD |. E8 4AF5F2FF |call

004D4EC2 |. 46 |inc esi

004D4EC3 |. 4B |dec ebx

004D4EC4 |.^ 75 C9 \jnz short

004D4EC6 <>|> 8BCF mov ecx,edi ; loc_4D4EC6

004D4EC8 |. 8B55 F8 mov edx,dword ptr ss:[ebp-8]

004D4ECB |. 8B45 F4 mov eax,dword ptr ss:[ebp-C] ;注册表中的UN

004D4ECE |. E8 E9FBFFFF call

004D4ED3 |. 33C0 xor eax,eax

004D4ED5 |. 5A pop edx

004D4ED6 |. 59 pop ecx

004D4ED7 |. 59 pop ecx

004D4ED8 |. 64:8910 mov dword ptr fs:[eax],edx

004D4EDB |. 68 F54E4D00 push

004D4EE0 <>|> 8D45 EC lea eax,dword ptr ss:[ebp-14] ; loc_4D4EE0

004D4EE3 |. BA 05000000 mov edx,5

004D4EE8 |. E8 7BF2F2FF call

004D4EED \. C3 retn



}


最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 03:33 , Processed in 0.138983 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部