Tentando recuperar o HDD do computador de mesa

1

Eu tenho o HDD de um amigo que caiu devido a um vírus, pelo menos ele pensa.

A partição C:\ do disco rígido aparece como não formatada / bruta, D:\ está bem e não tem problemas. O disco rígido é de uma máquina com Windows 7 e está atualmente em uma estação de acoplamento USB, é uma unidade WD Caviar Blue SATA.

Usando Localização e montagem de partições , posso montar a unidade e navegar em todos os diretórios não protegidos pelo perfil do usuário. O perfil do usuário é definido para que o arquivo que ele contém não possa ser acessado.

O que posso fazer para corrigir este problema? Eu prefiro corrigir a partição para que o HDD possa ser reinserido em sua máquina e executado como deveria. No entanto, se isso não for possível, existe uma maneira de contornar essa criptografia e acessar os dados?

    
por David A. Moody 23.06.2012 / 09:08

1 resposta

0

Ok, parece que você tem uma MFT corrompida. Na maioria dos discos rígidos, a primeira partição NTFS começa no setor 63 ou no setor 2048. Como você tem um problema com um vírus, não posso prometer que os dados nesses deslocamentos serão exatamente assim.

O que você está procurando é a string simples "NTFS" localizada no quarto byte no início de um setor.

Emita o seguinte em um shell de root no linux:

hexdump -C /dev/sd{your drive letter} | less

em seguida, digite diretamente o seguinte:

/NTFS<Enter>

onde <Enter> está pressionando a tecla Enter literalmente.

Você deve se encontrar na primeira instância do NTFS, que deve ser parecido com o seguinte:

00012000  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|
00012010  00 00 00 00 00 f8 00 00  3f 00 ff 00 3f 00 00 00  |........?...?...|
00012020  00 00 00 00 80 00 80 00  d8 a6 3f 01 00 00 00 00  |..........?.....|
00012030  00 00 0c 00 00 00 00 00  6d fa 13 00 00 00 00 00  |........m.......|
00012040  f6 00 00 00 01 00 00 00  ad 86 66 60 c8 66 60 7e  |..........f'.f'~|
00012050  00 00 00 00 fa 33 c0 8e  d0 bc 00 7c fb b8 c0 07  |.....3.....|....|
00012060  8e d8 e8 16 00 b8 00 0d  8e c0 33 db c6 06 0e 00  |..........3.....|
00012070  10 e8 53 00 68 00 0d 68  6a 02 cb 8a 16 24 00 b4  |..S.h..hj....$..|
00012080  08 cd 13 73 05 b9 ff ff  8a f1 66 0f b6 c6 40 66  |...s......f...@f|
00012090  0f b6 d1 80 e2 3f f7 e2  86 cd c0 ed 06 41 66 0f  |.....?.......Af.|
000120a0  b7 c9 66 f7 e1 66 a3 20  00 c3 b4 41 bb aa 55 8a  |..f..f. ...A..U.| 
000120b0  16 24 00 cd 13 72 0f 81  fb 55 aa 75 09 f6 c1 01  |.$...r...U.u....|
000120c0  74 04 fe 06 14 00 c3 66  60 1e 06 66 a1 10 00 66  |t......f'..f...f|
000120d0  03 06 1c 00 66 3b 06 20  00 0f 82 3a 00 1e 66 6a  |....f;. ...:..fj| 
000120e0  00 66 50 06 53 66 68 10  00 01 00 80 3e 14 00 00  |.fP.Sfh.....>...|
000120f0  0f 85 0c 00 e8 b3 ff 80  3e 14 00 00 0f 84 61 00  |........>.....a.|
00012100  b4 42 8a 16 24 00 16 1f  8b f4 cd 13 66 58 5b 07  |.B..$.......fX[.|
00012110  66 58 66 58 1f eb 2d 66  33 d2 66 0f b7 0e 18 00  |fXfX..-f3.f.....|
00012120  66 f7 f1 fe c2 8a ca 66  8b d0 66 c1 ea 10 f7 36  |f......f..f....6|
00012130  1a 00 86 d6 8a 16 24 00  8a e8 c0 e4 06 0a cc b8  |......$.........|
00012140  01 02 cd 13 0f 82 19 00  8c c0 05 20 00 8e c0 66  |........... ...f|
00012150  ff 06 10 00 ff 0e 0e 00  0f 85 6f ff 07 1f 66 61  |..........o...fa|
00012160  c3 a0 f8 01 e8 09 00 a0  fb 01 e8 03 00 fb eb fe  |................|
00012170  b4 01 8b f0 ac 3c 00 74  09 b4 0e bb 07 00 cd 10  |.....<.t........|
00012180  eb f2 c3 0d 0a 41 20 64  69 73 6b 20 72 65 61 64  |.....A disk read|
00012190  20 65 72 72 6f 72 20 6f  63 63 75 72 72 65 64 00  | error occurred.|
000121a0  0d 0a 4e 54 4c 44 52 20  69 73 20 6d 69 73 73 69  |..NTLDR is missi|
000121b0  6e 67 00 0d 0a 4e 54 4c  44 52 20 69 73 20 63 6f  |ng...NTLDR is co|
000121c0  6d 70 72 65 73 73 65 64  00 0d 0a 50 72 65 73 73  |mpressed...Press|
000121d0  20 43 74 72 6c 2b 41 6c  74 2b 44 65 6c 20 74 6f  | Ctrl+Alt+Del to|
000121e0  20 72 65 73 74 61 72 74  0d 0a 00 00 00 00 00 00  | restart........|
000121f0  00 00 00 00 00 00 00 00  83 a0 b3 c9 00 00 55 aa  |..............U.|

As únicas coisas que são garantidas pela especificação são as mesmas que a marca de final 55 aa no final do setor, e a String de ID NTFS "NTFS" seguida por 4 espaços

Os primeiros 3 bytes são normalmente especificados para ser uma instrução de salto x86, então eles normalmente começam com eb 52 nos bytes hexadecimais. O resto deste setor é informação de partição (perto do começo) e código (perto do fim, se o seu computador tiver um vírus, provavelmente foi alterado).

O que você precisa fazer é converter o deslocamento hexadecimal que menos lhe dá (neste caso 12000 ) para decimal e, em seguida, dividir por 512 para obter o número do setor.

Mais uma vez, os valores mais normais para o setor em que o NTFS é iniciado são 63 e 2048 . Isso corresponde a 00007e00 e 00100000 para os deslocamentos de byte.

Uma vez que você encontra seu offset de setor, você pode montar o loopback de partição via linux emitindo o seguinte a partir de um shell de root:

mount -o loop,offset=$[512*63] /dev/sd{whatever drive it is} /mnt/point

Em que 63 é o número real do setor e /mnt/point é um diretório que existe ( /mnt/point existe por padrão em algumas distribuições).

Se você não sabe qual é a unidade, você pode descobrir fazendo fdisk -l como root.

Se o seu diretório não existe, você pode criá-lo usando mkdir -p /full/path/to/directory

Como alternativa, você pode usar testdisk para reconstruir sua MFT ou apenas copiar arquivos de uma partição NTFS. Ele está localizado aqui e é um download gratuito, e ele já está no gerenciador de pacotes de algumas das distribuições Linux mais populares.

link

    
por 24.06.2012 / 18:50