битными кусками ничего не меняет,
То, что выполнение операции XOR[n2k45] "ксоренье" идет 32- битными кусками ничего не меняет, ведь – она XOR побитовая операция и потому конкретная разрядность операндов никак не влияет на конечный результат! Во-вторых, анализ закономерностей выгоднее всего проводить на битовом уровне, т. к. именно на битовом уровне эта псевдослучайная последовательность и генерируются.
Следующий Скрипт
(script)[n2k46] , показанный в листинге 1.5, автоматически преобразует все элементы таблицы в 16-разрядные слова, отображаемые в двоичном виде. Запустите дизассемблер IDA Pro, нажиме <F2> и загрузите файл, содержащий этот скрипт. Затем, подогнав курсор к первому элементу таблицы, нажмите <Shift-F2> и введите следующую команду: x2bin(ScreenEA(), ScreenEA()+2340, 2). Комбинация <Ctrl-Enter> (в ранних версиях IDA Pro просто <Enter>) запустит скрипт на выполнение.:
Листинг 1.5. Скрипт на IDA-Си, преобразующий элементы таблицы в двоичный вид
// x_start - начальный адрес для преобразования
// x_len - кол-во байт для преобразования
// x_pow - кол-во байт в одном элементе
static x2bin(x_start, x_end, x_pow)
{
auto a,p;
for(p=x_start;;)
{
// преобразуем в элемент нужной разрядности
if (x_pow == 1) MakeByte(p); else if (x_pow == 2) MakeWord(p); else
if (x_pow == 4) MakeDword(p); else return 0;
// в двоичный вид
OpBinary(p, 0);
// след. элемент
p = p + x_pow;
// выход, если все уже сделано
if (p>x_end) break;
}
}
Листинг 5 Скрипт на IDA-Си, преобразующий элементы таблицы в двоичный вид. Запустите IDA, нажиме <F2> и загрузите файл, содержащий этот скрипт. Затем, подогнав курсор к первому элементу таблицы, нажмите <Shift-F2> и введите следующую команду "x2bin(ScreenEA(), ScreenEA()+2340, 2)".
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий