Программирование - вопрос/ответ



         

Программирование - часть 12


Как можно обойти привязку к железу (обмануть, взломать, переписать, повеситься)?

Ответ

Я могу посоветовать использовать дебаггер (WinICE, SoftICE) и искать точку входа на процедуру проверки. А потом отключить ее вызов. Но это требует знания ассемблера и, на всякий случай, резервной копии программы. Либо попробуйте подписаться в какую-либо конференцию по взлому и попросите решить вашу проблему.

lujana

Дополнить этот ответ | Задать свой вопрос

Вопрос

Как открыть WAV файл для дальнейшего редактирования, то есть нужно описание какой байт, в файле, к чему относится: частота дискредитации, битрейд, длина звуковой дорожки и сама звуковая дорожка. В итоге приблизительно должен получится массив с частотами или что-то в этом роде.

Ответ

.WAV — файл (как и любой RIFF файл) состоит из набора (не знаю как сказать) thunk-ов, про которые в инструкции говорится:
если программка не знает зачем он нужен — она должна его пропустить (в каждом есть заголовочек, а в ем длина thunkа), а сам файл начинается с заголовка:

struct RIFF
{
char ID[4]; // четыре буковки "RIFF"
long Len; // длина файла без этого заголовка
}
Riff = { "RIFF", 0 };

дальше обычно заголовок собственно WAVа:

struct WAVE
{
char ID[4]; // "WAVE" — заголовок WAV
char Fmt[4]; // "fmt" — thunk формата
long Len; // длинна етого thunka
int Format; // собственно формат
int Channels; // число каналов (1/2)
long SamplesPerSecond; // отсчетов/сек
long AvgBytesPerSecond; // байтов/сек
int BlockAlign; // выравнивание блоков
int BitsPerSample; // битов на отсчет
}
Wave = { "WAVE", "fmt", 16L, 1, 1, 0L, 0L, 1, 8 } ;

формат бывает 1-Microsoft Pulse Code, 0x101 — IBM mu-law, 0x102 — IBM a-law,
0x103 — IBM AVC Adaptive Differential Pulse Code, но самый распространенный (по моему) #1
дальше thunk самплов (отсчетов) один там или несколько:

struct DATA {
char ID[4]; // "data"
long Len; // длина етого thunkа (должен быть выровнен на
// границу слова)
} Data = { "data", 0L };



Содержание  Назад  Вперед