MP3 Joiner 1.22 算法分析
missviola,零客网安
MP3 Joiner 是一款简单易用的把多个 MP3 文件连接成一个大的 MP3 文件的工具:
1、 不需要重新压缩,连接速度快;
2、 支持文件拖放连接;
3、 连接的 MP3 文件必须是相同的压缩参数。
首先PEID查壳,显示为C++编写,用OD载入,查找字符串,找到“Registration has succeeded!”,双击,往上拉,在00404683下断点,输入注册名viola,假码12345678,点击register,程序断下,F8单步走。
00404683 55 push ebp
00404684 56 push esi
00404685 57 push edi
00404686 BF 01000000 mov edi,1
0040468B 57 push edi
0040468C 8BF1 mov esi,ecx
0040468E E8 D4AD0100 call MP3Joine.0041F467
00404693 8B46 70 mov eax,dword ptr ds:[esi+70]
00404696 8B68 F4 mov ebp,dword ptr ds:[eax-C]
00404699 83FD 02 cmp ebp,2 ; 注册名长度要大于2
0040469C 7D 15 jge short MP3Joine.004046B3
0040469E 6A 00 push 0
004046A0 6A 00 push 0
004046A2 68 E4CF4200 push MP3Joine.0042CFE4 ; ASCII "Please input correct User Name!"
004046A7 E8 840B0200 call MP3Joine.00425230
004046AC 5F pop edi
004046AD 5E pop esi
004046AE 5D pop ebp
004046AF 83C4 0C add esp,0C
004046B2 C3 retn
004046B3 8B4E 74 mov ecx,dword ptr ds:[esi+74]
004046B6 8379 F4 08 cmp dword ptr ds:[ecx-C],8 ; 注册码长度要大于8
004046BA 7D 15 jge short MP3Joine.004046D1
004046BC 6A 00 push 0
004046BE 6A 00 push 0
004046C0 68 BCCF4200 push MP3Joine.0042CFBC ; ASCII "Please input correct Registration Code!"
004046C5 E8 660B0200 call MP3Joine.00425230
004046CA 5F pop edi
004046CB 5E pop esi
004046CC 5D pop ebp
004046CD 83C4 0C add esp,0C
004046D0 C3 retn
004046D1 8B46 70 mov eax,dword ptr ds:[esi+70]
004046D4 8B48 F4 mov ecx,dword ptr ds:[eax-C]
004046D7 85C9 test ecx,ecx
004046D9 7D 0A jge short MP3Joine.004046E5
004046DB 68 57000780 push 80070057
004046E0 E8 5BCDFFFF call MP3Joine.00401440
004046E5 8A10 mov dl,byte ptr ds:[eax]
004046E7 8B46 70 mov eax,dword ptr ds:[esi+70] ; 注册名第一位进eax
004046EA 3978 F4 cmp dword ptr ds:[eax-C],edi ; 同注册名长度比较
004046ED 7D 0A jge short MP3Joine.004046F9 ; 大于就跳
004046EF 68 57000780 push 80070057
004046F4 E8 47CDFFFF call MP3Joine.00401440
004046F9 8A40 01 mov al,byte ptr ds:[eax+1] ; 注册名第二位进al
004046FC 884424 0E mov byte ptr ss:[esp+E],al
00404700 8B46 70 mov eax,dword ptr ds:[esi+70]
00404703 8B48 F4 mov ecx,dword ptr ds:[eax-C]
00404706 85C9 test ecx,ecx
00404708 7D 0A jge short MP3Joine.00404714
0040470A 68 57000780 push 80070057
0040470F E8 2CCDFFFF call MP3Joine.00401440
00404714 8B4E 70 mov ecx,dword ptr ds:[esi+70]
00404717 53 push ebx
00404718 8A18 mov bl,byte ptr ds:[eax] &
上一篇: iOS 正则表达式~常用符号
下一篇: CISCO 6509升级IOS主备控板