|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||||||
Как сделать DLL для VBA?19.07.2014, 19:42. Показов 18026. Ответов 106
Метки нет (Все метки)
Что нужно сделать, чтобы сделать DLL?
Я так понимаю, что нужен какой-то язык программирования. Есть кажется VB6. Если сделать DLL, то в него можно просто поместить VBA-код, в том виде, в каком этот код находится в VBA? Или нужно изменить? DLL хочу сделать, чтобы скрывать код макроса. Например, такой код можно будет просто вставить в DLL или надо будет изменить:?
0
|
||||||
| 19.07.2014, 19:42 | |
|
Ответы с готовыми решениями:
106
Как написать Dll для использования в VBA (MS Access 2003) Как создать правильный DLL для использования в VBA макросе CorelDraw |
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 19.07.2014, 23:33 [ТС] | |
|
The trick, нет в "Visual Studio" возможности нажатием кнопки переводить код VB6 в новый вид Visual Basic? Или может быть в Visual.Net?
Или в любом случае нужно будет вручную переделывать? Не хочется использовать старую среду VB6, лучше уж сразу на новую среду переходить.
0
|
|
|
|
|||||||||||||
| 19.07.2014, 23:41 | |||||||||||||
|
Скрипт, у Catstail есть замечательная статья "COM в действии".
Там все прекрасно с примерами расписано, как создавать такую DLL. Microsoft Office Object Library Microsoft Excel (Word) Object Library (смотря для какого продукта у тебя макрос). Это также позволит тебе использовать константы, известные только офису. Есть еще и другие тонкости, например, нельзя напрямую использовать объект Application, следовательно и все объекты по иерархии (cells, range и т.п. без явного указания их родителя). По тому что, когда ты пишешь Application в среде VBA, ты обращаешься к уже созданному (текущему) экземпляру приложения. Если ты запускаешь схожий код в VB6 тебе сначала нужно либо создать новый экземпляр приложения:
Собственно внутренности, что происходит я никогда не исследовал. Но скажу, что имеющиеся взломщики легко справляются с такой встроенной защитой.
3
|
|||||||||||||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 19.07.2014, 23:44 [ТС] | |
|
The trick, а в VB.net можно сделать DLL?
И какую среду надо скачивать для VB.net?
1
|
|
|
|
|
| 19.07.2014, 23:59 | |
|
Да, надо еще чтото качественное написать, чтоб взломщикам
захотелось взломать твой код, кому надо всеравно взломает, кто знаком с методами защиты, но всегда можно прописать свой алгоритм чтоб потенциальный взломщик помучился, но опять-же нужно понимать те затраты на вложенный труд, и затраты на его защиту, удачи
0
|
|
|
призрак
|
|
| 20.07.2014, 00:12 | |
|
ну и какой "деобфускатор" можно написать, если после обфускатора останется немаленький код с переменными, константами, контролами, функциями и процедурами, поименованными IIIII, IIII1, III1I, II1I1 и т.п.?
плюс полное отсутствие комментариев
0
|
|
|
призрак
|
|
| 20.07.2014, 00:20 | |
|
я ж не говорю, что обфускатор полностью спасёт Ваш код от использования или модификации
просто во многих случаях (если код не микроскопический по объему и не абсолютно очевидный по логике работы), он сделает это гораздо более трудоёмким. или даже бессмысленным.
0
|
|
|
|
|
| 20.07.2014, 00:23 | |
|
Ну, если хочешь проанализировать работу кода, комментарии и переменные не столь принципиальны.
Главное, чтобы они (переменные) не мешали читать все остальные команды. Достаточно разобраться, что делает та или иная функция. Переименовав их на свое усмотрение, дальше логика будет легко просматриваться. Проблема может возникнуть как раз на этапе точечного анализа конкретных функций, так как существует несколько разных видов обфускации (не только "порча" имен переменных). Это например, намеренное усложнение алгоритма, добавление множества веток ветвления. Там где, к примеру в оригинале был один метод, после обфускации будет несколько (по сути пустышки), а результат один и тот же.
1
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 08:13 [ТС] | |
|
Пункт 1
ikki, а Вы использовали какой-нибудь обфускатор для VBA? Напишите, пожалуйста, название какого-нибудь хорошего обфускатора для VBA. Если для VBA есть обфускатор, то думаю, что можно его использовать, т.к. может кому-нибудь будет лень разбираться в коде, выковыривая оттуда нужные строки. Проследить работу макроса в любом случае можно, нажимая клавишу F8 (но сейчас вспомнил, что иногда F8 проскакивает в некоторых случаях). Но даже если пользователь поймёт код, то заниматься его очисткой может будет лень и проще будет денег заплатить. Пункт 2 А вообще, сам DLL ведь тоже можно посмотреть? Как потом защитить DLL от просмотра?
0
|
|
|
призрак
|
|
| 20.07.2014, 08:27 | |
|
пару раз использовал handyObfuscator из ветки Авторские программы, библиотеки, надстройки и шаблоны
потом стало лень.
1
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 08:36 [ТС] | |
|
ikki, а почему стало лень? Просто нажать кнопку, которая всё сделает, нельзя? Нужно потом вручную ещё что-то делать? Или нужно много действий делать? Сколько по времени занимала у Вас обфускация?
0
|
|
|
es geht mir gut
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|||
| 20.07.2014, 08:47 | |||
![]() С Dll-ками созданными в VB6 такой фокус уже не пройдет.
2
|
|||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 08:54 [ТС] | |
|
SoftIce, можно ли так сделать:?
0
|
|
|
es geht mir gut
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
|
|
| 20.07.2014, 08:59 | |
|
1
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 09:00 [ТС] | |
|
SoftIce, тогда мне, если я ничего не хочу делать, нужно использовать вместо "Visual Studio" среду "VB6"?
Или и при использовании VB6 тоже не получится автоматизировать и нужно будет вручную что-то делать?
0
|
|
| 20.07.2014, 09:00 | |
|
Как сделать надстройку в Visual Basic для VBA? dll для VBA Как сделать библиотеку DLL с моим компонентом видимой для COM? Как сделать обработчик OnClick в библиотеке(dll) для MainMenu? DLL для VBA и VB - почему разница в работе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|