Недавно почитал readme к примочке к SoftICE - IceExt 0.65 IceExt v0.65 - Implemented as internal NTIce commands: memory dumping, SoftICE screen dumping, tetris game, kernel-mode MP3 player , ....... какие только команды не вводил не нашёл команды для ядерного MP3 плеера, мне это фактически и не нужно, но просто интересно ..... может у кого нибудь заработал MP3 плеер
Настоящие хакеры слушают музыку на нулевом кольце! Вобщем идея такая: > грузить сайс и IceExt > I3HERE ON >X > загрузить mp3 в память с помощью SISND (специально только что накодил см. в аттаче SISND.ASM, например SISND C:\MP3\mysound.mp3) > при всплытии SoftIce набираем: !test eax ecx ...но звука однако у меня так и нет И почему то в исходном коде стоит return? cmd_test.cpp Код (Text): *** si_Exec("u KERNEL32!UnhandledExceptionFilter"); //<<Выполняется только это return; DbgPrint("Current KTHREAD: %08X\n", *si_CurrentContext); return; // parse command line <<А надо это __asm { mov esi, args cmp byte ptr [esi], 0 jz syntax_error *** Так что надо либо патчить IceExt (заменить ret'ы на nop'ы) либо перекомпилить, но make файл какой-то странный. ---------------------------------------------------- Продолжение: Сам IceExt находится в IceExt.exe в виде бинарного ресурса, и экспортирует все свои функции: bc, dump, trace... дизассемблированное начало 'test': Код (Text): 0001A050 mov edi, edi 0001A052 push ebp 0001A053 mov ebp, esp 0001A055 sub esp, 8 0001A058 push esi 0001A059 push 1 0001A05B push offset aUKernel32Unhan ; "u KERNEL32!UnhandledExceptionFilter" 0001A060 call sub_14670 0001A065 jmp loc_1A16A 0001A06A mov esi, [ebp+18h] 0001A06D cmp byte ptr [esi], 0 0001A070 jz loc_1A15D * * * 0001A0A4 push eax 0001A0A5 push offset aPlayingAddr08x ; "Playing Addr=%08X Len=%08X\n" 0001A0AA call DbgPrint 0001A0AF add esp, 0Ch 0001A0B2 cmp dword_4A4E4, 0 0001A0B9 jz short loc_1A12F При вызове этой функции её выполнение заканчивается 1A065: jmp loc_1A16A, с последующим выходом; Когда забил код с 1A059 по 1A065 (бряки не работают, видимо аддр. пр-во сайса) выполнение передалось на 1A0B9: jz short loc_1A12F, с последующей выдачей сообщения "AC97 codec is not found.\n". Интересно какой кодек он имеет ввиду - в винде то есть AC97 кодек; а может это функция ещё сыровата: в сорце написано Only for debugging purposes. [Этот код можно найти в SI поиском 8B FF 55 8B EC 83 EC 08 56 6A 01 (версия IceExt - 0.70)]
Сам пытался заставить работать год назад - нивкакую... Решил проблему установкой сайса под Virtual PC и слушать музыку на реальной машине + и доки можно читать параллейно.