Есть программа на VC++(код открыт) и листинг( просто кусок кода в файле) на С под VxWorks(Unix подобная ОС). Нужно написать посредника, который будет подменять вызовы функций из первой программы вызовами из листинга. Пример: в первой программе есть пустая void func1(....){}, вместо неё нужно вызвать void func2(....){} тело которой находиться в листинге. Как организовать? Допустим, я зная, что вызов func1 нужно заменить func2, но как отследить что вызвана именно func1 , и как подсунуть func2 ?Другая похожая задача(по сути переформулировка первой): сделать подобие эмулятора(а точнее wrapper), который будет отслеживать любые действия программы написанной под Unix(например создание потоков или вызовы функций, характерных только для Unix тд) и подменять эти действия на аналогичные(важна не схожесть принципов работы двух функций, а идентичность возвращаемого результата) в Windows.
Пните, пожалуйста, в нужную сторону. Програмка пишется под WINDOWS(соответсвующего раздела не нашел)
>[оверквотинг удален]
> func2(....){} тело которой находиться в листинге. Как организовать? Допустим, я зная,
> что вызов func1 нужно заменить func2, но как отследить что вызвана
> именно func1 , и как подсунуть func2 ?
> Другая похожая задача(по сути переформулировка первой): сделать подобие эмулятора(а точнее
> wrapper), который будет отслеживать любые действия программы написанной под Unix(например
> создание потоков или вызовы функций, характерных только для Unix тд) и
> подменять эти действия на аналогичные(важна не схожесть принципов работы двух функций,
> а идентичность возвращаемого результата) в Windows.
> Пните, пожалуйста, в нужную сторону. Програмка пишется под WINDOWS(соответсвующего раздела
> не нашел)dll inject
> dll injectСпасибо!
> Пните, пожалуйста, в нужную сторону. Програмка пишется под WINDOWS(соответсвующего раздела
> не нашел)Его и нет, тут сайт о открытых системах. Ищите какой-нибудь виндузятное болото и там спрашивайте как свои костыли ставить.