Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
ВнизДля чего можно использовать этот код? Найти похожие ветки
← →
vidiv © (2005-07-29 10:41) [0]
if
(copy("Образец", 1, 1) <> "О") or
(copy("Образец", 2, 1) <> "б") or
(copy("Образец", 3, 1) <> "р") or
(copy("Образец", 4, 1) <> "а") or
(copy("Образец", 5, 1) <> "з") or
(copy("Образец", 6, 1) <> "е") or
(copy("Образец", 7, 1) <> "ц") then begin
{...}
end
← →
Александр Иванов © (2005-07-29 10:46) [1]чтобы засорить программу
← →
vidiv © (2005-07-29 10:58) [2]еще есть варианты? :)
← →
Плохиш © (2005-07-29 10:59) [3]Это бесплатный билет в психлечебницу
← →
syte_ser78 © (2005-07-29 11:02) [4]это процедура проверки является ли слово словом "Образец"
К стати так можно проверку орфографии сделать, только много if-ов понадобится
← →
BiN © (2005-07-29 11:03) [5]vidiv © (29.07.05 10:41)
Для чего можно использовать этот код?
Чтобы спамить от скуки на форуме
← →
vidiv © (2005-07-29 11:04) [6]
> Александр Иванов © (29.07.05 10:46) [1]
> Плохиш © (29.07.05 10:59) [3]
> BiN © (29.07.05 11:03) [5]
Мне кажется ваше мышление ограничено собственным авторитетом... Проще надо быть :(
← →
Sergey13 © (2005-07-29 11:05) [7]>Для чего можно использовать этот код?
Для оптимизации. 8-)
← →
vidiv © (2005-07-29 11:14) [8]И тем не менее я использовал данный код в своей программе, в трезвом уме и твердой памяти! :)
← →
Skyle © (2005-07-29 11:15) [9]> [8] vidiv © (29.07.05 11:14)
Неужели пароль проверял? ;-)
← →
Плохиш © (2005-07-29 11:17) [10]
> vidiv © (29.07.05 11:14) [8]
> И тем не менее я использовал данный код в своей программе,
> в трезвом уме и твердой памяти! :)
Я плякал
← →
syte_ser78 © (2005-07-29 11:18) [11]а че не написать
if a<>"Образец" then...
?
← →
TUser © (2005-07-29 11:20) [12]> if a<>"Образец" then...
Прочитайте [0] и почувствуте разницу
← →
vidiv © (2005-07-29 11:20) [13]
> syte_ser78 © (29.07.05 11:18) [11]
В данном коде не используются переменные, вот как он записан, так я его и использовал, разве что, только условия разделенные OR-ами перемешал...
И тем не менее мой маленький тест показал, что данный код выполняет возложенную на него задачу :)
← →
syte_ser78 © (2005-07-29 11:25) [14]да уж.
А смысл тогда какой если ты сверяеш заведомо что с заведомо чем?
if (2<>2) or
(3<>3 or...
xxxx<>xxxxx
какой смысл и где можно использовать?
← →
TUser © (2005-07-29 11:28) [15]В принципе, если вместо слова Образец написать
Введите код активизации
- то кучу такого кода можно использовать в разных местах программы, чтобы запутать хакеров.
← →
vidiv © (2005-07-29 11:43) [16]Объясняю что я хотел добится!
1. Я разрабатывал программу, результатом которой является печать документов на принтере!
2. Если программа не зарегистрирована, она должна печатать слово
"Образец" поверх остального текста! Больше никаких ограничений!
3. Компилятор дельфи достаточно продуман, и если в коде одной зоны видимости встречается одна и также строка (в моем случае это строка "Образец"), то при компиляции для этих строк (констант) будет использоваться фактически одна константа (другими словами, если в коде встречается два раза слово образец, то в EXE файле это слово будет встречаться только один раз)
4. Чтобы демонстрационная версия программы не портила документы, даже давольно непродуманный coolхацкер может догадаться просто в EXE файле заменить строку Образец пробелами! Так вот, если он это сделает, то данное условие уже будет выполнятся => следовательно миссия этого кода выполнена :)if
(copy("Образец", 1, 1) <> "О") or
(copy("Образец", 2, 1) <> "б") or
(copy("Образец", 3, 1) <> "р") or
(copy("Образец", 4, 1) <> "а") or
(copy("Образец", 5, 1) <> "з") or
(copy("Образец", 6, 1) <> "е") or
(copy("Образец", 7, 1) <> "ц") then begin
{...}
end;
{...}
...canvas.textout(x, y, "Образец");
← →
TUser © (2005-07-29 11:45) [17]Так он заменит пробелами Образец в Textout"е ...
← →
vidiv © (2005-07-29 11:50) [18]
> TUser © (29.07.05 11:45) [17]
В EXE файле все 8 вхождений слова "образец" будут браться с одного и тогже места. Если он меняет слово образец на пробелы, то оно меняется соответственно во всех восьми местах!
← →
BorisMor © (2005-07-29 11:50) [19]"Образец" это константак.
Он проерку константы делает... Извращенец :)
← →
syte_ser78 © (2005-07-29 12:05) [20]сделай проще. Смещай код каджого печатемого символа следующий образом
текстовый_массив ("О","б","р","а","з","е","ц")
числовой_массив_кодов_символов(....)
Далее каждый_печатемый_символ равен
ord(chr(каждый_печатемый_символ)+chr(текстовый_массив[i]-числовой_массив_кодов_символов[i])
Для запутки можно числа в числовом массиве както запутать.
← →
syte_ser78 © (2005-07-29 12:06) [21]И попробуй в текстовом массиве все забить пробелами.
← →
Lamer@fools.ua © (2005-07-29 12:07) [22]Хацкер не будет заниматься ерундой и просто заNOPит вызов TextOut.
← →
TUser © (2005-07-29 12:09) [23]> syte_ser78 © (29.07.05 12:05) [20]
Есть даже спец. программа, которая на вход получает unit, затем все текстовые константы в нем шифрует xor"ом, записывает в спец. массив и заменяет из на вызов своей функции - расшифровщика.
← →
BorisMor © (2005-07-29 12:22) [24]Lamer@fools.ua © (29.07.05 12:07) [22]
Дело говорит...
← →
Gydvin © (2005-07-29 12:31) [25]vidiv © (29.07.05 11:43) [16]
Ерунда!
Я если ломал бы, вичислил начало этого куска кода и конец и поставил бы обычный jamp и усе все навороты.
← →
raidan © (2005-07-29 12:52) [26]Опять обломали суперзащиту =)
← →
TUser © (2005-07-29 12:57) [27]> Я если ломал бы, вичислил начало этого куска
Взломщики для вычисления начала куска кода часто запускают поиск по словам "Введите пароль"
← →
syte_ser78 © (2005-07-29 12:58) [28]Можно написать свою процедуру вывода/печати текста и этой процедурой информацию кодировать/декодировать.
Джампы не спасут.
← →
Gydvin © (2005-07-29 13:10) [29]Декомпилишь например DEDE заходишь в процедуру print анализируешь код (пробивая все call) и в нужном месте ставишь ret или retn короче в бинарке "C3".
И никакие джампы и ненужны;)
← →
Gydvin © (2005-07-29 13:29) [30]А вообще защита сделаная одним человеком обязательно другим может бытьвзломана при условии что прога стоит того.
У меня есть неплохая статья о защите приложения от взлома но жалко что дома :(.
Единствено что могу посоветовать так это все надписи потом слово "образец" и подобную инфу хранить в зашифрованном виде.
И невкоем случае после процедуры проверки сразу ставить всякие там showmessage и непосредственые действия по блокировки программы.
И еще защиту желательно ниставить в одном месте а растинуть по всей проге.
← →
Gydvin © (2005-07-29 14:04) [31]Corry за ошибки
← →
syte_ser78 © (2005-07-29 14:28) [32]Всеравно, защиту необходимо совмещать с кодированием. Иначе она просто джампится
← →
Gydvin © (2005-07-29 14:35) [33]syte_ser78 © (29.07.05 14:28) [32]
Ну и я протоже, а еще с динамически создаваемыми перемеными и перекресными ссылками и ложным ветвлением. О!
← →
Nameless (2005-07-29 15:23) [34]> Gydvin © (29.07.05 13:29) [30]
А можно сию статью получить как-нить?
← →
Gydvin © (2005-07-29 15:28) [35]1. Если незабуду.
2. Если найду (у меня 1.5 гига не упорядоченой литературы и ломалок)
То опубликую здесь в понедельник.
А может даже не одна.
← →
oldman © (2005-07-29 15:36) [36]
> TUser © (29.07.05 12:57) [27]
> Взломщики для вычисления начала куска кода часто запускают
> поиск по словам "Введите пароль"
Это не взломщики. Это ...
Ладно, проехали.
← →
vidiv © (2005-07-30 07:11) [37]Чтобы jumpить, NOPить или ставить ret в нужных местах, нужно уже асм какникак знать... сидеть разбираться (у меня в коде на delphi то хрен зарберешься). Сия процедура не оправдывает стоимость программы.
← →
Gydvin © (2005-08-01 07:51) [38]Nameless (29.07.05 15:23) [34]
По поводу статьи
Error: Not found.
Так-то вот, наверное грохнулж
← →
evvcom © (2005-08-01 17:23) [39]
> 4. Чтобы демонстрационная версия программы не портила документы,
> даже давольно непродуманный coolхацкер может догадаться
> просто в EXE файле заменить строку Образец пробелами! Так
> вот, если он это сделает, то данное условие уже будет выполнятся
> => следовательно миссия этого кода выполнена :)
Да... Глубокая идея. :)
← →
oldman © (2005-08-01 18:32) [40]тупо пишу идею...
Даешь пользователю пароль: "waSr7f_t6E"
Программа берет из него 5,3,8 и 1 символы
Сравнивает полученное с "7Stw" при условии, что длина пароля равна 10.
Взломщик в коде находит это самое "7Stw" ни зная при этом ни длины пароля, ни порядка символов.
Ну и пусть находит. Флаг ему в руки.
Это если совсем просто. Можно и усложнить...
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 1.91 c