Debuggolás a windows debugger függvényei nélkül Hogyan?
Fogadásból nemrég egy debugger készítésébe fogtam.( windows 7 operációs rendszeren) c++ nyelven.
-A fogadásban kikötkódotöttük, hogy csak nyilt forráskodú szoftvert használhatok
-Nem használhatom a windows debuggelésre alkalmas függvényeit sem.
-annyi könnyítés van, hogy a debuggernek nem szükséges tudnia végigkövetni az alkalmazást elég ha csak a program kezdetének memóriacímét visszadnia, illetve a program változóinak címét, és értékét írja ki.
A feladat enyhén feladta a leckét számomra. Konkrétan az, hogy nem használhatok debug függvényeket. Aztán egyik nap jött egy ötlet, hogy van egy program ami nyilt forráskodú, és képes a teljes ram-ot, beleértve a virtuális memóriát is kimenteni egy fáljba.
A problémák itt kezdődtek. Konkrétan az, hogy a fájl sok helyen tartalmaz bináris nullát, ami enyhén meglepett. ( tehát a fájlom mérete volt kemény 2,5 gigabyte, és a beolvasásnál megállt 10 kb-nál. Jó erre volt egy új ötlet, mégpedig az, hogy nem eof()-ig olvasok be, hanem igazából számolom őket, és elmentem a pozicióikat, és a windows-on keresztül mondom meg a fájl méretét, mert a programom c++ 10 kb-osnak jelezte a fájl méretét.
A problémáim innen vannak. Konkrétan hogy fogom megkeresni az én árva processzemet ebből a batár nagy adathalmazból?
Az hogy végigmegyek az egészen, és a pid alapján beazonosítom, nem igazán tetszik a 2.5 gigás fájlban enyhén lassan olvasnám be.
Megtaláltam a windows egyik fontos processzuskezelő struktúráját( tartalmazza a pid-t a virtuális memóriacímet, a fizikai címet a stack méretét, stb) de talán segítségével meg tudom találni a célprogramot. A kérdésem ez lenne, hogy hogyan?
Valakinek valami ötlet? A feladat elég nagy, de annyi nem világos, hogy hogyan keresem ki az ram-ból ezt az adatszerkezetet?
Te lehetsz az első, aki segít a kérdezőnek!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!