Entendendo o ext2 FileSystem [closed]

8

Estou tentando encontrar inodes excluídos no sistema de arquivos ext2. E esta é a abordagem que estou tomando. No entanto, sinto que estou fazendo algo errado.

  1. Eu estou procurando primeiro 1024 bytes para o início do superbloco

  2. Eu sei que o tamanho do bloco é de 1024 bytes, então a tabela do descritor de grupo começa no deslocamento 2048.

  3. A tabela do descritor de grupo tem um descritor de grupo para cada grupo de blocos, certo? Então eu calcular o número de descritores de grupos ou grupos de blocos: total de inodes / inodes por grupo. Isso me dá o valor 8, o que significa que eu tenho 8 descritores de grupo na minha tabela de descritores de grupo de blocos.

  4. Eu leio o campo first_inode_table para todos os 8 descritores de grupo. Os descritores de grupo têm 32 bytes de comprimento

    Então é aí que eu fico confuso. A tabela de inodes para o primeiro descritor de grupo me dá 260. Então, isso significa que para acessar a tabela de inode para o primeiro grupo de blocos eu faço 260 * blocksize?

  5. Quando chego lá, estou lendo o campo dtime - que informa o último tempo excluído. Se isso for > 0, significa que foi eliminado.

    Então, outra confusão que eu tenho é que se diz que as 11 primeiras entradas da tabela de inode estão reservadas. Então, isso não deve ser um problema enquanto eu passar por todas as entradas do inode da tabela de inode, certo?

A minha abordagem está correta? Por favor, aponte-me para a direção certa, se você ver algo errado.

    
por Wuffers 04.06.2011 / 02:44

0 respostas