elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 122
571  Programación / Programación C/C++ / Re: Duda con fread en: 10 Agosto 2010, 21:24 pm
Lo primero es que no utilices gets, es peligrosa y logra que tu programa sea propenso a errores, desbordamiento de buffer, etc. Utiliza fgets.

En cuanto al error, no he visto todo el código pero viendo la parte relevante a la pregunta en cuestión:

Código
  1. while(feof(fichero) == 0)
  2. {
  3. fread(&persona,1,sizeof(persona),fichero);
  4. puts(persona.nombre);
  5. }

El error es sencillo, nunca debes utilizar feof de esa forma para comprobar el final de un archivo en un ciclo. feof devuelve verdadero después de pasar EOF, no al alcanzarlo.

Lo que sucede respectivamente es que fread lee el ultimo dato, pero no el final del archivo. Entonces al intentar leer nuevamente, se produce un error, y lo que haya quedado en el buffer se vuelve a imprimir porque la condición del ciclo, según feof, todavía no se ha cumplido.

No te pongo la función porque es fácil de solucionar y creo que va a ser mas productivo que la hagas vos mismo, pero como pista te digo que puedes valerte de una combinación de feof y el valor de retorno de fread, o bien solamente de este ultimo.

Recordando que el valor de retorno de fread implica:

Citar
Return Value
The total number of elements successfully read is returned as a size_t object, which is an integral data type.
If this number differs from the count parameter, either an error occured or the End Of File was reached.
You can use either ferror or feof to check whether an error happened or the End-of-File was reached.

Saludos
572  Programación / Programación C/C++ / Ayuda con TURBO C proyecto final en: 6 Agosto 2010, 03:07 am
El mensaje 'Ayuda con TURBO C proyecto final' fue bloqueado
No se hacen tareas
Leer reglas:
http://foro.elhacker.net/reglas
573  Programación / Programación C/C++ / Re: Equivalencia de función WINAPI unsigned int WINAPI myRun en Windows con Ubuntu en: 5 Agosto 2010, 04:19 am
WINAPI no es una función, en este caso es una macro predefinida que implica una convención de llamada. En este caso __stdcall.

Para mas información lee esto:

Calling conventions

y tendrás claro como seguir.

En cuanto al código en general, no lo he leído todo pero a simple vista podrías ordenarlo utilizando compilación condicional

Saludos
574  Programación / Programación C/C++ / Re: ¨( C) Duda con permisos de adminsitrador en: 4 Agosto 2010, 10:29 am
Como poder, podes hacerlo tanto en C como en cualquier otro lenguaje que te de la posibilidad, obviamente batch no es el caso ya que es muy limitado en ese aspecto.

Lo primero y principal es entender la arquitectura del UAC y luego analizar como se gestionan los permisos en el sistema operativo respectivo -no todas las versiones de Windows gestionan los permisos de la misma forma-.

En la Beta de Windows 7 había varias fallas que se podían aprovechar para saltarse el UAC, podes empezar probando por ese lado. Igualmente, Microsoft pone bastante empeño en esa área e intenta solucionar todas las vulnerabilidades posibles en la gestión de privilegios.

Las opciones mas accesibles y factibles son inyectar código, aprovecharte de alguna vulnerabilidad en un componente que corra en el nivel que necesitas, utilizar ingeniería social etc.
Mas allá de eso, no se tocan ese tipo de temas en esta sección al menos que tengas código (de tu autoría, por supuesto) y dudas al respecto.

En cuanto a la pregunta principal:

Citar
¿Programando en C podre burlar esta molesta ventanita?

Si.

UAC Architecture
New UAC Technologies for Windows Vista
User Account Control

Saludos
575  Programación / Programación C/C++ / Re: [ayuda][c++]ordenar arreglo en: 31 Julio 2010, 21:20 pm
Burbuja
burbuja C site:foro.elhacker.net

 :D

Saludos!
576  Programación / Programación C/C++ / Re: Equivalente a SetWindowsHookEx en modo kernel? en: 31 Julio 2010, 21:11 pm
No podes hookear el equivalente porque no existe el equivalente, ese tipo de eventos van de la mano con el modo usuario. Existe la implementación, pero dista de ser una equivalencia en modo kernel, de hecho SetWindowsHookEx es solo un wrapper de lo que ya te mostró Eternal.

Hay muchas formas de hacer un keylogger en modo usuario, algunas serán mejores que otras, pero evitando una no implica evitar las otras. Por lo tanto, si intentas hacer un método que evite un tipo especifico, te vas a volver loco para evitarlos todos.

Lo principal es que tengas en claro el diagrama del sistema y en cuenta todas las formas que hay para interceptar eventos (por lo menos la mayoría). Partiendo de ahí, podes ingeniar algo que acabe con gran parte de esos métodos, pero luego tendrás que meterte indefectiblemente con los que te menciona Eternal, que de hecho los filtros de modo kernel son muy comunes en los rootkits.

No se si los habrás leído, pero si todavía no lo hiciste, recomendado que te metas con:

"Programming the Microsoft Windows Driver Model"
"Rootkits - Subverting the Windows Kernel"


En cuanto al WinDBG, carga Win32k.sys, y luego pasas como comando al WinDBG:

Código:
uf ntusersetwindowshookex

Saludos!
577  Programación / Programación C/C++ / Re: Equivalente a SetWindowsHookEx en modo kernel? en: 31 Julio 2010, 07:32 am
No, no lo tiene. Que es lo que queres hacer exactamente? porque a simple vista como mínimo estas encarando el problema con un planteo incorrecto.

Saludos!
578  Programación / Programación C/C++ / Re: compilar en 64 bits VS2008[c++] en: 31 Julio 2010, 01:22 am
How to: Configure Visual C++ Projects to Target 64-Bit Platforms

579  Programación / Programación C/C++ / programa c en: 30 Julio 2010, 03:39 am
El mensaje 'programa c  ' fue bloqueado
JUDAVID, bienvenido al foro. En esta sección no se hacen tareas.
Leer reglas:
http://foro.elhacker.net/reglas
580  Foros Generales / Foro Libre / Re: Chiste que salió del IRC (imagen) en: 28 Julio 2010, 18:39 pm
 :laugh:

En realidad usaste el ping cuando MinusFour ya se había ido, porque nadie puede echar a MinusFour, Bianc4 banea a quien lo intenta. Y es normal, ya que si echan a MinusFour, Bianc4 se queda sola por las noches  ;D ;D ;D ;D ;-).

Aparte Bianc4 se pone triste cuando MinusFour abandona la sala y no permite el acceso hasta que MinusFour vuelva, así que por las dudas no lo eches que se cae el irc.

 :xD :xD
Páginas: 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines