Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
7 / 6 / 1
Регистрация: 29.03.2015
Сообщений: 501
RAD XE3+

Обфускация кода [xe 10.2]

26.12.2018, 00:59. Показов 4536. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
несколько вопросов:
1. Есть ли смысл сейчас делать обфускацию кода?
2. Помогает ли она от крякеров?
Если нет, то какой способ защиты от не профессионального хакера посоветуете. Если да, то какую литературу можете посоветовать конкретно практики, мб видео. Мб сами какой-то код подкинете из опыта. Ибо ищу обфускаторы на делфи, их толи нету, то ли их прячут хорошо, но не нашел. Они все 2010 и страше... Конкретно нашел только такой кусок литературы http://www.delphikingdom.com/a... alogid=846
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2018, 00:59
Ответы с готовыми решениями:

Обфускация кода
Посоветуйте хороший бесплатный обфускатор для .net framework 4.5.

Обфускация кода
Всем привет! Нужно обфусцировать коротенький код так, чтобы даже все надписи были были зашифрованы (например url). Я нашел статью на...

Обфускация кода С#
Уважаемые программисты ПРОСЬБА НЕ ПИСАТЬ БРЕД ТАКОГО РОДА (перечислю для особо не понимающих): - кому нужна твоя программа? - только...

31
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 15:38
Студворк — интернет-сервис помощи студентам
наверное все таки иногда читать внимательно не мешает
Цитата Сообщение от Valimer Посмотреть сообщение
а GetMem(100) выделение памяти под переменную S
да я знаю что эта функция делает, выделяет память, получает имя ПК где s - буфер, а 100 - это размер
lpBuffer

A pointer to a buffer that receives the computer name or the cluster virtual server name. The buffer size should be large enough to contain MAX_COMPUTERNAME_LENGTH + 1 characters.

nSize

On input, specifies the size of the buffer, in TCHARs. On output, the number of TCHARs copied to the destination buffer, not including the terminating null character.

If the buffer is too small, the function fails and GetLastError returns ERROR_BUFFER_OVERFLOW. The lpnSize parameter specifies the size of the buffer required, including the terminating null character.
0
7 / 6 / 1
Регистрация: 29.03.2015
Сообщений: 501
27.12.2018, 15:41  [ТС]
это что-то типа getmem(s,100); должно выглядеть для корректности? и без присвоения s:=getmem?
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 15:59
Цитата Сообщение от krapotkin Посмотреть сообщение
нужно придумывать неожиданные штуки
например портить память
программа будет валиться в самых неожиданных местах ))
на днях тут видел мастера, который делал

Delphi
1
2
3
s:=GetMem(100)
Потом Windows.GetComputerName(s,100);
freemem(s);
баг помогал ему с отладчиком искать 2 часа )))
а по сути, отличная защита получилась
если не знать, где косяк, вообще хрен вычислишь.
неожиданностей такого характера можно взять кучку и маленькую тележку в обычном учебном заведении у студентов

Добавлено через 8 минут
а на счет взлома софта.. я тут кое что вспомнил, еще в универе профф на лекции по микропроцессорной технике рассказывал. Что они проводили опыт над микросхемой, там была выполнена защита в виде пароля ну и все это дело на транзисторном уровне! И вот они вычислили физический район в микросхеме, где располагаются транзисторы отвечающие за защиту, разъели корпус микросхемы кислотой какой-то, добрались до тех транзисторов, вырезали как-то там эти транзисторы физически или химиески, и в общем убрали эту защиту нахрен и это все в нанотехнологическом процессе, это жесть такое делать....а мы тут говорим, как программу вирутальную в памяти обойти))) надо будет и физически из процессора выковыряют ее, было бы желание
0
7 / 6 / 1
Регистрация: 29.03.2015
Сообщений: 501
27.12.2018, 16:02  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
неожиданностей такого характера можно взять кучку и маленькую тележку в обычном учебном заведении у студентов
ага, компилировались бы они еще

Добавлено через 2 минуты
Цитата Сообщение от Arcor Посмотреть сообщение
а на счет взлома софта.. я тут кое что вспомнил, еще в универе профф на лекции по микропроцессорной технике рассказывал. Что они проводили опыт над микросхемой, там была выполнена защита в виде пароля ну и все это дело на транзисторном уровне! И вот они вычислили физический район в микросхеме, где располагаются транзисторы отвечающие за защиту, разъели корпу микросхемы кислотой какой-то, добрались до тех транзисторов, вырезали как-то там эти транзисторы физически или химиески, и в общем убрали эту защиту нахрен и это все в нанотехнологическом процессе, это жесть такое делать....а мы тут говорим, как программу вирутальную в памяти обойти))) надо будет и физически из процессора выковыряют ее, было бы желание
через сервер же можно обойти ... ну почти -_- хотя, последний взлом приват софта я видел где все сокеты отправляли на свой сервер и там имитировали авторизацию
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 16:03
Цитата Сообщение от Valimer Посмотреть сообщение
ага, компилировались бы они еще
при чем тут компилировались? Мы же говрим о алгоритмах с логическими ошибками, тобишь семантического характера, а не о синтаксисе
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
27.12.2018, 16:33
Цитата Сообщение от Valimer Посмотреть сообщение
это что-то типа getmem(s,100); должно выглядеть для корректности?
нет
просто в getmem мы берем 100 байтов а WinApi говорим, что у нас памяти под 100 символов
и если до 2009 года это было одно и то же, сейчас же по этому адресу пишется 200 байтов!
поэтому портится содержимое того, что было после строки
поэтому например придумываем супермегаключ
09 14 10 40 32 18 22
25 16 88 64 22 26 10
в обеих строках два первых числа - произвольные, последнее - какая-то контрольная сумма
4 числа в первой строке в сумме дают сколько взять в GetMem
4 числа во второй строке в сумме дают сколько сказать в WinApi

при этом результат можно никак не проверять, он проявится в падении программы сам )))
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 18:42
Цитата Сообщение от krapotkin Посмотреть сообщение
просто в getmem мы берем 100 байтов а WinApi говорим, что у нас памяти под 100 символов
и если до 2009 года это было одно и то же, сейчас же по этому адресу пишется 200 байтов!
потому и учат использовать SizeOf(DataType), а прогают все равно с кучей констант в коде... потом ноют вот в дельфи 7 работает, а в новой не работает, и все вокруг плохие))
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
27.12.2018, 19:09
вот именно так я и выговаривал товарищу )))
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 21:10
ТС, я придумал тебе защиту))))

сделай типа ввод пароля, как лицензия, пофиг что введет пользователь, он будет уверен что он ввел верно, пусть пользуется прогой, а ты сверяй при вводе пароля простым ифом на правильность. если верный ничего не делай, а если неверный, запускай батник с какой-то анимацией.. кошки которая бегает по окнам, и пусть она в каком-то углу еще и гадит а чтобы исключить ситуацию, от случайного неверного ввода, пусть введет 3-10 раз подряд заведомо верный))

да не забанят меня админы за такие советы ..
0
7 / 6 / 1
Регистрация: 29.03.2015
Сообщений: 501
27.12.2018, 21:29  [ТС]
Цитата Сообщение от Arcor Посмотреть сообщение
ТС, я придумал тебе защиту))))
сделай типа ввод пароля, как лицензия, пофиг что введет пользователь, он будет уверен что он ввел верно, пусть пользуется прогой, а ты сверяй при вводе пароля простым ифом на правильность. если верный ничего не делай, а если неверный, запускай батник с какой-то анимацией.. кошки которая бегает по окнам, и пусть она в каком-то углу еще и гадит а чтобы исключить ситуацию, от случайного неверного ввода, пусть введет 3-10 раз подряд заведомо верный))
да не забанят меня админы за такие советы ..
первая моя защита так и выглядела
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7818 / 4637 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
27.12.2018, 21:40
Arcor,
74/75 -> eb
If you know what I mean...
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
27.12.2018, 21:47
неа, не знаю я, что это... я сегодня мало уже что понимаю)))))))))))))) безвылазно сутки прогал на СИ, а потом пивка открыл.. и оно меня накрыло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2018, 21:47

Обфускация кода
Вообщем то нужно закодировать 80% файлов сайта, с обфускацие делов никогда не имел. Скажите чем можно сделать обфускацию? Добавлено...

Обфускация javascript кода
Приветствую! Кто нибудь знает как зашифровать javascript код так же как на этом сайте? http://javascriptobfuscator.com/ или на этом...

Защита bat / обфускация кода
Добрый день, Возможна ли обфускация кода bat, когда используются переменные в теле самого кода? Опробовал пару тройку приложений и...

php обфускация java script кода
Если погуглить по запросам «java script обфускатор», «java script obfuscator» и «free java script obfuscator» то: а) предлагают купить...

Обфускация кода в SmartAssembly снижает быстродействие
Я заметил, что обфускация кода в SmartAssembly значительно роняет быстродействие программы. Но в SmartAssembly есть много разных опций...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru