Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как защитить прогу от редактирования ее ресурсов? / 24 сообщений из 24, страница 1 из 1
06.01.2006, 21:32:10
    #33470869
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Защитой от копирования заниматься не собираюсь, но хотелось хотя бы обезопаситься от редактирования ресурсов программы и вообще изменения ее вида дабы выдать потом за свою. Как бы этому противостоять? Думаю попробовать как-то завязать работу программы на размер екзешника, чтобы при неверном его значении функции не могли правильно вызываться, т.е. имена вызываемых функций определять на основе размера собственного екзешника. Но мозгов пока не хватает как это реализовать. Может есть у кого простенький примерчик?
...
Рейтинг: 0 / 0
06.01.2006, 22:37:41
    #33470911
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
PantaloneДумаю попробовать как-то завязать работу программы на размер екзешникатак не пойдет идентичный размер файла не означает что его коннтент оригинален. Можно вот так попробовать.
Код: plaintext
1.
2.
3.
4.
 Const ForReading =  1 , ForWriting =  2 
 Dim fso, ts
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set ts = fso.OpenTextFile(App.Path & "\" & App.EXEName & ".exe", ForReading)
 ProveritiContent(ts.ReadAll)
ReadAll считывает весь файл с текущего указателя файла и возвращает его строку. Далее можно проверить контрольную сумму этой строки. Остается порочку проблемок. Нужно заранее знать где находится значение контрольной суммы, желательно чтоб оно находилось ближе к началу, и файл считывать после этого значения. А как защетить это сравнение контрольных сумм я не знаю лучше бы нам крэкеры расказали.
Можно еще упаковать файл каким-то упаковщиком, а может и разными упаковщиками, тогда возможно сильно усложнится редактирование ехе.
...
Рейтинг: 0 / 0
06.01.2006, 23:53:03
    #33470959
DDE
DDE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Pantalone
Упаковщики?
...
Рейтинг: 0 / 0
07.01.2006, 00:25:04
    #33470987
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
SmeL_md[quot Pantalone]Думаю попробовать как-то завязать работу программы на размер екзешникатак не пойдет идентичный размер файла не означает что его коннтент оригинален.
Ну чтобы изменить файл при неизменном размере это надо немало постараться, поэтому я думаю вместо контрольной суммы файла использовать его размер, хотя не уверен. Вообще еще встает проблема вывяснения этой суммы, т.е. при компиляции ее уже надо знать чтобы оталкиваться от нее при проверках.
...
Рейтинг: 0 / 0
07.01.2006, 00:25:41
    #33470988
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Насчет упаковщиков, они же как-то распаковывают код перед запуском, или нет?
...
Рейтинг: 0 / 0
07.01.2006, 00:43:12
    #33470999
DDE
DDE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Конечно.
ASProtect?
...
Рейтинг: 0 / 0
07.01.2006, 02:13:40
    #33471012
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Где-то так...
Код: plaintext
1.
2.
C:\>makecert.exe -pe -sv mycompany.pvk -r -n "CN=MYCOMPANY" mycompany.cer
C:\>cert2spc.exe mycompany.cer mycompany.spc 
C:\>signcode.exe /spc mycompany.spc MyFreakenFile.exe
Получаем дополнительную симпатичную закладку на свойствах файла. В случае вмешательства в бинарник, она, стыдливо краснеет :)
Цифровая подпись называется.

Всего
...
Рейтинг: 0 / 0
07.01.2006, 02:43:48
    #33471022
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
ASProtect по весьма частым слухам валит программу, зачем мне лишние баги. К тому же он как-то ведь распаковывает файл перед запуском, может возможно то что он распаковал как-то задетектить и сохранить в нормальный файл.

Цифровая подпись это все фигня, кто будет на нее смотреть, если мою прогу модифицируют и будут подавать как свою.
...
Рейтинг: 0 / 0
07.01.2006, 06:31:33
    #33471048
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
PantaloneASProtect по весьма частым слухам валит программу, зачем мне лишние баги. К тому же он как-то ведь распаковывает файл перед запуском, может возможно то что он распаковал как-то задетектить и сохранить в нормальный файл.

Цифровая подпись это все фигня, кто будет на нее смотреть, если мою прогу модифицируют и будут подавать как свою.Да, пассивный мониторинг не панацея, но EvenLog Вы им загадите :)
...
Рейтинг: 0 / 0
07.01.2006, 07:20:12
    #33471053
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Ну если гадить, то так чтобы мало не показалось :) А это так себе, баловство.
...
Рейтинг: 0 / 0
07.01.2006, 12:22:07
    #33471110
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
PantaloneНу чтобы изменить файл при неизменном размере это надо немало постараться, поэтому я думаю вместо контрольной суммы файла использовать его размер, хотя не уверен. Вообще еще встает проблема вывяснения этой суммы, т.е. при компиляции ее уже надо знать чтобы оталкиваться от нее при проверках. Про размер файла. простейший пример в текстовом поле есть значение "Edit1" открываем программу даже в блокноте без всяких там HEX редакторов и изменяем это значение на "1tidE" длинна файла не изменилась. а програма да. А если именить байты где прорверяется купленна прога или нет на противоположные :).
Про контрольную сумму . Я выше писал, что ReadAll считывает весь файл с текущего указателя файла и возвращает его строку . Значит нам нужно этот указатель поставить после значения конрольной суммы. Как найти расположение контрольной суммы, можно заведома поставить значение контрольной суммы такое, чтоб легче было найти в HEXредакторе, к примеру "CRCRCRCRCRCRCRC". Вот после этой переменной с небольшим запасом можно читать содержимое файла, и расчитывать CRC.
если всетаки думаешь, что длинны файла достаточно то вот пример
Код: plaintext
1.
2.
3.
4.
 Const ForReading =  1 , ForWriting =  2 
 Dim fso, ts
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set ts = fso.OpenTextFile(App.Path & "\" & App.EXEName & ".exe", ForReading)
 MsgBox Len(ts.ReadAll)
В референсах нужно подклучать Scripting RunTime, ну я думаю и так все догодались
...
Рейтинг: 0 / 0
08.01.2006, 01:26:03
    #33471561
DDE
DDE
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
UPX с развратом?
...
Рейтинг: 0 / 0
10.01.2006, 12:08:02
    #33473809
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
PantaloneНу чтобы изменить файл при неизменном размере это надо немало постараться, поэтому я думаю вместо контрольной суммы файла использовать его размер, хотя не уверен. Вообще еще встает проблема вывяснения этой суммы, т.е. при компиляции ее уже надо знать чтобы оталкиваться от нее при проверках.

При компиляции контрольную сумму можно не знать. Можно сделать простенькую утилитку, которая ищет уже в скомпилированном exe-шнике строку и забивает ее контрольной суммой (к примеру).

У меня размер контрольной суммы программы/компонентов прописан в ini-файле лежащем на сервере. Не имея доступа к этому файлу программа просто работать не будет (еще одно их частных решений).
...
Рейтинг: 0 / 0
10.01.2006, 12:37:49
    #33473919
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
AndreyFУ меня размер контрольной суммы программы/компонентов прописан в ini-файле лежащем на сервере. Не имея доступа к этому файлу программа просто работать не будет (еще одно их частных решений).Как я понимаю это сделанно для того чтоб, все кто работает в вашей сети могли пользоваться вашей программой, но если программа имеет доступ к файлу ини то получив этот файл, защита теряет свой смысл? т.к. можно срутировать запросы к серверу А на сервер Б и программа даже об этом не узнает, или я ошибаюсь?
...
Рейтинг: 0 / 0
10.01.2006, 12:46:19
    #33473954
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
SmeL_mdКак я понимаю это сделанно для того чтоб, все кто работает в вашей сети могли пользоваться вашей программой, но если программа имеет доступ к файлу ини то получив этот файл, защита теряет свой смысл? т.к. можно срутировать запросы к серверу А на сервер Б и программа даже об этом не узнает, или я ошибаюсь?

Да пущай работает, мне главное чтобы она с базой SQL на моем сервере не хулиганила.

То бишь мне было нужно лишь чтобы юзер не мог поправив несколько байтов в моей программе заставить ее пакостить на моем SQL-сервере. Это соблюдается.
...
Рейтинг: 0 / 0
02.02.2006, 20:52:31
    #33520323
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
AndreyF
У меня размер контрольной суммы программы/компонентов прописан в ini-файле лежащем на сервере. Не имея доступа к этому файлу программа просто работать не будет (еще одно их частных решений).
А что мешает вычислить контрольную сумму файла после редактирования его ресурсов и прописать в твоем ini?

Я пока думаю сделать нечто следующее:
Все или наиболее важные функции и процедуры вызывать не обычными способами, а через CallByName. Причем име вызываемой функции зашифровать ключем, который содержит CRC файла. При попытке поменять хоть иконку хоть что угодно, название функции будет расшифровано с неверным ключем и прога просто вылетит. Таким образом никто ничего в проге не поменяет.
Что думаете?
...
Рейтинг: 0 / 0
03.02.2006, 08:12:18
    #33520759
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Pantalone[quot AndreyF]А что мешает вычислить контрольную сумму файла после редактирования его ресурсов и прописать в твоем ini?

То что юзеру он доступен только на чтение.

PantaloneЯ пока думаю сделать нечто следующее:
Все или наиболее важные функции и процедуры вызывать не обычными способами, а через CallByName. Причем име вызываемой функции зашифровать ключем, который содержит CRC файла. При попытке поменять хоть иконку хоть что угодно, название функции будет расшифровано с неверным ключем и прога просто вылетит. Таким образом никто ничего в проге не поменяет.
Что думаете?

Зря ты так...
...
Рейтинг: 0 / 0
03.02.2006, 10:14:55
    #33521007
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Pantalone
Все или наиболее важные функции и процедуры вызывать не обычными способами, а через CallByName. Причем име вызываемой функции зашифровать ключем, который содержит CRC файла. При попытке поменять хоть иконку хоть что угодно, название функции будет расшифровано с неверным ключем и прога просто вылетит. Таким образом никто ничего в проге не поменяет.
Что думаете?
Думаю, что вы сами себе придумали лишние проблемы на свою голову.
"Оно, конечно, умно, да больно непонятно, над вами потешаться будут."
Поверьте, если уж кто-то очень захочет взломать - его не остановит CAllByName и шифрование ключем (которое, к слову говоря, происходит в той же программе, и следовально, алгоритм его известен => ключ можно подобрать).
А для обычных псевдохакеров вполне достаточно будет проверки контрольной суммы и упаковщика. Имхо.
...
Рейтинг: 0 / 0
03.02.2006, 14:09:05
    #33522054
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
AndreyFЗря ты так...
А как? Зря любой сказать может.
...
Рейтинг: 0 / 0
03.02.2006, 14:11:23
    #33522060
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
MelkiadesДумаю, что вы сами себе придумали лишние проблемы на свою голову.
"Оно, конечно, умно, да больно непонятно, над вами потешаться будут."
Поверьте, если уж кто-то очень захочет взломать - его не остановит CAllByName и шифрование ключем (которое, к слову говоря, происходит в той же программе, и следовально, алгоритм его известен => ключ можно подобрать).
А для обычных псевдохакеров вполне достаточно будет проверки контрольной суммы и упаковщика. Имхо.
Поясни тогда как контрольную сумму в упаковщике вычислять? Того файла что получится после упаковки или как? Еще часто вижу на форумах что упаковщики глючат, тормозят и ошибками сыпят. Не хотелось бы такого, продукт коммерческий.
...
Рейтинг: 0 / 0
03.02.2006, 14:12:27
    #33522068
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Pantalone AndreyFЗря ты так...
А как? Зря любой сказать может.

Ну сказали же - контрольная сумма.
Что не устраивает в таком решении?

P.S. Кстати, а сама-то программа того вообще стоит?
...
Рейтинг: 0 / 0
03.02.2006, 15:03:59
    #33522279
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
AndreyF Pantalone AndreyFЗря ты так...
А как? Зря любой сказать может.

Ну сказали же - контрольная сумма.
Что не устраивает в таком решении?

P.S. Кстати, а сама-то программа того вообще стоит?
Это один этап контроля, наверняка можно сломать как-то где-то условный переход подменить. Два этапа сложнее сломать, а уж три тем более. Можно, но не стоит того.

Над прогой полгода корячился.
...
Рейтинг: 0 / 0
03.02.2006, 15:07:40
    #33522299
AndreyF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Pantalone AndreyF Pantalone[quot AndreyF]Зря ты так...
А как? Зря любой сказать может.
Это один этап контроля, наверняка можно сломать как-то где-то условный переход подменить. Два этапа сложнее сломать, а уж три тем более. Можно, но не стоит того.

Ну разбей проверку той-же контрольной суммы на несколько этапов. Притом можешь проверку делать по таймеру через какое-то время после запуска программы или открытии формы/меню, а не сразу при старте.
...
Рейтинг: 0 / 0
03.02.2006, 17:24:07
    #33522820
Pantalone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как защитить прогу от редактирования ее ресурсов?
Как проверять CRC есть соображения?
Можно в сам ЕХЕ уже после компиляции зашить первоначальное значение и сверять с ним. Но как сверять, любой IF обходится проще простого.
Далее, если шифровать имены вызываемых функций ключем в виде CRC, то как узнать CRC до компиляции, иначе зашифровать функции не получится.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как защитить прогу от редактирования ее ресурсов? / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]