Как ломать программы Windows (C) ED!SON [UCF], перевод Mr.Boco/TCP
Категория реферата: Рефераты по информатике, программированию
Теги реферата: диплом купить, курсовые
Добавил(а) на сайт: Ламин.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
То есть, правильный код для меня: 901324.
Нажмем F5 или Ctrl-D чтобы вернуться в программу и попробуем еще раз, но на этот раз с правильным кодом (в десятичной форме). Работает!
4. СОЗДАНИЕ ГЕНЕРАТОРА КЛЮЧЕЙ ДЛЯ COMMAND LINE 95
Взглянем на алгоритм генерации кода и попробуем перевести его на язык Си. Вот очень простая формула, по которой подсчитывается ключ:
code = ((uppercase_first_char * length_of_string) << 0x0A) + 0x2f8cc;
Замечание #1: Не следует забывать, что все символы в окне ввода имени были приведены к верхнему регистру, поэтому мы должны сделать то же.
Замечание #2: "<< 0x0A" означает "умножние на 2 в степени 10"
Целиком программа на Си выглядит так:
#include <string.h>
#include <stdio.h>
int main()
unsigned long code;
unsigned char buffer[0x1e];
printf("CommandLine95 Keymaker by ED!SON '96n"); printf("Enter name: ");
gets(buffer);
strupr(buffer);
code = ( ((unsigned long)buffer[0] *
(unsigned long)strlen(buffer))
<< 0x0A) + 0x2f8cc;
printf("Your code is: %lu", code);
return 0;
Приятных сновидений!
4. КАК РАБОТАЮТ PUSH И CALL КОГДА ПРОГРАММА ВЫЗЫВАЕТ ФУНКЦИЮ
Снова | взглянем PUSH PUSH PUSH PUSH CALL | на кусок кода из Task Lock'а: 32 EAX 000003F4 DWORD PTR [ESI+1C] [USER32!GetDlgItemTextA] | Макс. длина строки Адрес текстового буфера Идентификатор управления Идентификатор окна диалога Получает текст |
Когда Вы вызываете функцию GetDlgItemTextA из программы на C, вызов выглядит так:
GetDlgItemTextA(hwndDlg, 0x3F4, buffer, 0x32);
Рекомендуем скачать другие рефераты по теме: курсовые работы бесплатно, реферати курсові.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата