Ingerencja w inny program

0

Da sie w Delphi napisac taki programik, ktory by ingerowal w inny niezalezny program. Mam na mysli takie cos, ze np. czy da sie napisac w Delphi takie programik, ktory "wykrada" z uruchomionego juz programu Saper gdzie znajduja sie miny. Czyli po prostu takie progrmik, ktory odczytuje wartosci roznych zmiennych innego juz SKOMPILOWANEGO programu.
BTW. Wiem, ze da sie to zrobic w ASM, albo tez przy uzyciu wstawek w Delphi, ale mi chodzi o samo Delphi.
BTW2. Czy ktos z Was juz takie cos napisal??

0

Aby odczytywac zmienne uruchomionego programu musisz przeszukiwac pamiec operacyjna. Ale jak to zrobic nie wiem. Jest to na pewno mozliwe. WinHex np. ma opcje edycji pamieci operacyjnej.

0

Wszystko fajnie.. ale pamięć jest przydzielana dynamicznie więc dość trudno było by odnaleźć wartości szukanych przez nas zmiennych...

0

Ja bym polecił abyś najpierw napisał (albo załątwił sobie) program, który pozwoli Ci na grzebanie w pamięci, następnie wszukiwałbym proces Sapera, znalazł obszary jego pamięci i analizował co gdzie i jak.

0

Radzę zrobić takie coś: napisać programik który z EXE-ka Sapera złapie kawałek kodu, a następnie poszuka takiego samego fragmentu w pamięci. Potem wystarczy znaleźć i przeanalizować nagłówki sekcji (tutaj głównie chodzić będzie o .data) i ... jesteśmy w domu.

P.S. Podobny motyw opisany jest w książce Błaszczyka "Jak pisać wirusy...", tylko że tam to jest pokazane na przykładzie wywoływania funkcji z kernel32.dll

0

Możliwość integrencji w inny proces jest możliwa tylko w jednowątkowym systemie operacyjnym, gdyż prowadzi w wielowątkowych do błędów, lecz występuje w niektóych wielowątkowych OS.

0

Możliwość integrencji w inny proces jest możliwa tylko w jednowątkowym systemie operacyjnym, gdyż prowadzi w wielowątkowych do błędów, lecz występuje w niektóych wielowątkowych OS.

bzdura, weź sobie SoftIce i szukaj :P, lol, ale wiem, że da się to zrobić i nie w żadnej sekcji .data jak to ktoś pisał. Przeciez tablica z rozmieszczonymi minami jest generowana automatycznie. Polecałbym Tobie przeanalizowanie kodu np sapera, albo szukanie konkretnych wartosci w obszarze procesu programu, hmm, jak na razie to tylko SoftIce mi przychodzi do głowy :P

0

Tak... w DOSie, a oprocz tego w Win16, a nawet Win9x po pewnych chwytach da sie :)
Ale juz w WinNT to nie jestem pewien czy by sie udalo. O *nixach to juz nie bede wspominal :)
Wiec CyberKid: czytaj dokladniej odpowiedzi poprzednikow.

vodka_32: Mysle, ze moze latwiej byloby odpalac aplikacje w twojej wlasnej piaskownicy. Tam mozesz ja kontrolowac.

0

Jezu no pewnie ze sie da i to w NT takze. Jak Dryo myslis robia to debuggery z Delphim na czele???
Jak sie ma ID processu (a ma sie jak sie go odpali ze swojej aplikacji) to mozna sie dorwac do PSP czyli naglowka programu gdzie sa dane na temat przydzielonj pamieci i rozmieszczenia reallokowalnych sekcji takich jak .code i .data. No ale to tak naprawde w niczym nam nie pomaga bo jeszcze nie mamy zielonego pojecia o strukturze danych w sekcji .data ( w odroznieniu od debbuggera Delphi ktory ma info o tym z linkera) No i tu zaczyna sie zabawa w reverse ingeenering :) co jak wiadomo jest niezle pokopane. Ale da sie!

Pozdro powodzenia i wytrwalosci zycze. [cya]

0

temat mazania po pamięci innego procesu był już poruszany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1