Как достать текст из DLL, созданной на VB6?

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

Сообщение Twister » 27.07.2005 (Ср) 12:44

Слуш, а если сжать экзэшник?
А я все практикую лечение травами...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 12:48

Павлов Максим писал(а):Слуш, а если сжать экзэшник?


На каждую сжималку существует своя расжималка...

Но от полных чайников сойдет. Но полный чайник не станет выискивать инструкции SQL в тексте EXE-шника и их менять...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 13:06

http://bbs.vbstreets.ru/viewtopic.php?t=18128
Смотри что Шурик писал...
А я все практикую лечение травами...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 13:29

Павлов Максим писал(а):http://bbs.vbstreets.ru/viewtopic.php?t=18128
Смотри что Шурик писал...


У тебя UPX установлен? Установи и посмотри наличие такой опции...

Если файл используется в рамках одной конторы то при запуске можно просто сверять его контрольную сумму с выложенной на сервере - IMHO это самый простой вариант позволяющий избежать модификации юзерами...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 13:37

А что, ВАРИАНТ! :!:
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 13:51

Andrey Fedorov писал(а):Если файл используется в рамках одной конторы то при запуске можно просто сверять его контрольную сумму с выложенной на сервере - IMHO это самый простой вариант позволяющий избежать модификации юзерами...

Не вижу смысла.
Если файл выложен на сервере, почему бы его не запускать оттуда?
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 14:00

alibek писал(а):Если файл выложен на сервере, почему бы его не запускать оттуда?


Я в любом случае сначала утилиткой проверяю версию файла (сведения об них прописаны в INI-шке) на сервере, если на сервере новый то копирую на клиента и уже оттуда запускаю (аналогично проверяются/устанавливаются при необходимости) все компоненты программы).

То бишь файл запускается с клиента. На клиенте все-же есть возможность его подкорректировать, а так - уже защищаемся...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 14:46

Andrey Fedorov писал(а):То бишь файл запускается с клиента. На клиенте все-же есть возможность его подкорректировать, а так - уже защищаемся...

Ну... Всегда есть возможность "подделать" сервер, на котором будет эталонная версия. Либо замаппить другой диск (или использовать subst), либо сделать отдельный сегмент сети и в нем файл-сервер с тем же именем.
Просто я считаю, что лучше использовать один экземпляр программы на сетевом ресурсе, а не локальные копии.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 15:06

alibek писал(а):
Andrey Fedorov писал(а):Ну... Всегда есть возможность "подделать" сервер, на котором будет эталонная версия. Либо замаппить другой диск (или использовать subst), либо сделать отдельный сегмент сети и в нем файл-сервер с тем же именем.


Ну ка подделай \\192.168.111.115\ - посмотрм что получится... Особенно если на нем-же живет и SQL-сервер.

alibek писал(а):Просто я считаю, что лучше использовать один экземпляр программы на сетевом ресурсе, а не локальные копии.


Не - оптимально именно локальные копии.
Главное обеспечить правильную синхронизацию с сервером.

Благодаря этому я уже давно не имею абсолютно никаких проблем с обновлением программы и ее компонентов (а попробуй обновить, скажем, сетевой exe-шник на котором сидит несколько десятков пользователей - их выгнать из программы просто нереально), во вторых ниже трафик сети.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 15:22

Andrey Fedorov писал(а):Ну ка подделай \\192.168.111.115\ - посмотрм что получится... Особенно если на нем-же живет и SQL-сервер.

Если я админ, хотя бы локальный? Лягко :)

Andrey Fedorov писал(а):Благодаря этому я уже давно не имею абсолютно никаких проблем с обновлением программы и ее компонентов (а попробуй обновить, скажем, сетевой exe-шник на котором сидит несколько десятков пользователей - их выгнать из программы просто нереально), во вторых ниже трафик сети.

Резон в этом есть.
Мне просто привычней обновлять один экземпляр. Да и гибкость тут выше -- а что если тебе надо откатить версию назад?
А что касается пользователей, то выгнать их легко :) Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.
Lasciate ogni speranza, voi ch'entrate.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.07.2005 (Ср) 15:28

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

Цитата дня, ей богу! :lol:

По-моему, мужики, вас понесло немного в сторону от темы...
А я все практикую лечение травами...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 15:33

alibek писал(а):Мне просто привычней обновлять один экземпляр.


Я тоже обновляю один экземпляр - на сервере.
Всем остальным занимается утилитка.

alibek писал(а):Да и гибкость тут выше -- а что если тебе надо откатить версию назад?


Да мне все одно - версия exe-шника должна совпадать.

alibek писал(а):А что касается пользователей, то выгнать их легко :) Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.


Ну вот еще - дрессировкой заниматься... Да я большей части пользователей просто не знаю - сидят в разных зданиях и что-то объяснять им на эту тему мне просто неохота. Кроме того - мне их выгонять из программы не нужно в принципе!

P.S. В общем, проверку на контрольную сумму я сейчас уже добавил...

:lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 15:39

alibek писал(а):А что касается пользователей, то выгнать их легко :) Если они как следует выдрессированы, то они умеют своевременно реагировать на административные оповещения.


Кстати, иногда я могу обновлять программу десять раз в день - представь себе что было бы если бы для каждого обновления требовался выгон юзеров...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 15:46

Погоди.
Если делаешь обновление, у юзеров ведь программа не обновляется. Т.е. чтобы они стали работать с новой версией, им нужно все-равно перезапустить программу. Или она обновляется в рун-тайме?
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 15:59

alibek писал(а):Погоди.
Если делаешь обновление, у юзеров ведь программа не обновляется. Т.е. чтобы они стали работать с новой версией, им нужно все-равно перезапустить программу. Или она обновляется в рун-тайме?


Да. Они должны перезапуститься, что они сделают неспешно сегодня или завтра. А пока пускай себе работают с уже запущенной версией. А конкретному юзеру, для которого я сделал свежее обновление, если оно ему срочно нужно, я сообщу чтобы он перезапустился сейчас.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 16:05

Понял. В определенных случаях наверное удобно.
Но у нас обновления делаются нечасто, мне удобнее выгонять всех и обновлять на сервере.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 16:28

alibek писал(а):Понял. В определенных случаях наверное удобно.
Но у нас обновления делаются нечасто, мне удобнее выгонять всех и обновлять на сервере.


Вообще-то это удобней всегда. Но требует некоторых усилий для реализации, что составляет некоторое неудобство - видимо ты об этом... :lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.07.2005 (Ср) 16:32

Ну например, такой подход не применим на бездисковых рабочих станциях :) Так же он неприменим, когда разработкой и доработкой ПО занимается другая фирма. Ну и другие случаи могут найтись, сейчас все не вспомню.
Lasciate ogni speranza, voi ch'entrate.

Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Сообщение Хемуль » 27.07.2005 (Ср) 17:12

Дааа! Чувствуется, я за больное капнул! :)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 18:31

alibek писал(а):Ну например, такой подход не применим на бездисковых рабочих станциях :)


Почему это? У каждого пользователя там, как я понимаю, должен быть свой рабочий каталог...

alibek писал(а): Так же он неприменим, когда разработкой и доработкой ПО занимается другая фирма. Ну и другие случаи могут найтись, сейчас все не вспомню.


Тут-то как раз никакой разницы... Какая разница кто разрабатывает - разве что только то что исходные файлы не в локальной сети а на ftp-сервере, к примеру...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.07.2005 (Ср) 18:32

Хемуль писал(а):Дааа! Чувствуется, я за больное капнул! :)


Не... Просто нам немножко поговорить хочется, а то других интересных вопросов в сетке нету...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.07.2005 (Ср) 20:29

Andrey Fedorov, а твоя утилита копирует токлько exe'шник или и другие необходимые для проги файлы тоже?
Просто у меня есть сходная задача: проект (не мой) постоянно дорабатывается, приходят новые патчи, в которых не обязательно исполняемый файл, могут быть только *.dll и SQL скрипты. Так вот мне все это дело нужно раскидывать по отделениям (ФТП связь по выделенке), не знаю как лучше автоматизировать процесс обновления клиентской части. Какие есть идеи?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 28.07.2005 (Чт) 12:55

VVitafresh писал(а):Andrey Fedorov, а твоя утилита копирует токлько exe'шник или и другие необходимые для проги файлы тоже?


И другие тоже.

VVitafresh писал(а):Просто у меня есть сходная задача: проект (не мой) постоянно дорабатывается, приходят новые патчи, в которых не обязательно исполняемый файл, могут быть только *.dll и SQL скрипты. Так вот мне все это дело нужно раскидывать по отделениям (ФТП связь по выделенке), не знаю как лучше автоматизировать процесс обновления клиентской части. Какие есть идеи?


В идеале - написать нечто подобное, только для FTP (у меня для локальной сети)... Но принцип действия у них один:

При запуске программы-стартера (она-же утилита) на клиенте она должна запросить с серевера ini-шку (можно xml-файл) с версиями компонентов программы на сервере. При получении производится сверка версий компонентов на клиенте с прописанными в полученном файле. Несовпадающие или отсутствующие скачиваются и при необходимости регистрируются. После чего запускается собственно рабочая программа.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 28.07.2005 (Чт) 16:53

Andrey Fedorov писал(а):При запуске программы-стартера (она-же утилита) на клиенте она должна запросить с серевера ini-шку (можно xml-файл) с версиями компонентов программы на сервере. При получении производится сверка версий компонентов на клиенте с прописанными в полученном файле. Несовпадающие или отсутствующие скачиваются и при необходимости регистрируются. После чего запускается собственно рабочая программа.


А как у тебя производится сверка версий? Вернее, как определяется версия компонента у клиента?
Я посмотрел мой проект: у большинства файлов (за исключением разве что exe'шника) нет "версии файла", может сравнивать по параметрам дата создания(модификации)+размер, как считаешь?
Но в таком случае возможен глюк на WinXP с NTFS, которая балуется с временем модификации файла -- вполне реальна разница +- 1 час (или зависит от выставленного часового пояса). Кроме того при копировании по ФТП дата файла может изменятся на текущую (если не паковать).

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 28.07.2005 (Чт) 17:02

VVitafresh писал(а):А как у тебя производится сверка версий? Вернее, как определяется версия компонента у клиента?


Ну на сервере версию тоже определять надо - для той-же ini-шки.

GetVersionInfo - версия файла.
И с помощью TlbInf32.dll получаем версию компонента

В итоге имеем примерно следующее - см приложенный рисунок.

VVitafresh писал(а):Кроме того при копировании по ФТП дата файла может изменятся на текущую (если не паковать).


А кто тебе велит копировать непакованные файлы? Выкладывай их в архивах - меньше интернетовский трафик будет.
Вложения
ver.rar
(10.31 Кб) Скачиваний: 40
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 28.07.2005 (Чт) 17:33

Andrey Fedorov писал(а):Ну на сервере версию тоже определять надо - для той-же ini-шки.

Это понятно...
GetVersionInfo - версия файла.
И с помощью TlbInf32.dll получаем версию компонента

А не сильно затруднит поделиться фрагментами кода?
Все что я нарыл по этому поводу в MSDN:
    -- The tlbinf32.dll file and the HTML Help file are provided for your reference only, and they are not supported by Microsoft.
    -- А метод GetVersionInfo является методом из объектной модели .NET Framework

Явно нашел что-то не то. По этому форуму вообще никаких результатов по "GetVersionInfo"

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2005 (Пт) 15:36

VVitafresh писал(а):А метод GetVersionInfo является методом из объектной модели .NET Framework

Видимо, имелось в виду GetFileVersionInfo
Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.07.2005 (Пт) 15:42

VVitafresh писал(а):Все что я нарыл по этому поводу в MSDN:
    -- The tlbinf32.dll file and the HTML Help file are provided for your reference only, and they are not supported by Microsoft.


Ну и что? Ну не будут они ее дальше разрабатывать и поддерживать нас это должно пугать?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Пред.

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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 75

    TopList