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

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


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

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

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

Выпуск № 114
от 15.09.2005, 16:33

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


Вопрос № 26122: Уважаемые эксперты! Допустим, имеем некую переменную "А" типа long, как можно считать из неё значение в переменную "В" косвенно, а не прямо (В=А) - в целях защиты от крэкеров? Если кто знает Ассемблер, то в нём...
Вопрос № 26130: Уважаемые эксперты! Можно ли создать таймер во время выполнения программы, а не во время разработки, в целях защиты от крэкерства? ..

Вопрос № 26.122
Уважаемые эксперты! Допустим, имеем некую переменную "А" типа long, как

можно считать из неё значение в переменную "В" косвенно, а не прямо

(В=А) - в целях защиты от крэкеров? Если кто знает Ассемблер, то в нём

можно делать так:
mov ebx, offset a
mov b,[ebx]
Меняются ли адреса переменных при изменении размерности массива, т.е.
будут ли после компиляции проги эквивалентны адреса переменной "А(1)"
в строках 1 и 3, т.е. можно будет найти по адресу переменной "А(1)" в

строке 1 строку 3 через взломщик?

0 DIM a(1) as long
1 В=A(1)
2 redim preserve a(2)
3 С=A(1)
Отправлен: 10.09.2005, 00:53
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: _Виталий
Здравствуйте, Александр А.А.!
1. Можно осуществить В=А через CopyMemory. В приложении код для модуля.
2. Есть в VB6 такая недокументированная функция VarPtr служит для получения указателя на переменную(адреса переменной в памяти) или на элемент массива.
Т.е. b=VarPtr(a), т.о. b=адресу переменной в памяти.
Зная эту функцию можете легко ответить сами на второй вопрос.

А вообще при взломе проги написанной на VB гораздо больше заморочек, чем если прога написана на дельфях или Сях.

Приложение:

Ответ отправил: _Виталий (статус: 7-ой класс)
Отправлен: 12.09.2005, 11:04
Оценка за ответ: 5


Вопрос № 26.130
Уважаемые эксперты! Можно ли создать таймер во время выполнения программы, а не во время разработки, в целях защиты от крэкерства?
Отправлен: 10.09.2005, 11:28
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Licvidator
Здравствуйте, Александр А.А.!
Хм.. таймер, конечно, создать можно, но ведь код-то для этого таймера должен быть уже прописан (или же как-то извращаться с CopyMemory, но все равно код должен быть вшит в программу).
Например, натягиваете на форму Timer, ставите его index как 0 и дальше в нужный момент загружаете новую его копию с помощью Load Timer1(1).
PS так же можно использовать АПИ SetTimer.
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 12.09.2005, 13:38
Оценка за ответ: 5


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


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

В избранное