В общем есть приложение, нужно его заставить вызвать свою же функцию. Я немного почитал про createremotethread. В инете нашел только примеры как сделать инжект длл. Мне это не нужно. Мне нужно просто вызвать определенную функцию и передать в нее 1-2-3 своих параметра. Причем исходники этой программы у меня есть и я знаю название функции. Незнаю правда поможет ли мне ее название... Как можно лучше всего организовать этот вызов внешним приложением? Что нужно делать? PID чужого процесса есть. Как вызвать в удаленном процессе, если он понадобится, эту функцию?
toruser CreateRemoteThread, и больше вам ничего не нужно. Если параметров больше двух, внедряете шелл (VirtualAllocEx, WriteProcessMemory), который положит аргументы в стек и вызовет вашу функцию.
Принялся искать в dll функции по имени, скачал для начала програмку PE Explorer открываю простенькую dll вижу все функции експорта. Открываю затем нужную мне dll и не вижу никаких функций. Причем этот просмотрщик поддерживает какието анпакеры, и говорит она не запакована. Что теперь получается библиотечка под защитой, все приехали? )))
Squash, функция не АПИ, чем смотрю написал, так же написал програмку которая так же выводит список экспорта из длл, результат что в написанной программе что в платном PE explorer тот же. То есть просто не выводит имена, пусто. Единственное что Pe explorer выводит DLLentry функцию, такая есть и адрес. Вот инфа хедеров Код (Text): // Type : Headers Info Field Name Data Value Description ---------------------------------------------------------------------------- Machine 014Ch i386® Number of Sections 0005h Time Date Stamp 4EE91B81h 14/12/2011 21:56:17 Pointer to Symbol Table 00000000h Number of Symbols 00000000h Size of Optional Header 00E0h Characteristics 2102h The file is executable (no unresolved external references) Computer supports 32-bit words The file is a dynamic link library (DLL) Magic 010Bh PE32 Linker Version 0008h 8.0 Size of Code 00054000h Size of Initialized Data 0001F000h Size of Uninitialized Data 00000000h Address of Entry Point 10054559h Base of Code 00001000h Base of Data 00055000h Image Base 10000000h Section Alignment 00001000h File Alignment 00001000h Operating System Version 00000004h 4.0 Image Version 00000000h 0.0 Subsystem Version 00000004h 4.0 Win32 Version Value 00000000h Reserved Size of Image 0071E000h 7462912 bytes Size of Headers 00001000h Checksum 0007834Ah Real Image Checksum: 0007834Ah Subsystem 0002h Win32 GUI Dll Characteristics 0140h Size of Stack Reserve 00100000h Size of Stack Commit 00001000h Size of Heap Reserve 00100000h Size of Heap Commit 00001000h Loader Flags 00000000h Obsolete Number of Data Directories 00000010h
Значит я никогда не найду адрес нужной мне функции? Попробовал еще 1 длл она выводит список экспорта и имена функций различаются индексами funk.1 funk.2 .. .. funk.n
toruser, мне не совсем понятно, почему вы решили, что нужная вам процедура находится именно в этой длл, если вы не знаете ни ее имени, ни адреса.