Возможно ли внешний вид приложения Win32 (есть только файл EXE) [закрыто

StackOverflow https://stackoverflow.com/questions/1488001

Вопрос

У меня есть приложение (файл win32 EXE) без исходного кода.

Можно ли написать приложение C# и повторно использовать некоторую функцию в этом файле win32 .exe?

Это было полезно?

Решение

Вы можете запустить

dumpbin.exe /exports [your-win32.exe]

и посмотрите, какие функции он экспортирует. Тогда вы можете использовать (что бы ни было C# эквивалент) LoadLibrary () а также GetProcadDress () Чтобы вызвать эти функции.

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

Другие советы

Не знаю, если вы ищете это, но если у другого Exe есть графический интерфейс, вы, вероятно, можете сделать что -то, отправив в него сообщения. Просто запустите Spy ++, делайте все, что хотите с другим приложением, и посмотрите журнал, когда закончите. Если никаких специальных элементов управления не используется, вы можете управлять этим графическим интерфейсом, получив ручки желаемых элементов управления, и отправив им соответствующие сообщения. Если вы не хотите, чтобы пользователь знал, что вы запускаете другое приложение, вы можете запустить его на другом рабочем столе.

Еще один вариант, который вы можете использовать, - это запуск собственного потока в процессе другого EXE и передача вашего приложения в одном из различных доступных методов IPC. Здесь было задано много вопросов о удаленной инъекции ветки, так что просто посмотрите вокруг этого.

Наконец, если вам повезло, что вам нужна функциональность, на самом деле на одном из DLL, используемых EXE, либо в качестве экспортируемых функций, либо в качестве интерфейса COM. Взгляните на время выполнения, используя проводник процессов или около того, и посмотрите, выглядит ли какой -либо из модулей интересными. Что касается использования других модулей, DLL, очевидно, намного проще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top