powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как защитить прогу от редактирования ее ресурсов?
24 сообщений из 24, страница 1 из 1
Как защитить прогу от редактирования ее ресурсов?
    #33470869
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Защитой от копирования заниматься не собираюсь, но хотелось хотя бы обезопаситься от редактирования ресурсов программы и вообще изменения ее вида дабы выдать потом за свою. Как бы этому противостоять? Думаю попробовать как-то завязать работу программы на размер екзешника, чтобы при неверном его значении функции не могли правильно вызываться, т.е. имена вызываемых функций определять на основе размера собственного екзешника. Но мозгов пока не хватает как это реализовать. Может есть у кого простенький примерчик?
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #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
Как защитить прогу от редактирования ее ресурсов?
    #33470959
DDE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDE
Гость
Pantalone
Упаковщики?
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #33470987
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmeL_md[quot Pantalone]Думаю попробовать как-то завязать работу программы на размер екзешникатак не пойдет идентичный размер файла не означает что его коннтент оригинален.
Ну чтобы изменить файл при неизменном размере это надо немало постараться, поэтому я думаю вместо контрольной суммы файла использовать его размер, хотя не уверен. Вообще еще встает проблема вывяснения этой суммы, т.е. при компиляции ее уже надо знать чтобы оталкиваться от нее при проверках.
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #33470988
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет упаковщиков, они же как-то распаковывают код перед запуском, или нет?
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #33470999
DDE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDE
Гость
Конечно.
ASProtect?
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #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
Как защитить прогу от редактирования ее ресурсов?
    #33471022
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASProtect по весьма частым слухам валит программу, зачем мне лишние баги. К тому же он как-то ведь распаковывает файл перед запуском, может возможно то что он распаковал как-то задетектить и сохранить в нормальный файл.

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

Цифровая подпись это все фигня, кто будет на нее смотреть, если мою прогу модифицируют и будут подавать как свою.Да, пассивный мониторинг не панацея, но EvenLog Вы им загадите :)
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #33471053
Pantalone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если гадить, то так чтобы мало не показалось :) А это так себе, баловство.
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #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
Как защитить прогу от редактирования ее ресурсов?
    #33471561
DDE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DDE
Гость
UPX с развратом?
...
Рейтинг: 0 / 0
Как защитить прогу от редактирования ее ресурсов?
    #33473809
AndreyF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PantaloneНу чтобы изменить файл при неизменном размере это надо немало постараться, поэтому я думаю вместо контрольной суммы файла использовать его размер, хотя не уверен. Вообще еще встает проблема вывяснения этой суммы, т.е. при компиляции ее уже надо знать чтобы оталкиваться от нее при проверках.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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