Cześć, czy da się napisać aplikację, która przechwytuje dane wysyłane przez jakąś tam aplikację (obydwie aplikacje są zainstalowane na tym samym komputerze) i np retransmituje te dane w inne miejsce. Jeśli tak to w jaki sposób, chodzi o pakiety udp.
Tak. Popatrz na zasadę działania sockscap albo proxychains.
Pytanie do czego to potrzebujesz, tzn. czy chcesz sam napisać coś takiego czy tylko potrzebujesz taką funkcjonalność?
Polecam zobaczyć program WireShark z tego co pamiętam jest na licencji GPL, więc z kodem też nie powinno być problemu
Jak możesz ingerować w aplikację to możesz breakpoint na syscalle ustawić na send i recv lub nawet hooka zrobić i zapisywać gdzieś do pamięci.
Mniej więcej, chodzi o to aby mój program skopiował dane zawarte w wychodzącym pakiecie udp i wysłał je na adres podany w aplikacji pomocniczej. Tak sobie myślałem, bo np w C# jeżeli odbieram dane to nie bierzemy całej ramki, np, za pomocą klasy UDPClient i wybieram od razu dane zawarte w całej ramce.
Jak nieszyfrowany protokół, to robisz program server, co zwie się potocznie proxy, bierzesz wszystko co ktoś do niego wyśle wysyłasz gdzieś i co odeśle to odsyłsza to jest proxy i w między czasie nadpisujesz coś.
To podepnij sobie wiresharka jako bibliotekę (libpcap), tak będzie najłatwiej.