Страница: 1 |
Первый вопрос такой. Как из обычной надписи на форме сделать ссылку для е-mail'а . Второй вопрос. Как во время исполнения программы изменить какую-нибудь переменную или константу и перезаписать эту программу заново ( с измененными данными).
1) ShellExecute Form7.hwnd, vbNullString, "mailto:Rascalspb@narod.ru", vbNullString, "C:\", SW_SHOWNORMAL 2) Перезаписать ПРОГРАММУ... Лучше запиши изменённые данные в файл или реестр. Для ShellExecute нужно обьявлять API, но можно так Call Shell("explorer mailto:hammer@ipex.ru") Второй вопрос: ни как, но если через попу.... Таскать в себе код, себя, и компилятор, если чо-то меняем то меняем это в коде и компилируем. Подробности не спрашуй, это я сочинил смотря на лампочку 2) При компиляциии строковые и другие константы не изменяются, то есть если открыть блокнотом, можно их увидеть, правда они обычно через один символ расположены. Так вот если их поменять в блокноте, то и впрограмме они изменятся. Если узнать, в каком порядке они записаны, можно через Get доставать и через Put изменять. Но это теоретически...... Вот именно, что теоретически Поскольку обращение на изменение работающего в данный момент файла наверняка приведет к отказу в доступе,а следственно - к ошибке Значит можно сделать по ламерски что же нам такие приемы запрещены чтоль Берем и зашиваем в свой ехе, какой-нить ехе, который будет менять наши данные в программе. Как потребуется, сохраняем этот модуль, запускаем его с какими-то ключами, определяющими новые данные, или данные можно передавать через WM_COPYDATA, выгружаемся, этот модуль их (данные) принимает, отслеживает закрытие программы, начинает запись в модуль программы пересланных ему данных, опосля, выгружается, не забыв запустить головную программу... Только не стоит забывать что все данные (строковые) должны иметь одинаковую длинну, ну или хотя бы заранее заданную, скажем 1024 байтами... причем не стоит забывать записываемые данные переводить в юникод (StrConv(str, vbUnicode)) И ты называешь этот способ "ламерским" ? Да здесь нужно иметь кучу мозгов и времени Если это по-ламерски, то я - Испанский летчик... Да ладно тебе, что же тут сложного, даже я смогу такое сделать Тут просто способ кривоват... Ну я пока еще не пишу прог, которые ведут расчеты затрат на инет только пока... не, я немного не так придумал. Есть наша прога, в её код зашит каким-то алгоритмом ещё несколько файлов, а именно компилятор проекта в exe ну и точно компилируем, вот примерно список который должен получиться: Project1.vbp; Form(x 1,2,3...); *.bas.... ну короче эта же программа только в разработке, запускаеться наша программа (exe), там нажимаеться кнопочка, или не кнопочка, и вообщем извлекаеться наш проект этой прогрммы, то что надо заменям (переменные, ещё что-то) изменяються по условию (смотря какую кнопочку нажали в программе), вообщем всё это где-то в папку извлекли, изменили, запустили компилятор, скомпилировали новый exe уже с изменёнными данными, ну и как-то, может через bat файл модифицировали себя (себя удалили, и на своё место уже новый exe поставили). Есть некоторые проблемы (ну для меня) 1) Я незнаю точно что нужно компилятору, какие ещё файлы итп... 2) Довольно проблемно их будет в коде держать все эти файлы (большой объём) 3) Нужно написать алгоритм кодировки любого файла в текст что этот текст потом в переменную вставить str$ = "xxxxxx...." Ну впринципе всё, тоже довольно ламерский способ to HammeR Та чо, я писал, нечего сложного, если с такой проблемой не встретиться. Вообще её бы слегка дописать, несколько функций, и тоже прикольная прога бы получилась. Страница: 1 |
Вопрос: Два вопроса. Посмотрите, пожалуйста !
Добавлено: 16.05.04 21:08
Автор вопроса: arg
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 17.05.04 10:55
Номер ответа: 2
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #2
Добавлено: 17.05.04 19:24
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 17.05.04 19:30
Номер ответа: 4
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #4
Добавлено: 18.05.04 11:20
Номер ответа: 5
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #5
Добавлено: 18.05.04 14:02
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 18.05.04 15:08
Номер ответа: 7
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #7
Добавлено: 18.05.04 16:21
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 18.05.04 20:33
А вообще, я там почитал один CrackMe, так там использовался самомодифицирующийся код, при этом там вручную какой-то прогой (врать не буду, уже не помню) устанавливались атрибуты секции, в результате чего можно было модифицировать свой исполняемый файл... Вот там действительно жуть
Номер ответа: 9
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #9
Добавлено: 18.05.04 21:00
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 18.05.04 21:04
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 18.05.04 21:08
Номер ответа: 12
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #12
Добавлено: 22.05.04 00:39
А нельзя ли просто создать новый файл, записать в него измененный ехе (читать ехе во время исполнения Винда разрешает), создать батничек, который заменил бы файл на новый и удалил вновь созданный и себя, запустить его и быстро выйти?