Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2009, 20:58   #11
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
что он получает достаточно для того, что бы убрать защиту и откомпилировать программу снова.
Если юзер до этого может додуматься, то он может и сам написать программу с вероятностью 90%
Gapro вне форума Ответить с цитированием
Старый 05.11.2009, 23:15   #12
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Так, ответ на поставленный мною вопрос, судя по всему, ни кто не даст, один флуд.
Arigato на форуме Ответить с цитированием
Старый 05.11.2009, 23:34   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Прямой ответ - если Вы используете формы (.DFM) то они будут сохраняться в EXE. Так работает компилятор Дельфи и ничего Вы с этим не сделаете! точка.

А вот по существу Вам уже ответили - используйте упаковщики (тот же Aspack/AsProtect отсеет 98% доморощенных хакеров).
При создании демопроекта обязательно используйте условную компиляцию, расставленную так, чтобы нужные части кода НЕ ВКЛЮЧАЛИСЬ в компилируемый код. Особенно это касается функций, вычисляющих какой-то результат, сохраняющие данные и т.д.
Отличный результат может дать компиляция с типом данных меньше, чем потребуется для нормальной работы программы (например, вместо Integer в Demo версии должен компилироваться ShortInt).

А в идеале Демоверсия должна представлять собой просто видеоролик.

p.s. если Вы думаете, что изменить программу на Дельфи так уж легко, хотите кину чужую программку?
Написана на Дельфи. Простейшая. При нажатии на клавишу высвечивается соотвествующая буква и раздаётся голос, произносящий эту букву (для обучения маленьких детей азбуке). Программа имела ряд ограничений, которые я снял прямо в бинарном коде. Но фон программы мерзко меняется по таймеру. Если Вам так просто "декомпилировать программу на Delphi.
После этого можно вносить изменения и снова компилировать" — уберёте изменение цвета фона?!
мне это не нужно, просто интересно посмотреть, насколько это так просто, как Вы об этом говорите!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.11.2009, 23:42   #14
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вот что удалось нарыть еще:
(привожу как есть)
Цитата:
Если мы пишем на чистом WinAPI, то мусор который в .EXE с завидным постоянством пихает компилятор Borland просто дико раздражает.

Так что давайте немножко "похудеем" нашу программу.

Предлагаю скачать и кинуть куда-нибудь программу ResHacker (Freeware, если что) и сделать вот такой файл dreshack.bat:
CODE
@echo off
if _%1 == _ goto help
upx.exe -d "%1"
if not _%2 == _1 goto keepdvl
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", RCData,DVCLAL,
:keepdvl
if not _%3 == _1 goto keepstr
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", StringTable,,
:keepstr
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", RCData,PACKAGEINFO,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Cursor,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Bitmap,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Dialog,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", CursorGroup,,
upx.exe -9 --exact "%1"
goto quit
:help
Echo Usage: %0 filename.exe [keepdvl] [keepstr]
:quit

После чего натравливать его на все необходимые программы:
dreshack program.exe --- снять всё нафиг (если пишем на чистом WinAPI)
dreshack program.exe 1 --- не трогать DVCLAL (если используем DBE)
dreshack program.exe 0 1 --- не трогать StringTable (если используем Dialogs или ещё что)
dreshack program.exe 1 1 --- не трогать DVCLAL и StringTable


DVCLAL необходим для работы BDE и некоторых других компонент Delphi! Иначе они откажутся работать (там просто тупая проверка, но чтобы заставить такой .EXE работать придётся либо подламывать его, либо пересобирать те компоненты Delphi, которые проверяют DVCLAL). Подробнее об этом ОБЯЗАТЕЛЬНО прочитать здесь!

Если удалить StringTable, и при этом пользоваться, например, юнитом Dialogs, то можно получить вместо "OK", "Cancel", "Yes", "No" и прочих, просто кнопки без текста - смотрится более чем дико. (*улыбается*) Если Dialogs и другие, подобные, юниты не используются - StringTable можно смело херить.

ОБРАЩАЮ ВАШЕ ВНИМАНИЕ НА ТО, ЧТО СТРОЧКИ:
CODE
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Cursor,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Bitmap,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", Dialog,,
C:\ResourceHacker\ResHacker.exe -delete "%1", "%1", CursorGroup,,
ЦЕЛИКОМ ХЕРЯТ ВСЕ РЕСУРЫ! Т.е. если вы используете курсоры, картинки или ещё что-нибудь, то херьте только то, что суёт туда Borland (можно посмотреть номера ресурсов в том же ResHacker'е)! Иначе схерются также и ваши ресурсы!
Может, пригодится?

З.Ы. Да, кстати, подобные программы еще называются "стрипперами".
mihali4 вне форума Ответить с цитированием
Старый 06.11.2009, 01:15   #15
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Дельфийский RTTI не отключишь. По своему опыту могу сказать, что незащищённые программы на делфи ломаются достаточно легко, но если делать с умом - информация, оставленная компилятором поможет лишь локализовать защитный механизм. А локализовать и отломать - две большие разницы, как говорят в Одессе Читаем статьи Касперского, там много инфы как сделать сломанную программу глючной, дискредетировав тем самым крякера
пыщь
JTG вне форума Ответить с цитированием
Старый 06.11.2009, 08:17   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
иначе люди не покупали бы программы за несколько тысяч а отламывали.
Ты хочешь сказать что сфера услуг взлома нерентабельна?

Вообще на Делфи можно написать хорошо защищенную программу, но разработчик желательно должен быть реверсиром. дабы знать всю кухню.
Например - крекеры не очень любят зашиты в разных потоках, но очень любят если прога что-то в реестре хранит и не проверяет состояние этого сохраненного.(Примеров куча - могу привести в личку.)

Еще одна банальшина - МесаджБоксы. Если прямо вывалить на экран сообщение "Заплаты, сэстра, ато рабатати нэ захачу - 30 днэй уже ёк..." по нему как по ковровой дорожке можно выйти на механизм зашиты.
Другое дело если по истечению срока программа "запортит себя" не сообщая ничего - это не сразу крекер поймет.

Короче - никакой язык не защищен от реверсинга, другое дело что на любом язые можно написать такие мутки, что даже самый опытный крэкер головой апстенку по сто раз биться будет.
I'm learning to live...

Последний раз редактировалось Stilet; 06.11.2009 в 08:24.
Stilet вне форума Ответить с цитированием
Старый 06.11.2009, 08:52   #17
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
А в идеале Демоверсия должна представлять собой просто видеоролик.
+1. ИМХО, а если с ехе - то это должна быть сбора БЕЗ самых важных фунок. К примеру если это калькулятор - например без умножения и деления. Или в случае видеоплеера отсутствие, например перемотки и кнопки "стоп".
Цитата:
Заплаты, сэстра,

Цитата:
Другое дело если по истечению срока программа "запортит себя" не сообщая ничего - это не сразу крекер поймет.
Опытный крекер сразу после установки сделает бекап, чтобы иметь "чистую" программу для сравнения или "сброса" своих "работ".
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 06.11.2009, 11:02   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Опытный крекер
Лучшая защита от Опытного крекера - не писать программы )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2009, 11:17   #19
Виталий Серов
Заснувший
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 213
По умолчанию

Цитата:
p.s. если Вы думаете, что изменить программу на Дельфи так уж легко, хотите кину чужую программку?
Написана на Дельфи. Простейшая. При нажатии на клавишу высвечивается соотвествующая буква и раздаётся голос, произносящий эту букву (для обучения маленьких детей азбуке). Программа имела ряд ограничений, которые я снял прямо в бинарном коде. Но фон программы мерзко меняется по таймеру. Если Вам так просто "декомпилировать программу на Delphi.
После этого можно вносить изменения и снова компилировать" — уберёте изменение цвета фона?!
мне это не нужно, просто интересно посмотреть, насколько это так просто, как Вы об этом говорите!
Дайте посмотреть пожалуйста. Мне иногда (по настраению) очень нравиться сидеть в обнимку с отладчиком, может что и получиться
Виталий Серов вне форума Ответить с цитированием
Старый 06.11.2009, 11:59   #20
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

И мне, и мне!
пыщь
JTG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
декомпиляция Wav файла DzetaHunter Общие вопросы Delphi 3 14.01.2011 13:17
компиляция и декомпиляция Greynvi4 Общие вопросы C/C++ 4 31.08.2009 20:02
Нужна расшифровка (декомпиляция). Бюджет 15$. L4C05t3 Фриланс 20 07.07.2009 09:20
Декомпиляция benjaminfran Помощь студентам 5 15.02.2008 11:43