Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 19.08.2016
Сообщений: 29

Как скрыть названия функций в скомпилированном файле?

20.04.2023, 19:59. Показов 843. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть dll при открытии её в olly видны все названия функций. Компилируется файл в vs, искал в настройках проекта но ни чего не смог найти. Как их скрыть? Без зашифровки сжатия самого фала.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
0FDE1FA0    55              PUSH EBP                                 ; BOOL Main.MonsterQuest::EventFinishMainTable(Event)
0FDE1FA1    8BEC            MOV EBP,ESP
0FDE1FA3    83EC 08         SUB ESP,8
0FDE1FA6    833D E809E600 0 CMP DWORD PTR DS:[0E609E8],5
0FDE1FAD    74 08           JE SHORT 0FDE1FB7
0FDE1FAF    32C0            XOR AL,AL
0FDE1FB1    8BE5            MOV ESP,EBP
0FDE1FB3    5D              POP EBP
0FDE1FB4    C2 0400         RETN 4
0FDE1FB7    56              PUSH ESI
0FDE1FB8    8B35 30C1E20F   MOV ESI,DWORD PTR DS:[<&KERNEL32.GetTick ; Jump to KERNELBASE.GetTickCount
0FDE1FBE    FFD6            CALL ESI
0FDE1FC0    803D C10BE80F 0 CMP BYTE PTR DS:[0FE80BC1],0
0FDE1FC7    8BD0            MOV EDX,EAX
0FDE1FC9    74 7C           JE SHORT 0FDE2047
0FDE1FCB    B8 FF010000     MOV EAX,1FF
0FDE1FD0    B9 008DE70F     MOV ECX,OFFSET gInterface
0FDE1FD5    E8 96EBFDFF     CALL Interface::IsWorkZone
0FDE1FDA    84C0            TEST AL,AL
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2023, 19:59
Ответы с готовыми решениями:

В скомпилированном файле скрыть названия всех функций и аргументы, которые они принимают
компилирую в visual studio c++, и через отладчики(cheat engine например) можно увидеть название функций и даже название аргументов, которые...

Скрыть текст в скомпилированном файле
После компилирования кода у нас на выходе получается скомпилированный файл(exe, dll, неважно). Если открыть такой файл с помощью блокнота,...

Как скрыть названия категорий, автора и пр?
Как скрыть названия категорий, автора и пр. через админку, без плагинов? &quot;IN UNCATEGORIZED, ON OCTOBER 06, 2015 - 17:06, TAGS ABOUT...

7
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
20.04.2023, 20:10
Вам в сторону обфускации кода надо почитать материал
0
фрилансер
 Аватар для Алексей1153
6442 / 5636 / 1127
Регистрация: 11.10.2019
Сообщений: 14,986
20.04.2023, 20:47
vcore30, на каком языке DLL написана? Релизная кофигурация или дебажная ?
0
0 / 0 / 0
Регистрация: 19.08.2016
Сообщений: 29
20.04.2023, 21:34  [ТС]
эта dll подключена к main.exe при помощи olly. Сама dll написана на с++ и есть много вставок на asm, для изменения и вызова функций из main. Конфигурация сборки Release.

Добавлено через 38 минут
Проблема решена. Хоть сборка и была в релизе. Но в настройках Отладки, Создавать отладочную информацию Да/DEBUG. Я думал она только в дебаге создаваться должна, раз там дебаг написано. Поставил Нет, и все названий функций больше не видно)
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
20.04.2023, 21:39
А что именно хотите скрыть из приведённого?
В dll-файле эти названия точно есть?
может olly их из рядом лежащего .pbd берет, так он не нужен для работы приложения

Добавлено через 33 секунды
точно, из pbd бралось. Ну так вы его просто не распространяйте с dll
0
0 / 0 / 0
Регистрация: 19.08.2016
Сообщений: 29
20.04.2023, 21:45  [ТС]
Да в том то и дело что pdb и рядом не было а функции все равно были видны.
0
2621 / 1632 / 266
Регистрация: 19.02.2010
Сообщений: 4,330
20.04.2023, 23:19
Цитата Сообщение от vcore30 Посмотреть сообщение
видны все названия функций.
Названия импортируемых из других dll (в первую очередь - из виндовозовских системных библиотек) функций, навроде указанной в коде KERNELBASE.GetTickCount (из kernelbase.dll), не скроешь никак.
Ибо содержащаяся в заголовке твоей dll (или твоего исполняемого файла) таблица импортируемых функций - явно (символьными именами) перечисляет как весь тот набор dll, которые цепляются к твоему файлу, так и все функции, вызываемые из этих dll.
И никакая обфускация тут не сработает, ибо нельзя нарушить системный формат заголовка файла (тамошней секции импорта и секции экспорта). Т.е. и все экспортируемые из твоей dll функции тоже могут быть видны в отладчике.

Так что чтобы полностью замаскировать импорт из внешних dll - надо эти dll не линковать статически, а подгружать динамически (с помощью функции LoadLibrary()) и брать оттуда нужные функции с помощью GetProcAddress(). Хранить имена библиотек и импортируемых функций - в коде в зашифрованном виде, а расшифровывать непосредственно перед передачей аргументов в пару указанных функций.
Ещё есть возможность импортировать функции по их номерам.
Но всё равно все подгруженные dll можно будет увидеть во время исполнения программы - с помощью Process Explorer, например.
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
21.04.2023, 06:12
Цитата Сообщение от vcore30 Посмотреть сообщение
pdb и рядом не было
Ну не рядом. Но точно был.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2023, 06:12
Помогаю со студенческими работами здесь

Заменить значение в скомпилированном class-файле
С наступающим вас дорогие форумчане! Ввиду рабочей деятельности занесло меня в ваш мир Java. Суть проблемы такова: Мне нужно заменить...

Язык ввода в скомпилированном exe-файле
ребята, ситуация такая: Написал программу на паскале (Turbo Pascal 7). Уже скомпилировал эгзешник. пришёл к другу. Запускаю эгзешник....

Не работает solve в скомпилированном exe-файле
Доброго времени суток, форумчане. Я писал программу для курсового проекта на Matlab. Но одним из требований является то, что программа...

Касперский обноруживает вирус в скомпилированном ехе файле
Здравствуйте,написанная программа в Delphi 10.1 Berlin,через какое то время воспринимается как вирус. Антивирус Касперский. Файл...

access 2010 в скомпилированном файле accde не работает VBA
access 2010 в скомпилированном файле accde не работает VBA. кто сталкивался? может есть где можно это поправить?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru