Escrever em área não formatada do HD...

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Escrever em área não formatada do HD...

Mensagem por Eolo »

(Esta é pro Maligno, porque [parece que] tem a ver com C++)


Há muito muito tempo atrás eu conheci um camarada que trabalhava com programação, que foi aliás quem me deu as primeiras dicas do Clipper, e me marcou uma coisa que ele comentou, sobre segurança dos sistemas dele, que eu nunca consegui confirmar.

Seguinte: segundo ele, o DOS (à época, o que existia) não particionava e formatava 100% da capacidade disponível nos HDs, sobrando sempre algumas "rebarbas" que não eram utilizadas mas que podiam sim ser acessadas, por exemplo pelo C+...

(algo como, mesmo com SET FILTER TO RECNO()>10, vc fazer um GOTO 5 e o ponteiro estacionar no recno()=5)

Sabendo disso, ele fez uma função que ia "out there", fora da partição, e gravava / lia alguma coisa: (a) no primeiro acesso, ele gravava "X" nesse algum lugar e "X" dentro do EXE; (b) nos acessos seguintes, ele checava a existência e igualdade dos dois "X". Se não batesse, o EXE tinha sido copiado pra outra máquina...

Isso tem algum fundamento?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Isso tem algum fundamento?
Totalmente. Na época do DOS eu próprio só fazia assim. Instalava no cliente e por meio de um programa ASM "marcava" nesta área não só o programa como instalado, como também inseria algumas informações extras, como por exemplo, até quando o programa funcionaria. Ele fazia em C, mas não propriamente em C, já que nesta linguagem, in natura, você só tem as funções de alto nível para acesso ao disco. Era preciso usar uma interrupção do DOS em baixo nível. Em C dá, mas só através de uma função que permite interagir com o DOS em baixo nível.
Era um esqueminha legal, mas depois, quando os anti-vírus começaram a reclamar demais dos meus acessos "esquisitos", abandonei a técnica. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder