|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2014, 20:06 | #1 |
Пользователь
Регистрация: 31.01.2014
Сообщений: 52
|
Игра Интуиция
Было скучно написал программу "Интуиция", суть в том чтобы угадать число , которое уже находится в памяти компьютера.Существует два уровня сложности: легкий(нужно ввести 10 чисел от 1 до 10), и тяжелые(ввести 50 чисел от 1 до 100). В итоге программа выдает результат, хорошая у вас интуиция или плохая....ах да программа консольная)
|
13.02.2014, 01:26 | #2 |
xor esp, esp
Форумчанин
Регистрация: 11.02.2014
Сообщений: 135
|
"которое уже находится в памяти компьютера" - не слишком хороший тон, я тебе это потом докажу . Лучше генерить их на основе тех или иных ошибок ( например прочесть диск, которого нету ) и использовать это как ключ для генерации, после этого прогнать результат через xor ( не ASCII код, а само число получившееся (!) ) и уже потом сравнивать.
Спасибо! Офигенная игра. Особенно мне понравилось. Я оказывается экстрасенс))) Кстати, зачем тебе четыре лишних строки? Нельзя было все в одну функцию запихнуть? + совершенно два идентичных куска кода, отличаются лишь цифрами и текстом в результате. Зачем так много лишнего кода?! А так спасибо, заберу функцию игры на сложном левле. Код:
P.S. Да, я такой, люблю взламывать софт и тырить от туда функции))) Последний раз редактировалось Malriser; 13.02.2014 в 01:39. |
13.02.2014, 11:38 | #3 |
Пользователь
Регистрация: 31.01.2014
Сообщений: 52
|
Перезаливаю файл, потомучто в уровне "Сложный", не то писал в итоге
|
13.02.2014, 11:43 | #4 | |
Пользователь
Регистрация: 31.01.2014
Сообщений: 52
|
Цитата:
|
|
13.02.2014, 12:37 | #5 | |
xor esp, esp
Форумчанин
Регистрация: 11.02.2014
Сообщений: 135
|
Цитата:
Защитить? Ну против отладчика есть функция IsDebuggerPresent() из Kernel32, но согласись - палевно в программе такое вызывать. Лично мне смешно, когда меня пытаются этим остановить. Просто вместо call IsDebuggerPresent написать mov eax, 0 и вся антиотладка убита. Можно замерять время исполнения программы, но это тоже смешно: жмем F4 в OllyDbg до туда где заканчивается замер времени и антиотладка в дауне). P.S. Замер с помощью GetTickCount функции Антидекомпилирование - обфускация кода + полиморфизм. Против дизассемблирования можно попробовать команды jmp со смещением от текущего адреса на предыдущий. Например команда push занимает два байта, а мы делаем прыжок на 1 байт назад и процессор это обрабатывает, а дизассемблеры не знают какой код строить. |
|
13.02.2014, 22:04 | #6 | |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
Цитата:
2. Выложить исходный код в общий доступ, как это делали (и делают) с крипто алгоритмами. 3. Сделать запутанную функцию проверки значения, и не хранить искомое число в памяти. Этот пункт лишь усложнит процесс "взлома". 4. Забить на горе-взломщиков и делать программы для людей. Данный пункт подойдет только для Open Sources программ, не смотря на все, это самый верный путь. Даже если ваша программа полностью открыта - вы можете продавать диски. Не все люди эгоисты. Кто-то купит диск из-за уважения к Вам. Только этого уважения необходимо добиться бинарником находящимся на CD. Если собираетесь зарабатывать деньги на своих программах - стройте планы обороны. Без этого в коммерции никак. Факт касается не только программирования. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Игра | apelsun | Общие вопросы Delphi | 2 | 16.11.2012 09:12 |
Игра | Bulnaz | Общие вопросы по Java, Java SE, Kotlin | 0 | 16.02.2012 12:03 |
Игра | Кристинка89 | C++ Builder | 2 | 17.03.2011 01:39 |
С# ИГРА | Rusmen | Общие вопросы .NET | 9 | 16.03.2010 15:53 |