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 00539A0E |. 8BD8 mov ebx,eax 00539A10 |. BA 01000080 mov edx,80000001 00539A15 |. 8BC3 mov eax,ebx 00539A17 <>|. E8 7401F0FF call 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, 00539A30 |. 8BC3 mov eax,ebx 00539A32 <>|. E8 9D02F0FF call 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, 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, 00539A55 |. E8 DEB3F9FF call ;作为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 } |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏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.