Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 211
от 29.01.2006, 17:24

Администратор:Калашников О.А.
В рассылке:Подписчиков: 114, Экспертов: 19
В номере:Вопросов: 1, Ответов: 2


Вопрос № 33915: Уважаемые эксперты! Как можно защитить условный переход от изменения крэкером на безусловный или обратный условный в самой программе, т.е. без запуска дополнительных exe и dll?...

Вопрос № 33.915
Уважаемые эксперты! Как можно защитить условный переход от изменения крэкером на безусловный или обратный условный в самой программе, т.е. без запуска дополнительных exe и dll?
Отправлен: 23.01.2006, 20:24
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: DrakoN
Здравствуйте, Александр А.А.!
Вы понимаете о чем пишите...Есть операторы условного перехода есть операторы безусловного, если вы попытаетесь во время работы приложения внести изменения в код (сменить оператор) винда скажет низя блокируется другим приложением....
Есть вероятность, что если вы поместите енти операторы в отдельный модуль, то вам удасться его открыть для записи при рабочем приложении но ето мало вероятно..А проще говоря открываете нужный модуль для записи(FileOpen-вроде так), делаете изменения в исходнике и меняете операторы...
Удачи она вам пригодится....)))
---------
От Винта!
Ответ отправил: DrakoN (статус: 9-ый класс)
Отправлен: 24.01.2006, 00:31

Отвечает: _Виталий
Здравствуйте, Александр А.А.!
Во время выполнения программы можно устроить проверку своего кода и если он изменился, то можно его и поправить.....но это всё на уровне асма, а не VB. На VB, ИМХО, возможно только проверить код исполняемого файла, который находится непосредственно на диске, подправить самого себя не получиться. А если кракер использует loader(т.е. ждет когда процесс загрузится и патчит его в памяти, а не сам файл) для взлома вашей проги этот вариант отпадает. И к тому же пример который я вам показываю, будет работать только если файл ничем не упакован.
Итак вот исходник:(на форме 1 текстбокс и кнопка)
------------------------------
Private Sub Command1_Click()
SelfCheck

Dim sTest As String
Dim sTest1 As String
sTest = "Testing"
sTest1 = Text1.Text
If sTest = sTest1 Then
MsgBox "OK"
End If

End Sub

Private Sub SelfCheck()
Dim sFname As String
Dim bByte As Byte
sFname = App.Path + "" + App.EXEName + ".exe"
Open sFname For Binary As #1
Get #1, 7643, bByte
If bByte <> 117 Then
MsgBox "Program cracked"
End
End If
Close #1
End Sub
-------------------------------
Суть проги понятна, сравнивается текстбокс с строкой "Testing". Кракеру нужно, чтоб MsgBox "OK" появлялся всегда, в независимости от введеного слова. В приложении дизасемлерный кусок, где кракер меняет код. Забив NOP'ами инструкцию перехода добиваемся нужного результата. Но подпрограмма SelfCheck() как раз и проверяет код инструкции по адресу 00401DDAh и если байт изменился, то выбрасывет соответствующее сообщение.
Но что мешает убить кракеру SelfCheck()??? :-))))))))))))))
Вообщем вывод такой, чтоб вы не делали, чтобы вы не придумали ВСЕГДА найдется человек способный это сломать. Не морочте себе голову, или думайте как защитить из ассемблера или упакуте свой файл ASProtect'ом - это хотя бы отпугнёт новичков, а для более продвинутых людей это всего лишь вопрос времени.

Приложение:

Ответ отправил: _Виталий (статус: Студент)
Отправлен: 24.01.2006, 10:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное