![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Manipular CD
6.- Teniendo el listado de sectores y pistas malogrados solo debemos escoger cual de ellos usaremos para identificar a nuestro diskete. Desde un programa debes buscar en el disco el sector y pista que hayas elegido y comprobar que estos sectores se encuentran malogrados, si es asi podriamos creer que tenemos el disco correcto.
7.- Sin embargo si pensamos en el asunto un poco mas, basta encontrar otro disco que por coincidencia tenga un rango de sectores malogrados entre los cuales se encuentra los que se han seleccionado y se tomaria a este disco como nuestro disco. Entonces y gracias al manual de un amigo Angel Moreno 'Microscope-32E' donde explica este metodo de seguridad (despues de completar mis pruebas y cuando ya tenia todo el trabajo completo me contacte con Angel Moreno y me brindo su manual, debo decir que si lo hubiese encontrado antes me habria ahorrado mucho tiempo de trabajo). Angel indica que una combinacion de sectores malogrados y buenos (que se encuentren contiguos) ayuda mas que si solo se usa sectores malogrados. Les paso el correo de Angel Moreno para ver si nuestro estimado moderador marcoszorrilla puede contactarse con el y de pronto podamos tener su esplendido manual al alcance de todos. El correo es [email protected] 8.- El codigo ASM que uso es el siguiente: Código:
Asm
{Guardar los registros}
push DI
push AX
push DX
push CX
Mov DI,2 {Iniciar el Contador}
Xor AX,AX {Poner a 0 el registro AX}
bBucle:
Mov AH,4 {Colocar el indicador de Verificar Sectores}
Mov DL,bDLUnidad
Mov DH,bDHCara
Mov CH,bCHPista
Mov CL,bCLSector
Mov AL,bALNSectores
Int 13h
Jnc bOk
Jmp bErr
bOk:
Mov AH,0 {Restaurando el diskette}
Int 13h {Llamar a la Int 13}
Dec DI {Decrementamos el contador}
Cmp DI,0 {Compramos si es igual a cero}
Jne bBucle {Si no es igual saltamos a bBucle}
Jmp bErr {Si es igual a 0 saltamos a bErr}
bErr:
Mov ResAH,AH
pop CX {Restauramos los registros}
pop DX
pop AX
pop DI
End;
Última edición por carlocf fecha: 12-10-2008 a las 15:02:06. |
|
#2
|
||||
|
||||
|
Manipular CD
9.- Debo comentarles (aun cuando ya lo hice anteriormente) que al usar ASM en delphi no podia acceder a las INT 13, despues de averiguar un poco por internet me entere que Windows se maneja por anillos (rings) poniendo en el anillo mas interno (ring 0) la manipulacion de las INT, pero para llegar al anillo 0 es mas complicado. Asi que en base a prueba y error descubri que Pascal para DOS en Win XP dejaba acceder a la INT13 y no falto mucho para hacer la prueba con Pascal para Windows en la que tambien es posible manejar INT. Asi que tengo el codigo anterior insertado dentro de un programa en Pascal para windows, dentro del cual puedo recuperar los valores manipulados por el codigo ASM y colocarlos en archivos de disco. Este programa (EXE) lo ejecuto desde Delphi, una vez que termina, el codigo Delphi lee el contenido de los archivos (el contenido de cada archivo esta encriptado) y de esta manera puedo manejar el resultado del codigo ASM desde Delphi. Es decir hago un manejo indirecto.
Como ven esta es la forma en que solucione mi problema. Pero Uds. amigos del foro que son mas inteligentes que yo, podran hacerlo mejor Espero no haberlos aburrido con esta chachara (platica aburrida) y que les sirva de algo. Un saludo Carlo |
|
#3
|
||||
|
||||
|
amigo hackall el codigo que mostraste para indentificar sectores dañado en un disco esta buenisimo funciona a la perfecion solo ahi un incombeniente y es el siguiente como elegir la unidada a comprobar pues en el ejemplo que pusiste esta la unidad g: como predeterminada y como sabra no tadas las pc tienen las misma unidades
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Manipular Video | Carlos Arevalo | Varios | 4 | 21-10-2006 16:00:43 |
| manipular botones | fartycl | Varios | 3 | 21-06-2006 22:03:31 |
| Manipular Paradox | Coco_jac | Conexión con bases de datos | 5 | 09-11-2005 16:15:00 |
| DBLookupComboBox manipular | Sayuri | Conexión con bases de datos | 3 | 26-07-2005 09:17:02 |
| Manipular un Reporte | noir | Impresión | 0 | 26-05-2003 20:36:36 |
|