Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Как написать посредника wrapper на С/С++
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
floke floke вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2010
По умолчанию Как написать посредника wrapper на С/С++ - 24.10.2010, 13:52

Есть программа на VC++(код открыт) и листинг( просто кусок кода в файле) на С под VxWorks(Unix подобная ОС). Нужно написать посредника, который будет подменять вызовы функций из первой программы вызовами из листинга. Пример: в первой программе есть пустая void func1(....){}, вместо неё нужно вызвать void func2(....){} тело которой находиться в листинге. Как организовать? Допустим, я зная, что вызов func1 нужно заменить func2, но как отследить что вызвана именно func1 , и как подсунуть func2 ?

Другая похожая задача(по сути переформулировка первой): сделать подобие эмулятора(а точнее wrapper), который будет отслеживать любые действия программы написанной под Unix(например создание потоков или вызовы функций, характерных только для Unix тд) и подменять эти действия на аналогичные(важна не схожесть принципов работы двух функций, а идентичность возвращаемого результата) в Windows.

Пните, пожалуйста, в нужную сторону.
Ответить с цитированием
  (#2 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 24.10.2010, 17:00

переименовываете функцию, конорую хотите сниффить и создаёте свою обёртку с оригинальным именем (хоть функцией хоть define'ом). пругих средств как бы нет. Если исходников нет поищите Дж. Рихтер Программирование под Windows там описано как подсунуть свою функцию вместо экспортируемой из длл. так же недавно (последние 2 недели, точнее не скажу) на хабре было как сделать такой финт в никсах.
Ответить с цитированием
  (#3 (permalink)) Старый
floke floke вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.10.2010
По умолчанию 28.10.2010, 11:40

Цитата:
Сообщение от Angel5a Посмотреть сообщение
переименовываете функцию, конорую хотите сниффить и создаёте свою обёртку с оригинальным именем (хоть функцией хоть define'ом). пругих средств как бы нет. Если исходников нет поищите Дж. Рихтер Программирование под Windows там описано как подсунуть свою функцию вместо экспортируемой из длл. так же недавно (последние 2 недели, точнее не скажу) на хабре было как сделать такой финт в никсах.
По никсы статью видел. Спасибо за книжку, штудирую.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как написать ряд 0,-2*x,4*x^2,(-2)^3*x^3,.......,(-2)^n*x^n Alenka-dev Lisp 0 05.05.2010 07:10
Веб-бот как его написать tsi Общие вопросы создания ПО 3 11.02.2010 19:15
Как написать TSR программу в С++ kosetsky Вопросы начинающих программистов 1 03.10.2009 21:25
Написать программу blackcat Задания за деньги 3 20.09.2009 12:12
Калькулятор как его написать KOV Visual Basic 8 22.09.2008 13:16
Как написать? Angel07 Prolog 0 10.11.2007 13:39
Как это написать на VB? SOm26 Visual Basic 0 16.03.2007 04:48
Как написать DLL для 1С Root_in C++ Builder 1 22.11.2005 12:09
Как написать DLL ? HeiHeShang Prolog 7 28.09.2005 16:28
Как написать задание по VB lunohodfaraway Вопросы начинающих программистов 0 01.04.2005 08:07
Как написать AVI-проигрыватель Anonymous Visual C++ 1 29.01.2004 16:11
Как написать CGI Anonymous Некоммерческие проекты 1 02.10.2002 16:15



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов