blokkeszköz emulálása úgy, hogy menjen a HDIO_GET_IDENTITY ioctl
Van egy 32 bites alkalmazás amit szeretnék szóra bírni egy modern rendszeren.
Eredetileg egy VirtualBox image-ben egy yocto alapú disztró amit nem tudok bootolni.
Ezt a rootfst-t lementettem, bechrootoltam rá.
Segmentation faulttal áll meg, de strace barátunk segített:
open("/dev/sda", O_RDONLY|O_NONBLOCK) = -1 ENOENT (Nincs ilyen fájl vagy könyvtár)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
Szegmentálási hiba (core készült)
Próbáltam alátenni egy USB pendrive-ot de azon nem megy a HDIO_GET_IDENTITY ioctl:
open("/dev/sda", O_RDONLY|O_NONBLOCK) = 3
ioctl(3, HDIO_GET_IDENTITY, 0x80c4660) = -1 EINVAL (Érvénytelen argumentum)
close(3) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
+++ killed by SIGSEGV (core dumped) +++
Szegmentálási hiba (core készült)
Van esetleg valami módszer arra, hogy specifikus ioctl-eket "eltérítsek", esetlegesen létezik valamilyen blokkeszköz emulátor amivel be tudnám csapni a programot?
- Tovább (blokkeszköz emulálása úgy, hogy menjen a HDIO_GET_IDENTITY ioctl)