Можно ли модифицировать интерфейс готового EXE от VB6?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Можно ли модифицировать интерфейс готового EXE от VB6?

Сообщение Pantalone » 31.12.2005 (Сб) 20:55

Например картинки заменить на свои, текст поменять, кнопки передвинуть, в мессагах другое вписать и прочее? Иконки выдрать в конце-концов.
Пишу прогу и хочу сделать ее фриварной, но возможна ситуация, когда некто возьмет ее и начнет продавать как свою, заменив текст About, иконки и еше что сможет. Насколько такое возможно? Ведь экзешник VB это не тот экзешник что другие.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 31.12.2005 (Сб) 23:51

Ну, поменять окошко About несложно практически всегда. Если тебе действительно это так важно, проверяй его содержимое, что ли =) Ну а иконки можно выдрать любым редактором ресурсов =)
Нет меня больше

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 31.12.2005 (Сб) 23:52

Ну а иконки можно выдрать любым редактором ресурсов =)

ВБ-шные, не любым.
الفيجوال بيسك الرابح

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 31.12.2005 (Сб) 23:53

Ну, Resource Hacker (ResHack в народе) открывал пока что все EXE'шники (кроме упакованных) =)
Нет меня больше

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 01.01.2006 (Вс) 16:37

Какие будут методы дабы избежать этого беспредела?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 01.01.2006 (Вс) 16:44

Изобрести собственный формат ресурсов :)
Моду создают модоки, а распространяют модозвоны.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 03.01.2006 (Вт) 8:26

Ресторатор, например, кроме икони ничего больше не видит. С чего вы взяли что VB-шную программу вообще можно редактировать? Если диалоги сделаны не ресурсом, то докапаться до них невозможно.
Нет ничего невозможного для человека с интеллектом.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 03.01.2006 (Вт) 10:35

Kostyan
Уверен? Я тут полазив по форуму натыкался на сообщения что все лабелы, тексты видно чуть ли не в самом экзешнике, правда не проверял еще :)

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 03.01.2006 (Вт) 11:34

Видно, если они сделаны и добавлены в проект как ресурс. Если же всё делать стандартными методами VB, то никто ничего не увидит.
Нет ничего невозможного для человека с интеллектом.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 03.01.2006 (Вт) 12:05

Да ну?

1) Ради интереса скомпилируй проектик. Единственный модуль mdlMain:

Код: Выделить всё
Public Sub Main()
    MsgBox "mMdl loaded"
    End
End Sub


а потом дизассемблируй. Найдешь заветную строчку сразу:

Код: Выделить всё
004012F8 SWC004012F8_mMdl_loaded:
004012F8   unicode 'mMdl loaded!',0000h


2) Эксперимент номер два. Проект с единственной формой. На форме кнопочка. На кнопочке надпись "Welcome to Reality!"

Данные несколько хуже, но, все-таки, видны в листинге:

Код: Выделить всё
db   57h;   'W'
db   65h;   'e'
db   6Ch;   'l'
db   63h;   'c'
db   6Fh;   'o'
db   6Dh;   'm'
db   65h;   'e'
db   20h;   ' '
db   74h;   't'
db   6Fh;   'o'
db   20h;   ' '
db   52h;   'R'
db   65h;   'e'
db   61h;   'a'
db   6Ch;   'l'
db   69h;   'i'
db   74h;   't'
db   79h;   'y'
db   21h;   '!'


Чуть выше можно обнаружить имя кнопочки, еще выше - формы и проекта.

-- использовался встроенный в PE Explorer (http://www.heaventools.com) дизассемблер.
Моду создают модоки, а распространяют модозвоны.

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 03.01.2006 (Вт) 12:45

2hCORe. Подобными ковыряниями можно любую программу расковырять, даже ДОСовскую. Только кому прийдет в голову дизасемблировать прогу, искать эти заветные строки, менять их, а если не помещаются, менять код, ради того чтобы поставить "Тут был ВАСЯ" на лейбле. ИМХО это уже чисто ради спортивного интереса, к тому же кроме надписей, как я понял, реально ничего не поменять, ни расположения, на размеров контролов. Не говоря уже о их состоянии.
Нет ничего невозможного для человека с интеллектом.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 03.01.2006 (Вт) 13:01

Информацию об элементах на форме (статус, размеры, обработчики событий) вполне можно извлечь. В перспективе, - и поменять тоже. См. VB RezQ (http://www.vbrezq.com/), VB ReFormer, VB Decompiler.
Моду создают модоки, а распространяют модозвоны.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 03.01.2006 (Вт) 20:32

Действительно можно, проверял сегодня. Нужно что-то типа обфускатора хотя бы для скрытия названий функций и элементов придумать, есть такое для VB6? Кстати, иконки из ImageList вроде достать нельзя., Хотя их можно скриншотить прямо с экрана. Чтобы экзешник не редактировали, поможет ли проверка его контрольной суммы или размера или как это делается вообще?

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 03.01.2006 (Вт) 21:33

Проверка контрольной суммы и размера поможет (если сделана с умом).

Также поможет лечение паранойи в любом рядомлежащем, стоящем или сидящем заведении. С последующим лечением шизофрении и перманентного поноса, вызываемого каузалгическим венерическим заболеванием...

Другие шаги, которые можно предпринять:
1 ) Не хранить открытых строк (sData="ABCD"); хранить их зашифрованные версии. В крайнем случае - собирать строки из байтовых массивов НЕПОСРЕДСТВЕННО перед использованием.
2 ) Разнести общеупотребительные функции по библиотекам.
3 ) Назначить незначащие имена функциям, процедурам, переменным.
4 ) Придумать собственный формат ресурсов.
5 ) Инициализировать данные мусором.
6 ) Копировать данные между библиотеками и программой в произвольном порядке.
7 ) Для вывода графики использовать аппаратные возможности видеокарты (в частности, оверлеи [перекрытия, overlays] - причем, лучше, если таковые будут создаваться без помощи DirectX).
8 ) Создать собственную виртуальную машину, и интерпретировать ключевые фрагменты кода вместо их прямого исполнения.
9 ) Запомнить все сделанное во избежание попадания в психиатрическую лечебницу до конца работы с программой.

Остальные пункты: см. предпоследнюю страницу темы "Методы зашиты VB программы от копирования", там есть мой более полный обзор методов обфускации и пр.

Если еще серьезнее: уверен, не такая уж твоя программа суперкрутая и уникальная, чтобы у других появилось желание тупо передрать код и продавать ее под своим именем...
Моду создают модоки, а распространяют модозвоны.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 20

    TopList