2012-02-26 2 views
3

Существует программа Resource Hacker, которая позволяет изменять ресурсы в других файлах win32 (64) dll и exe.Изменение ресурсов в других Win32-dll/exe

Мне нужно сделать то же самое, но программно. Возможно ли это сделать с использованием .Net framework? Какая хорошая отправная точка для этого?

ответ

6

Вы должны использовать функции WinAPI BeginUpdateResource, UpdateResource и EndUpdateResource, попробуйте this page проверить PInvoke .Net подписи этих функций, а также вы можете проверить этот проект ResourceLib.

+0

Обратите внимание, что ResourceLib переместился в Github: https://github.com/dblock/resourcelib –

0

Взгляните на Anolis.Resourcer. Казалось бы, что вам нужно

ResHacker клон разработан в качестве тестового стенда для Anolis.Core и заменить ResHacker (потому что ResHacker не поддерживает x64, XN Resource Editor (духовное продолжение ResHacker в) не поддерживает многоязычные ресурсы и много сбоев, а другие коммунальные услуги - это реальные деньги. У этого есть мощный, но упрощенный пользовательский интерфейс, который не дублирует команды или не путает пользователей с обработчиками специальных случаев (которые у ResHacker и XN есть в пиках).

0

Автор указывает на другой инструмент «XN Resource Editor», который поставляется с исходным кодом (хотя Delphi, а не .NET).

Этого должно быть достаточно, чтобы увидеть, какие функции используются и использовать их эквивалент .NET.

0

Обратите внимание, что ни одна из них не будет работать, если вы имеете дело со подписанными EXE или DLL.

+0

Спасибо за информацию, кстати, вы знаете почему? – Elmo

+0

Поскольку после изменения ресурса подпись не будет соответствовать. И вы не можете подписываться снова без секретного ключа, которого у вас нет. – zmbq

+0

Я знаю это, я думал, что вы имели в виду, что мы не можем изменять ресурсы в подписанных EXE/DLL. – Elmo

Смежные вопросы