Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как переименовать файл dll


windows — Как переименовать DLL, но все же разрешить EXE найти ее?

У нас есть библиотека DLL, которая создается самостоятельно и для которой у нас есть связанная статическая LIB-заглушка.

У нас также есть EXE-файл, который использует эту DLL-библиотеку, используя простой метод статического связывания с файлом LIB библиотеки DLL (т.е. без использования LoadLibrary вручную).

При развертывании EXE мы хотим, чтобы имя файла DLL было изменено по причинам запутывания (по запросу клиента).

Как мы можем сделать это, чтобы наш EXE-файл все еще находил DLL автоматически?

Я попытался переименовать файлы DLL и LIB (после того, как они были собраны в их обычное имя), а затем изменил настройки проекта EXE для связи с переименованной LIB. Это терпит неудачу во время выполнения, поскольку я предполагаю, что имя DLL запекается в файле LIB, а не просто угадывается компоновщиком, заменяющим «.lib» на «.dll».

В общем, мы не хотим применять эту обфускацию ко всем видам использования DLL, поэтому мы хотели бы сохранить текущие выходные файлы проекта DLL в том виде, в каком они есть.

Я надеюсь, что найдется метод, с помощью которого мы сможем отредактировать LIB-файл DLL и заменить жестко закодированное имя DLL-файла чем-то другим. В этом случае это можно сделать полностью в рамках проекта EXE (возможно, в качестве этапа предварительной сборки).


Обновление . Я считаю, что отложенная загрузка не работает, поскольку моя DLL содержит экспортированные классы C ++. См. эту статью . .

Есть ли альтернативы?

Как переименовать DLL, но все же позволить EXE найти его? - windows

У нас есть DLL, которая создается в доме и для которой у нас есть связанный статический LIB заглушек.

У нас также есть EXE, который использует эту DLL, используя простой метод статической привязки к DLL файлу LIB (т.е. не вручную используя LoadLibrary).

При развертывании EXE мы хотели бы, чтобы имя файла DLL было изменено по причинам обфускации (по запросу клиента).

Как мы можем это сделать, чтобы наш EXE файл по-прежнему обнаруживал DLL автоматически?

Я попытался переименовать файлы DLL и LIB (после того, как они были построены с их обычным именем), а затем изменив параметры проекта EXE, чтобы связать их с переименованной LIB. Это не удается во время выполнения, так как я думаю, что имя DLL выпекается в файле LIB, а не просто догадывается компоновщиком, заменяющим ".lib" на ".dll".

В общем, мы не хотим применять эту обфускацию ко всем видам DLL, поэтому мы хотим сохранить текущие выходные файлы проекта DLL

Переименовать dll в папке Windows

мне нужно переименовать определенную dll на моей машине Windows 7 (comctl32.dll, если быть точным) для того, чтобы заменить его другой версией этого файла.

пробовал:

  1. [в: правой кнопкой, свойства, безопасность, разрешения, дополнительно, владелец] изменен владельцем текущего пользователя и [в разделе: щелкните правой кнопкой мыши, безопасности] дал все возможные разрешения для текущего пользователя. Пробовал [щелкните правой кнопкой мыши, переименовать] - не удается переименовать его, доступ отвергнутый.
  2. запустил cmd администратора (с повышенными правами) и использовал силу:

    takeown /f comctl32.dll icacls "comctl32.dll" /grant (current user):F rename comctl32.dll comctl32.old 
    
    
    

    получил отказ.

  3. это меня разозлило, поэтому я запустил оболочку как системный пользователь (выполнив шаги, описанные в [1]) и попытался переименовать файл с помощью rename comctl32.dll comctl32.old в этой оболочке. Результат-отказано.

Я думал, что системная оболочка дает мне в основном режим бога, так что это довольно огорчает! У кого-нибудь есть дополнительные предложения о том, как переименовать этот файл или что запрещает мне доступ? Я в полной растерянности!

[1] http://blogs.technet.com/b/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx

/ / EDIT:
К настоящему времени я также попытался инструмент Unlocker. Он не мог переименовать файл, но обещал попробовать сделать это после перезагрузки. Я перезагрузил систему, но мой старый друг не изменился имена еще...

/ / / EDIT 2:
На основе минусами и комментарии я хотел бы добавить предупреждение для моих коллег-пользователей с тем же вопросом. Только сделайте это, если вы знаете, что и почему вы это делаете. В противном случае может произойти сбой системы.
Я на самом деле знаю, что я делаю: мне нужно заменить файл, который уже поврежден. Что я не знаю как это сделать. Так что не нужно упоминать об опасностях здесь или downvote вопрос только потому, что это может опасно к целостности системы. На самом деле, просто использование системы, в конце концов, представляет опасность для ее целостности - зачем наказывать законный вопрос за ту же собственность?

источник

Как Переименовать Dll, Но Все Же Позволить Exe Найти Его?

У нас есть DLL, которая создается в доме и для которой у нас есть связанный статический LIB заглушек.

У нас также есть EXE, который использует эту DLL, используя простой метод статической привязки к DLL файлу LIB (т.е. не вручную используя LoadLibrary).

При развертывании EXE мы хотели бы, чтобы имя файла DLL было изменено по причинам обфускации (по запросу клиента).

Как мы можем это сделать, чтобы наш EXE файл по-прежнему обнаруживал DLL автоматически?

Я попытался переименовать файлы DLL и LIB (после того, как они были построены с их обычным именем), а затем изменив параметры проекта EXE, чтобы связать их с переименованной LIB. Это не удается во время выполнения, так как я думаю, что имя DLL выпекается в файле LIB, а не просто догадывается компоновщиком, заменяющим ".lib" на ".dll".

В общем, мы не хотим применять эту обфускацию ко всем видам DLL, поэтому мы хотим сохранить текущие выходные файлы проекта DLL.

Я надеюсь, что будет метод, по которому мы можем отредактировать DLL файл DLL, и заменим hardcoded имя DLL файла на что-то еще. В этом случае это можно было бы сделать полностью в рамках проекта EXE (возможно, в качестве этапа предварительной сборки).

Обновление. Я считаю, что Delay Loading не работает, так как моя DLL содержит экспортированные классы С++.
См. в этой статье.

Есть ли альтернативы?

Чем открыть DLL для редактирования

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

Открываем DLL-файлы для редактирования

Суть изменения кода DLL заключается в перемене его предназначения или внесении мелких правок, влияющих на итог взаимодействия с программным обеспечением. Сегодня мы не будем углубляться в разбор целей, ради которых требуется редактировать данные объекты, а продемонстрируем несколько доступных методов их открытия для дальнейшего изменения.

Способ 1: Resource Hacker

Resource Hacker — одна из самых популярных программ, позволяющая запускать различные исполняемые файлы для их дальнейшего изменения. Ее преимущество над другими решениями заключается в грамотной структуризации и правильном отображении иерархии составляющих файла с отображением бинарного и привычного исходного кода. Потому мы решили поставить вариант с этим ПО на первое место.

Скачать Resource Hacker

  1. Скачайте Resource Hacker с официального сайта и произведите простую установку. После этого запустите софт и переходите к открытию файла.
  2. В «Проводнике» выберите DLL и дважды кликните по нему левой кнопкой мыши, чтобы открыть.
  3. Слева вы увидите полную структуру файла, которая состоит из нескольких частей, включая описание текущей версии. Перейдите в одну из директорий для редактирования.
  4. При наличии исходного кода не в бинарном виде вы увидите его в правой части экрана и сможете изменить под свои нужды.
  5. Переключитесь на бинарный вид, где отобразится полное количество доступных фраз.
  6. В меню «Actions» можно выбрать необходимый формат сохранения файла, если требуется перевести его в другой тип хранения данных после изменения.

Как видите, Resource Hacker — достаточно удобный инструмент, позволяющий быстро редактировать различные объекты. С взаимодействием разберется каждый пользователь, останется лишь понять, какие правки стоит вносить, чтобы обеспечить желаемую работу DLL.

Способ 2: Hex Workshop

Еще один популярный редактор DLL-файлов имеет название Hex Workshop, однако реализован он с определенными отличиями от предыдущего софта. Связаны эти особенности и с процедурой редактирования, которая выполняется немного сложнее из-за отображения кода только в бинарном виде, но с разными кодировками.

Скачать Hex Workshop с официального сайта

  1. После инсталляции запустите Hex Workshop и приступайте к открытию файла.
  2. Точно так же, как и в предыдущем методе, выберите подходящий DLL.
  3. Теперь перед вами отобразится содержимое, разделенное на строки и столбцы для удобства.
  4. Нажмите на одно из выражений, чтобы справа посмотреть сведения в доступных интерпретациях.
  5. Переключение кодировок, изменение содержимого и выполнение других действий происходит с помощью панели инструментов и дополнительных окон навигации.

Способ 3: Доступная среда разработки

Сейчас практически все программисты создают и редактируют код в специальной среде разработки. Ею выступает программное обеспечение, заточенное под выполнение работ с кодом. Обычно там присутствуют вспомогательные инструменты, упрощающие работу с проектами. Некоторые из них справляются с открытием элементов формата DLL и позволяют их редактировать. Сейчас мы хотим взять за пример Embarcadero RAD Studio последней версии.

Скачать Embarcadero RAD Studio с официального сайта

  1. Запустите Embarcadero RAD Studio или любую другую подобную среду разработки и переходите к запуску файла.
  2. Выберите его, дважды кликнув ЛКМ.
  3. Теперь в рабочей области появится иерархия всех составляющих. Справа отобразятся различные атрибуты, например, название элемента, место его хранения, вспомогательное описание и, конечно, сам исходный код. Все это доступно для изменения.
  4. Иногда файлы открываются только в бинарном виде, что уже зависит от его структуры и первоначального создания.

Как можно заметить, подобные редакторы отображают содержимое немного в другом виде, что поможет во время особого редактирования, например, изменения вспомогательных описаний или сохраненного по умолчанию расположения. Если Embarcadero RAD Studio вас не устраивает, рекомендуем ознакомиться с другим подобным софтом в отдельном нашем обзоре от другого автора, перейдя по указанной ниже ссылке.

Подробнее: Выбираем среду программирования

Способ 4: Sublime Text

Как известно, Sublime Text является не совсем обычным текстовым редактором. Его основная функциональность нацелена на работу с исходным кодом и его компиляцией. В этом софте подсвечивается синтаксис и происходит автоматическое определение языка. Что касается открытия DLL, то сделает он это немного лучше, чем привычные текстовые редакторы.

Скачать Sublime Text

  1. Раскройте всплывающее меню «File» и выберите «Open File».
  2. Исходный код DLL отобразится в непонятном для обычного пользователя виде, однако его содержимое точно отображается полностью корректно.
  3. При попытке скомпилировать имеющийся исполняемый файл на языке C++, вы, скорее всего, не получите уведомление об ошибке, но результат останется неизвестен.

Если вы владеете другими подобными программами, которые предоставляют более обширные функции, нежели обычный просмотр текстовых документов, можете попробовать открыть имеющийся DLL через них, чтобы отредактировать содержимое. Однако хотим предупредить, что не всегда сохраненные таким образом файлы продолжают работать корректно из-за изменений в кодировании формата.

Читайте также: Текстовые редакторы для Windows

Теперь вы знакомы с методом открытия рассмотренного формата файлов для редактирования и дальнейшего сохранения. Не рекомендуем осуществлять эту операцию с системными объектами и сохранять их в прежнем расположении, поскольку это может вызвать непоправимые ошибки ОС.

Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ

Не удается переименовать файл DLL в Windows

FAT32 - это нечувствительная к регистру файловая система . Как таковые два файла с одинаковыми именами, отличающиеся только регистром, не допускаются. Например, вы не можете иметь два имени файла PS3000a.dllи ps3000a.dllв одной папке.

Поэтому, кажется, что ваша попытка переименовать файл PS3000a.dllв ps3000a.dllтерпит неудачу, потому что для Windows 10 знает, что вы на самом деле не изменяя имя файла . Однако, если вы сначала переименуете файл, чтобы получить другое имя, а затем переименуйте его во второй раз, чтобы использовать тот случай, который вы намереваетесь, он работает.

Любопытно, что это не так в Windows 7. Вот операция переименования файлов в Process Monitor. Операция идентична во всех отношениях в Windows 10 и 7; ReplaceIfExistsфлаг Ложные и результат УСПЕХ на обоих:

Однако, сравнивая полные трассировки только в окне Windows 7, следует SetRenameInformationFileоперация с WriteFileоперацией:

Windows 7

Windows 10

Windows 10 просто не записывает обновленную информацию в файловую систему!

Окна

. Как мне переименовать DLL, но разрешить EXE найти ее?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

c # - переименование сторонней dll в .net

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

c # - Как переименовать COM DLL

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

c ++ - Как переименовать файл дескриптором в Windows?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.

Как переименовать файл с помощью Python

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как изменить или переименовать файл, папку или каталог

Обновлено: 31.08.2020, Computer Hope

Ниже приведены инструкции по переименованию файла или каталога. Щелкните одну из следующих ссылок, чтобы автоматически перейти к нужной операционной системе.

Заметка

У вас должны быть права на запись или изменение файла, папки или каталога, чтобы переименовать их. В некоторых случаях для переименования вам могут потребоваться права администратора в операционной системе.

Как переименовать в Microsoft Windows

Пользователи

Windows могут переименовывать свои файлы и каталоги одним из следующих способов.Мы перечислили следующие рекомендации по наиболее простым, на наш взгляд, способам переименования файла.

Метод первый

  1. Выделите файл или папку.
  2. Щелкните файл правой кнопкой мыши и в появившемся меню выберите Переименовать .

Метод второй

  1. Выделите файл или папку.
  2. Нажмите клавишу F2 на клавиатуре.

Метод три

  1. Выделите файл или папку.
  2. Щелкните Файл вверху окна и выберите Переименовать из списка доступных параметров.

Метод четвертый

  1. Выделите файл или папку, которую вы хотите переименовать, щелкнув файл один раз.
  2. После выделения, подождите несколько секунд и снова щелкните файл. Вокруг имени файла или папки должно появиться поле, и вы можете переименовать файл.
Заметка

Если вы не ждете достаточно долго и слишком быстро щелкаете файл или папку, он может открыть файл или папку, а не позволит вам переименовать их.

Переименование сразу нескольких файлов или папок

  1. Откройте проводник.
  2. В проводнике выберите все файлы, которые нужно переименовать.
  1. После выбора файлов нажмите F2, чтобы отредактировать имя файла, и введите новое имя для файлов. Например, ввод «test» переименовывает файлы в test, test (1), test (2), test (3) и т. Д. Если у вас показаны расширения файлов, не забудьте также ввести имя расширения файла, которое вы переименование.

Пользователи Microsoft Windows также могут переименовать любой файл с помощью командной строки Windows.

Как переименовать в MS-DOS и командной строке Windows

Пользователи командной строки MS-DOS и Windows могут изменить имя файла или каталога с помощью команды ren или rename.Ниже приведены примеры использования этой команды. Дополнительную информацию о каждой из этих команд можно найти, щелкнув указанные выше ссылки на команды.

Переименование файла

В следующем примере файл test.txt будет переименован в hope.txt.

 переименовать test.txt hope.txt 

Если файл test.txt не находится в вашем текущем каталоге, вы должны указать путь к файлу в качестве префикса к имени файла. Например, если файл находится в каталоге «компьютер», вы должны ввести команду, аналогичную приведенной в следующем примере.

 переименовать c: \ computer \ test.txt hope.txt 

Переименование файла с пробелом

При работе с файлом или каталогом с пробелом они должны быть заключены в кавычки. В противном случае вы получите сообщение «Неверный синтаксис команды». ошибка. Чтобы переименовать файл "computer hope.txt" в "example file.txt" , ваша команда будет напоминать следующий пример.

 переименовать "компьютер надежда.txt" "пример file.txt" 

Переименование нескольких файлов одной командой

Чтобы переименовать несколько файлов одновременно, вы должны использовать какой-либо дикий символ.Ниже приведены примеры того, как это можно сделать.

В следующем примере все файлы в текущем каталоге, оканчивающиеся на .rtf, будут переименованы в .txt файлы.

 переименовать * .rtf * .txt 

В следующем примере команда переименовывает файл с неизвестным символом в имени файла во что-то, что можно прочитать. Знак "?" в следующем примере используется дикий символ для неизвестного символа.

 переименовать h? Pe.txt hope.txt 

Переименование каталога

Переименование каталога в MS-DOS во многом похоже на переименование файла.Используйте команду ren или rename, чтобы переименовать каталог. Поскольку у вас не может быть файла и каталога с одинаковыми именами, вам не нужно беспокоиться об ошибочном переименовании файла вместо каталога. Единственное исключение - если вы используете дикие символы.

В следующем примере каталог компьютера будет переименован в hope.

 переименовать компьютер надежда 

Переименуйте каталог "компьютерная надежда" в "каталог примеров". Всякий раз, когда вы имеете дело с файлом или каталогом с пробелом, он должен быть заключен в кавычки.В противном случае вы получите сообщение «Неверный синтаксис команды». ошибка.

 переименовать "компьютерная надежда" в "пример каталога" 

Переименовать в пакетном файле

Чтобы переименовать файлы в пакетном файле, вы можете использовать любую из команд переименования или примеров, показанных в разделе командной строки MS-DOS и Windows.

Как переименовать в macOS

Пользователи Apple macOS могут переименовывать свои файлы и каталоги одним из следующих способов. Мы перечислили следующие рекомендации по наиболее простым, на наш взгляд, способам переименования файла.

Первая рекомендация

В MacOS X Finder выберите файл, щелкнув его один раз, а затем нажмите клавишу «Return» на клавиатуре. После нажатия клавиши возврата вы можете ввести новое имя файла.

Вторая рекомендация

Выберите файл или значок, который нужно переименовать. Щелкните и затем наведите указатель мыши на имя файла, пока оно не будет выделено. После выделения это означает, что файл можно переименовать.

Третья рекомендация

Используя Терминал, вы также можете переименовать любой файл.См. Раздел для пользователей Linux и Unix, чтобы узнать, как переименовать файл с помощью команды mv .

Как переименовать в командной строке Linux и Unix

Для получения подробной информации о переименовании файлов в Linux см. Команду Linux mv.

Как переименовать в Google Chrome OS

Используя ОС Google Chrome на Chromebook, вы можете переименовывать файлы и каталоги, используя один из следующих методов. Мы перечислили следующие рекомендации по наиболее простым, на наш взгляд, способам переименования файла.

Первая рекомендация

Выделите файл, щелкнув его один раз. Нажмите Ctrl + Enter на клавиатуре, а затем введите новое имя файла.

Вторая рекомендация

Щелкните файл правой кнопкой мыши, одновременно нажав двумя пальцами на сенсорной панели. В контекстном меню щелкните Переименовать и введите новое имя файла.

.

Смотрите также