Мне нужен способ редактирования ресурсов (точнее, таблицы строк) скомпилированного исполняемого файла, и мне нужно сделать это в C ++.
Кто-нибудь может предложить какой-либо совет / пример кода о том, как я могу сделать это?
Начать с LoadLibrary()
и загрузите исполняемый файл (тот, который вы хотите отредактировать)
затем FindResource()
а также UpdateResource()
как необходимо.
Прочтите все об этом здесь:
Если вы работаете в Linux или OS X, всегда есть команда «strings», которая распечатает все статические строки в исполняемом файле. Объедините это с чем-то вроде «objdump» и некоторыми знаниями с помощью шестнадцатеричного редактора, и вы сможете что-то совместить.
Я не знаю, возможно ли это, если у вас есть скомпилированный исполняемый файл & это просто машинный код, на самом деле нет конкретного способа понять, как его интерпретировать (и, следовательно, найти / отредактировать ресурсы, которые вы ищете) … т.е. имея только исполняемый файл, вы не можете точно знать, является ли слово инструкцией в сборке или просто словом, представляющим число, метку и т. д. в сборке …
Насколько я знаю.
Вы можете взглянуть на старый добрый справочник и исходный код PeDump Мэтт Петрек. Он обрабатывает (только для чтения) ресурсы файлов PE в C ++. Может быть, это вдохновит вас на решение вашей проблемы …