есть софт iZotope Ozone. в общем случае - софтвер инструмент для мастеринга и пост-процессинга аудио, и в конкретном случае - 32-битный плагин для обработки аудио для аудио-плейеров на Win. можете не искать в сети официальный релиз Ozone for MediaPlayers - его больше нет на сайте официальном. так вот, в чём интересная задача. i. код перевести из x86-32 на 64-bit. ii. плагин оцифровывает дискретно - int под Winamp ii.a нужно float-point, для foobar2000 на сегодня, прогоняю в TurboDebugger этот плагин весом в 4МБ. вопрос - есть ли возможность из асм32 перевести в асм64? сорри, если для кого-то вопрос очевиден и ответ - нет.
Пока получил опыт реверса x86 miniFmod audio, что используется для озвучивания креков прог Win. Непосредственно код ozone - пока прогоняется в дебаггере. Защиты нет кода прямого, наворочено всяко ненужного в теле .data .code. // пасхальные яйца и игра недоделанная )) Code: # 1 "src/sound.S" # 1 "<built-in>" # 1 "<command line>" # 1 "src/sound.S" # 11 "src/sound.S" .this_GCC_requires_the_GNU_assembler .linkonce one_only .title PalNuke! .intel_syntax .arch i386 .optim .p2align 4,,15 _mfmPlay: push ebp mov ebp, esp cmp dword ptr [ebp+8], 0x0 je LmfmPlayPause push 0x0 push 0xac44 call _FSndInit add esp, 0x8 test eax, eax je LmfmPlayRet push 0x0 push dword ptr [ebp+8] call _FMusicLoadSong add esp, 0x8 test eax, eax je LmfmPlayRet mov ds_0x4063d4, eax push eax call _LFMusicPlaySong add esp, 0x4 mov eax, ds_0x4063d4 jmp LmfmPlayRet LmfmPlayPause: cmp dword ptr dwPauseThread, 0x0 je LmfmPlayStop call _mfmPause LmfmPlayStop: push ds_0x4063d4 call _FMusicFreeSong add esp, 0x4 push hWaveOut call [__imp__waveOutReset] push hWaveOut call [__imp__waveOutClose] push ds_0x40d390 call [__imp__GlobalFree] LmfmPlayRet: leave ret