Если адрес фактически хранится в массиве из 4 байтов (независимо от того, как он объявлен), тогда вполне возможно измените его в исполняемом изображении.
Нахождение этого, с уверенностью, является другой историей. В зависимости от того, как был написан код, байты могут находиться в порядке возрастания или убывания. Скажем, адрес 12.34.56.78
- если вы выполняете двоичный поиск в исполняемом файле для этих четырех байтов в любом порядке и находите ровно один экземпляр, это, скорее всего, это их, и в зависимости от того, насколько вы храбры, вы можете просто изменить их и увидеть если он работает.
Если вы найдете более одного экземпляра (в любом порядке), все становится намного сложнее.
Если у вас есть воспоминания о том, как выглядел код, где был сохранен и используется адрес, это облегчит его поиск. В частности, если адрес фактически хранился в сегменте данных, особенно если он ссылается на другой модуль, который сужается там, где вам нужно искать.
Поскольку адреса IPv4 удобно размещаются в 32-битных целых числах, вполне возможно использовать их таким образом, чтобы они отображались только в реальных машинных инструкциях, что выводит вас в сегмент кода, что намного опаснее играя вокруг.
Я бы сделал это только для одноразовой проверки - без исходного кода программное обеспечение не поддерживается, поэтому для чего-либо, кроме минимального использования, я бы сказал, что вам действительно нужно переписать его. и сохранить источник!
Что такое "IDA"? –
Предполагая, что у вас есть разрешение на запись в исполняемый файл, ВОЗМОЖНО изменить исполняемый файл ограниченными способами (и изменение звука IP-адреса вполне выполнимо). Декомпиляция технически не требуется. Стоит ли это сравнивать с попыткой перекомпилировать/перепроектировать код [классический случай «хранить ваш код в системе управления версиями, с вашего основного компьютера»), и знаете ли вы, как определить правильный набор байтов (vs. инструкции и другие «случайные данные») - это, конечно, еще один вопрос. –
@EdHeal Инструмент дизассемблера (и т. д.) – deviantfan