TORN@DO presents: cRACKER's n0TES

Detalles de API para Accesos a Archivos



_lread
La función _lread lee datos del archivo especificado. Esta función se proporciona para la compatibilidad con versiones de Windows 16-bit. Las aplicaciones basadas en Win32 deben usar la función ReadFile.

     UINT _lread(
      HFILE  hFile,	                       // el manipulador de archivo 
      LPVOID  lpBuffer,	          // la dirección de buffer para la lectura de datos 
      UINT  uBytes 	                       // la longitud, en bytes, del buffer de datos 

     );

Returns
El valor de retorno indica el número de bytes del archivo realmente leídos. Si el número de lectura de bytes es menor que uBytes, la función ha alcanzado el fin de fichero (EOF) antes de leer el número especificado de bytes.

Si la función falla, el valor de retorno es HFILE_ERROR. Para conseguir información extendida del error, llama a GetLastError.





_lwrite


La función de _lwrite escribe datos al archivo especificado. Esta función es proporcionada para la compatibilidad con versiones de Windows 16-bit. Las aplicaciones basadas en Win32 deben usar la función WriteFile.

     UINT _lwrite (
      HFILE  hFile,	                        // el manipulador de archivo 
      LPCSTR  lpBuffer,	           // la dirección de buffer para los datos a ser escritos  
      UINT  uBytes 	                        // el número de bytes a escribir 

     );	

Returns
Si la función tiene éxito, el valor de retorno indica el número de bytes escritos al archivo realmente.

Si la función falla, el valor de retorno es HFILE_ERROR. Para conseguir información extendida del error, llama a GetLastError.





CreateFileA / CreateFileW


La función CreateFile crea, abre, o trunca un archivo, pipe (*), fuente de comunicaciones, dispositivo de disco, o consola. Devuelve un manipulador que puede usarse para acceder al objeto. También puede abrir y puede devolver un manipulador para un directorio.

     HANDLE CreateFile(
      LPCTSTR  lpFileName,	                      // la dirección de nombre del archivo 
      DWORD  dwDesiredAccess,	         // el modo de acceso (leer-escribir) 
      DWORD  dwShareMode,	                      // modo share  
      LPSECURITY_ATTRIBUTES  lpSecurityAttributes,// la dirección de descriptor de seguridad 
      DWORD  dwCreationDistribution,	         // cómo crear 
      DWORD  dwFlagsAndAttributes,	         // los atributos del archivo 
      HANDLE  hTemplateFile 	          	         // el manipulador de archivo con atributos para copiar  

     );

Returns
Si la función tiene éxito, el valor del retorno es un manipulador abierto del archivo especificado. Si el archivo especificado existe antes de función llamada y dwCreationDistribution es CREATE_ALWAYS o OPEN_ALWAYS, una llamada a GetLastError devuelve ERROR_ALREADY_EXISTS (aunque la función ha tenido éxito). Si el archivo no existe antes de la llamada, GetLastError devuelve cero.

Si la función falla, el valor del retorno es INVALID_HANDLE_VALUE. Para conseguir información extendida del error, llama a GetLastError.
(* n. del t.: conexión temporal de un programa, entre dos programas o comandos.)





GetPrivateProfileIntA / GetPrivateProfileIntW


La función de GetPrivateProfileInt recupera un entero asociado con una tecla en la sección especificada del archivo de inicialización dado. Esta función es proporcionada para la compatibilidad con aplicaciones basadas en Windows 16-bit. Aplicaciones basadas en Win32 deben guardar la información de inicialización en el registro.

     UINT GetPrivateProfileInt(
      LPCTSTR  lpAppName,	               // la dirección de nombre de la sección
      LPCTSTR  lpKeyName,	               // la dirección de nombre de la tecla
      INT  nDefault,	                            // el valor de retorno si el nombre de la tecla no es encontrado
      LPCTSTR  lpFileName 	               // la dirección de nombre de fichero de inicialización

     );

Returns
Si la función tiene éxito, el valor del retorno es el entero equivalente del string que sigue al nombre especificado de la tecla en el archivo de inicialización especificado. Si la tecla no es encontrada, el valor de retorno es el valor predefinido especificado. Si el valor de la tecla es menor de cero, el valor del retorno es cero.





GetPrivateProfileStringA / GetPrivateProfileStringW


La función de GetPrivateProfileString recupera un string de la sección especificada en un archivo de inicialización. Esta función es proporcionado para la compatibilidad con aplicaciones basadas en Windows16-bit. Aplicaciones basadas en Win32 deben guardar información la de inicialización en el registro.

     DWORD GetPrivateProfileString(
      LPCTSTR  lpAppName,	               // los puntos para el nombre de la sección 
      LPCTSTR  lpKeyName,	               // los puntos para el nombre de la tecla 
      LPCTSTR  lpDefault,	               // los puntos para string predefinido 
      LPTSTR  lpReturnedString,	  // los puntos para el buffer de destino 
      DWORD  nSize,	               // el tamaño del buffer de destino 
      LPCTSTR  lpFileName 	               // los puntos para el nombre del fichero de inicialización 

     );

Returns
Si la función tiene éxito, el valor de retorno es el número de caracteres copiados al buffer, no incluyendo la terminación del carácter nulo.

Si ni lpAppName ni lpKeyName son NULL y el buffer de destino proporcionado es demasiado pequeño para sostener el string pedido, el string es truncado y seguido por un carácter nulo, y el valor del retorno es igual a nSize menos uno.

Si o lpAppName o lpKeyName son NULL y el buffer de destino proporcionado es demasiado pequeño para sostener todo el strings, el último string es truncado y seguido por dos caracteres nulos. En este caso, el valor de retorno es igual a nSize menos dos.





ReadFileA


La función de ReadFile lee datos de un archivo, comienza en la posición indicada por el indicador del archivo. Después de que la operación de lectura se ha completado, el indicador del archivo es ajustado realmente por el número de bytes leídos, a menos que el manipulador de archivos sea creado con el atributo superpuesto. Si el manipulador de archivos es creado para entrada y salida superpuesta (I/O), la aplicación debe ajustar la posición del indicador del archivo después de la operación de lectura.

     BOOL ReadFile(
      HANDLE  hFile,	                                 // el manipulador de archivo para leer 
      LPVOID  lpBuffer,	                    // la dirección de buffer que recibe los datos  
      DWORD  nNumberOfBytesToRead,	       // el número de bytes para leer 
      LPDWORD  lpNumberOfBytesRead,	       // la dirección de número de lectura de los bytes 
      LPOVERLAPPED  lpOverlapped 	       // la dirección de estructura para el dato 
     );

Returns
Si la función tiene éxito, el valor del retorno es TRUE. Si el valor de retorno es que TRUE y el número de lectura de los bytes es cero, el indicador del archivo estaba más allá del extremo actual del archivo en el momento de la operación de lectura.

Si la función falla, el valor de retorno es FALSE. Para conseguir información extendida del error, llama a GetLastError.





ReadFileEx


La función ReadFileEx lee datos asincrónicamente de un archivo. Está diseñado solamente para el funcionamiento asincrónico, a diferencia de la función ReadFile que está diseñado para el funcionamiento sincrónico y asincrónico. ReadFileEx permite a una aplicación realizar otro proceso durante un funcionamiento de lectura de archivo.

La función ReadFileEx informa del estado de la realización asincrónicamente, llamando a una rutina de realización especificada cuándo la lectura es completada y la llamada enhebrada está en un ciclo de espera alertado.

     BOOL ReadFileEx(
      HANDLE  hFile,	                      	 	 // el manipulador de archivo a leer 
      LPVOID  lpBuffer,	                      	 // la dirección del buffer 
      DWORD  nNumberOfBytesToRead,	       	 // el número de bytes a leer 
      LPOVERLAPPED  lpOverlapped,	     	 // la dirección de offset 
      LPOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine // la dirección de realización de la rutina 
     );

Returns
Si la función tiene éxito, el valor de retorno es TRUE.

Si la función falla, el valor de retorno es FALSE. Para conseguir información extendida del error, llama a GetLastError.

Si la función tiene éxito, la llamada enhebrada tiene una operación I/O (entrada/salida) asíncrona pendiente: la operación de lectura superpuesta del archivo. Cuando esta operación de I/O se completa, y la llamada enhebrada es bloqueada en un ciclo de espera alertado, el sistema llama a la función apuntada por lpCompletionRoutine, y el ciclo de espera se completa con un código de retorno de WAIT_IO_COMPLETION.

Si la función tiene éxito, y la operación de lectura del archivo se completa, pero la llamada enhebrada no está en un ciclo de espera alertado, el sistema pone en cola la realización de la rutina llamada, reteniendo la llamada hasta que la llamada enhebrada entra en un ciclo de espera alertado. Para la información sobre la espera alertada y operaciones superpuestas de entrada/salida, mira Sincronización y entrada y salida superpuestas.

Si ReadFileEx intenta leer más allá del extremo del archivo, la función devuelve FALSE, y GetLastError devuelve ERROR_HANDLE_EOF.





SetFilePointer


La función SetFilePointer mueve el indicador del archivo de un archivo abierto.

    DWORD SetFilePointer(
      HANDLE  hFile,	                       		  // el manipulador del archivo 
      LONG  lDistanceToMove,	               // el número de bytes para mover indicador del archivo 
      PLONG  lpDistanceToMoveHigh,	      	  // la dirección de la palabra de alto-orden de dest. a mover  
      DWORD  dwMoveMethod 	               // cómo mover 

     );

Returns
Si la función SetFilePointer tiene éxito, el valor de retorno es doubleword de bajo-orden del nuevo indicador del archivo, y si lpDistanceToMoveHigh no es NULL, la función pone el doubleword de alto-orden del nuevo indicador del archivo en la LONG apuntada por ese parámetro.

Si la función falla y lpDistanceToMoveHigh es NULL, el valor de retorno es 0xFFFFFFFF. Para conseguir información extendida del error, llama a GetLastError.

Si la función falla, y lpDistanceToMoveHigh es non-NULL, el valor de retorno es 0xFFFFFFFF y GetLastError devolverán un valor distinto de NO_ERROR.





WriteFile


La función WriteFile escribe datos a un archivo y está diseñado para la operación sincrónica y asíncrona. La función comienza escribiendo datos al archivo en la posición indicado por el indicador del archivo. Después de que la operación de escritura se ha completado, el indicador del archivo es ajustado realmente por el número de bytes escritos, excepto cuando el archivo es abierto con FILE_FLAG_OVERLAPPED. Si el manipulador de archivos se creara para la entrada y salida solapada (I/O), la aplicación debe ajustar la posición del indicador del archivo después de que la operación de escritura es terminada.

    BOOL WriteFile(
      HANDLE  hFile,	                               // el manipulador de archivo para escribir 
      LPCVOID  lpBuffer,	                  // la dirección de datos para escribir al archivo 
      DWORD  nNumberOfBytesToWrite,	      // el número de bytes a escribir 
      LPDWORD  lpNumberOfBytesWritten,   // la dirección del número de bytes escritos 
      LPOVERLAPPED  lpOverlapped 	      // la direc. de estructura necesaria para I/O solapada  
     );

Returns
Si la función tiene éxito, el valor de retorno es TRUE.

Si la función falla, el valor del retorno es FALSE. Para conseguir información extendida del error, llama a GetLastError.





WriteFileEx


La función WriteFileEx escribe datos a un archivo. Está diseñado solamente para el funcionamiento asíncrono, es diferente a WriteFile que esta diseñado para el funcionamiento sincrónico y asíncrono.

WriteFileEx informa del estado de la realización asincrónicamente, llamando a una rutina de realización especificada cuando la escritura es completada y la llamada enhebra está en un ciclo de espera alertado.

    BOOL WriteFileEx(
      HANDLE  hFile; 	                      	      // el manipulador para el fichero de salida
      LPCVOID  lpBuffer; 	             	      // el indicador para el buffer de entrada
      DWORD  nNumberOfBytesToWrite; 	      // el número de bytes a escribir
      LPOVERLAPPED  lpOverlapped; 	                   // el indicador para datos asíncronos de i/o
      LPOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine; // ptr. para la realización de la rutina 

    );

Returns
Si la función tiene éxito, el valor del retorno es VERDADERO.

Si la función falla, el valor del retorno es FALSO. Para conseguir información del error extendida, llama GetLastError.

Si la función de WriteFileEx tiene éxito, la llamada enhebrada tiene una operación I/O (entrada/salida) asíncrona pendiente: la operación de escritura superpuesta del archivo. Cuando esta operación de I/O termina, y la llamada enhebrada está bloqueada en un ciclo de espera alertado, el sistema operativo llama a la función apuntada por lpCompletionRoutine, y la espera se completa con un código de retorno de WAIT_IO_COMPLETION.

Si la función tiene éxito y la operación de escritura del archivo termina, pero la llamada enhebrada no está en un ciclo de espera alertado, el sistema pone en cola la llamada a *lpCompletionRoutine, sosteniendo la llamada hasta que la llamada enhebrada entra en un ciclo de espera alertado. Mira Sincronización para más información sobre estados de espera alertados y operaciones de entrada/salida superpuestas.





WritePrivateProfileStringA / WritePrivateProfileStringW


Si la función copia el string con éxito al archivo de inicialización, el valor de retorno es TRUE.

Si la función falla, o si accede a una versión oculta del archivo de inicialización vaciada recientemente, el valor de retorno es FALSE. Para conseguir información extendida del error, llama a GetLastError.

    BOOL WritePrivateProfileString(
      LPCTSTR  lpszSection,	              // la dirección de nombre de la sección 
      LPCTSTR  lpszKey,	              // la dirección de nombre de la tecla 
      LPCTSTR  lpszString,	              // la dirección de string a agregar 
      LPCTSTR  lpszFile 	              // la dirección de nombre de fichero de inicialización 
    );

Returns
Si la función copia el string con éxito al archivo de inicialización, el valor de retorno es TRUE. Si la función falla, o si accede a una versión oculta del archivo de inicialización vaciada recientemente, el valor de retorno es FALSE. Para conseguir información extendida del error, llama a GetLastError.

(n. del t.: Sé que esta repetido, pero en el original viene así ¿?)


The cRACKER's n0tES esta dividido dentro de 12 partes principales:
 TX. Notas del Traductor
 00. INDICE
 01. Ensamblador para Cracker (CoRN2)
 02. SoftICE (Menú de arranque , Configuración, Comandos)
       
 1 Menú de arranque
       
 2 Configuración
       
 3 Comandos
 03. Breakpoints & Detalles de API de Windows
       
 1 Programas restringidos
       
 2 Cajas de diálogo
       
 3 Verificando el Tipo de unidad
       
 4 Acceso a archivos
       
 5 Acceso al Registro
       
 6 Cogiendo números de serie
       
 7 Accediendo a Tiempo & Fecha
       
 8 Generando ventanas
 04. Instrucciones de salto
 05. Instrucciones SET
 06. Tips & Trucos para Crackear
       
 1 Programas restringidos
       
 2 Dongles
       
 3 General
       
 4 Configuración de InstallSHIELD
       
 5 Protecciones con Archivo llave
       
 6 Pantallas molestas
       
 7 Límites de Runtime
       
 8 Serials
       
 9 Limites de Tiempo
       
10 Programas Visual BASIC
 07. Ventanas de Mensajes Para los Cracker
 08. Identificando funciones, Argumentos, y Variables (Rhayader)
 09. Los Sistemas de Protecciones de comerciales
       
 1 Armadillo
       
 2 C-Dilla SafeDISC
       
 3 SalesAgent
       
 4 SecuROM
       
 5 softSENTRY
       
 6 TimeLOCK
       
 7 VBox
 10. Bitmanipulation (Cruehead)
 11. Teoría general de Cracking
 12. FAQ

 +A. Cómo contactar conmigo
 +B. ¿Que es lo Nuevo?


 



The cRACKER's n0TES are Copyright 1998-2000 by TORN@DO of ID.
Todo los Derechos Reservados.
Traducido por
Revisado por X-Grimator.