Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.55 MB
Время: 0.031 c
14-1122309910
YurikGL
2005-07-25 20:45
2005.08.21
Поздравляю!!!


4-1119697602
Darkwing
2005-06-25 15:06
2005.08.21
Асинхронный I/O


10-1100072720
Polevi
2004-11-10 10:45
2005.08.21
TCP туннель DCOM


4-1120037901
Juice
2005-06-29 13:38
2005.08.21
доставка почты с сервера ( OLE Outlook )


6-1115393572
Gluck99
2005-05-06 19:32
2005.08.21
Контроль и просмотр траффика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский