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 Temas
Páginas: [1] 2
1  Programación / ASM / [Opinión]Sobre la ineficiencia teórica de los x86 en: 21 Marzo 2013, 17:21 pm
Hola, quería saber que opinan ustedes de esta idea.
He buscado artículos pero no encontré demasiado. Los datos están ahí pero no me apetece analizarlos de momento, quizá ustedes lo sepan.
La idea es que los procesadores x86 son muy ineficientes en general intrínsecamente por su diseño y arquitectura.
Mi argumento principal que respalda esto es su complicado juego de instrucciones.
Quizá muchos de ustedes han intentado alguna vez crear un desensamblador de x86, en C por ejemplo, y no es algo trivial ni fácil, el código que necesita es bastante y necesariamente complicado, no hay soluciones demasiado elegantes (a mi juicio).
Eso que nosotros hacemos en C o cualquier otro lenguaje, los microprocesadores tienen que hacerlo pero por medio de hardware, transistores, unidades lógicas. Ello hace que necesiten muchos más transistores que otras arquitecturas, y por tanto más consumo de potencia, o sea, eficiencia (da igual, energética o de potencia de cálculo, no diferencio).
Quizá sea por ello que en los sistemas empotrados x86 desaparece por completo, en general. Se tiende a microprocesadores ARM por ejemplo que consumen muchísimo menos y tienen gran potencia (aunque menos que los x86 que usan mucha más energía y frecuencias).
Es otra de las causas quizá por la que las GPU's, sus núcleos de procesamiento, tampoco usan x86, bueno, esto sería obvio ya que tienen otros usos más específicos, pero bueno, podrían compartir el juego básico, todo microprocesador tiene instrucciones de control, de movimiento de datos, etc.
Me consta también que Intel muchas veces "inteltó" (chiste malo) deshacerse del juego de instrucciones sustituyéndolo por otros, pero no pudo por el mercado.
Y mi atrevida sugerencia: si usáramos el mismo número de transistores y la misma frecuencia (y la misma técnica de última generación litográfica, etc), en un procesador tipo ARM, RISC o lo que sea, que un x86 actual, se superaría enormemente la potencia de cálculo.
El problema es arrastrar esa vieja compatibilidad "hacia atrás" (por la voz inglesa), que sólo obliga al diseño a estar estancado, cargando con viejas funcionalidades obsoletas que lo limitan, es una especie de evolución darwiniana de los procesadores, en que quedan miembros inútiles que antiguamente eran usados (tenía un nombre que ahora no recuerdo, si me lo pudieran recordar... :)

Otra idea que arroja esto, es que Intel debería estar realmente interesado en la pervivencia del modelo de código cerrado, ya que si pudiéramos usar sólo código abierto, no habría tanta dificultad en compilar los sistemas para cualquier máquina.

Se me olvidó mencionar también la idea, de que mucha de la lógica de los x86, se empeña en optimizar este código, de alguna manera estas unidades sobran en otra arquitectura, y habría espacio para otro tipo de lógica, o son complejas, en otra arquitectura serían más simples.

En resumen, más transistores = más potencia, es obvio, pero transitores mejor utilizados, también = a más potencia.
2  Seguridad Informática / Análisis y Diseño de Malware / ¿Qué tanto se puede fastidiar un pc? en: 21 Marzo 2013, 17:02 pm
Bueno, el título no es muy informativo, esto es más una curiosidad que otra cosa.
El otro día me acordé de aquellos viejas leyendas, quizá mitos, de antaño, que circulaban por el underground (de aquella se llamaba a esto underground, recuerdan? xD) como el libro del anarkista creo que era uno, que concretamente ponía una receta para crear disquettes explosivos.
Luego estaba aquello de los virus que te 'jodían' el disco duro con un temible 'aterrizaje de pistas'. Luego ves un disco por dentro y te cuentan esas cosas, pero bueno, hay gente que aún se asusta por estas cosas, no estoy seguro pero creo que lo del aterrizaje de pistas ya está superado. Es decir, muchas veces se me fue la corriente con alto uso del disco duro y nunca se me estropeó ni nada. Además aquello de aquellos viejos sistemas en los que existían los comandos de aparcamiento de cabezales, pues no sé, pero los programadores hoy en día ya no nos preocupamos por eso, creo.
Mi pregunta es, un software malicioso, ¿qué tanto puede causar daño físico hoy en día a los modernos aparatos de hardware?
A priori se me ocurren varias cosas:
- Flashear un firmware incorrecto a la bios que impida el arranque del pc (esto me pasó por cacharrear demasiado lejos, perdí aquel ordenador)
- Overclocking por software (creo que ahora se hace por software totalmente, ¿estoy en lo cierto?), quizá controlar la refrigeración, hacer uso extremo de los ciclos y quemar el procesador.
- Mismo para la gpu.
- No sé si la memoria RAM... pudiera sobrecalentarse. Tampoco sé qué control tiene el procesador sobre ella.
- Creo que algunas CPU's tienen un firmware (por llamarlo de alguna manera, una memoria con datos permanentes que se puede sobreescribir) con las microoperaciones de cada instrucción.
- Lo de aterrizaje de pistas, supongo que podría seguir vigente si pudiéramos acceder al firmware del HDD.
- Usar el láser del modo de grabación para destrozar la superficie de discos con información.
¿Qué opinan? ¿Es posible?
3  Informática / Electrónica / ¿Cómo comprar/conseguir componentes integrados(baratos)? en: 15 Marzo 2013, 16:35 pm
Hola, estaba buscando comprar un sensor CMOS como el que llevan las cámaras digitales para percibir imágenes. El caso es que no tengo ni idea de cómo conseguirlo, he buscado y buscado y no he encontrado nada que me convenciera. En las típicas tiendas de DIY y cosas de esas directamente no hay o poca variedad.
Hay webcams realmente baratísimas, aunque he mirado en alguno de sus documentos de descripción del producto y no dicen que chip llevan(que debería ser más barato aún que la propia cámara).
En las webs de fabricantes, Samsung, Aptina, Cmosis, tienen unos distribuidores certificados o algo así, pero estos a su vez no veo la manera de poder comprar como individuo. No entiendo mucho de estos entramados empresariales. Quiero decir por ejemplo, en algunos casos no ponen precio, y tienes que rellenar un formulario donde tienes que poner que empresa eres, en otros casos ves que tienen una cantidad mínima o un gasto mínimo de 500 euros y cosas así.
No tengo ni idea de cómo conseguir una de estas piezas sin tener que comprar la webcam baratita y desarmarla (con el riesgo de que no descrubra que chip es o no tenga documentación en la red, o que no esté apropiada para conectarla a mis deseos).
¿Alguien sabe como hacerse con un cacharro de estos online? ¿Cómo lo hacen las universidades?
Gracias.
4  Informática / Electrónica / VHDL en: 21 Abril 2012, 19:05 pm
Hola!
A ver si pueden resolver mi duda
Qué puedo llegar a hacer con VHDL? Siempre tuve la duda de si con VHDL puedo llegar a construir un microprocesador, porque es algo que me gustaría. Sólo sobre plano, digamos. Es decir, no conozco muchos proyectos de microprocesadores libres, por que? por que no hay algo estilo linux que haga procesadores económicos y con técnicas modernas?
Mi pregunta es si VHDL resuelve todos los problemas que se plantean al construir un micro, es decir, si todo lo que pueda hacer con VHDL o algun lenguaje de estos se puede trasladar directamente a una oblea de silicio sin más problemas.
Bueno, quizá debería empezar preguntando para que sirve exactamente VHDL...
Saludos.
5  Programación / Ingeniería Inversa / VB.NET (.net 2.0) app con FAST Hardlock hlvdd.dll en: 21 Abril 2012, 18:32 pm
Hola, estaba intentando reversear este programa y lo he atacado por diversas partes y no se me ocurre que hacer
He probado:
- Debuguearlo en .NET, el caso es que Reflector no lo carga, dice que no es un assembly válido, en realidad es un ejecutable pero en el fondo es un .NET. No estoy muy ducho con estas cosas, es de la versión 2.0 del framework y pude cargar el programa en el Mdbg a pelo, ayudado por olly. Sin embargo no pude meterlo en calimero, ni ningún otro. No se a que se debe esto, es como si fuera un ejectuable que guarda un ensamblado .net dentro. Está claro que si pudiera extraerlo todo  sería mucho más fácil.

- Usa una mochila FAST hardlock de Aladdin, intento atacar por la dll de hlvdd.dll pero me parece muy osado por mi parte. He conseguido menos aún, ni siquiera logro que llame a HlLogin, sólo a Hlinit

- No encontré muchos tutoriales de crackeo bajo .net, algunos sí, pero ninguno cubre mi caso, es decir algo que está como encerrado dentro de un ejecutable.

- No puede ser muy moderna la protección pues el programa es del 2008.

¿Alguna orientación? Sobre todo me interesaría aprender a crackearlo por la parte de .NET, lo de las mochilas me interesa pero no tengo nivel ni la mochila propiamente para experimentar.

Gracias.
6  Programación / Programación C/C++ / Determinar si un fichero http ha sido actualizado en: 20 Enero 2012, 12:11 pm
Hola
Mi aplicación utiliza un fichero xml cuya última versión está en un server http, cada vez que es actualizado quiero descargármelo pero no siempre pues es voluminoso.
¿Saben de alguna forma para comprobar si un fichero en una web ha cambiado? ¿Se les ocurre alguna forma de hacerlo sin tener que descargarme el fichero ni implementar otro servicio/fichero en el server?
7  Programación / Ingeniería Inversa / ¿Alguien ha usado el TitanEngine? en: 7 Diciembre 2011, 18:13 pm
¿Es cosa mía o ha dado muy poco que hablar? Apenas hay referencias en google. ¿Tienen alguna opinión al respecto?
8  Seguridad Informática / Hacking Básico / Hackeando un juego online en: 3 Diciembre 2011, 23:16 pm
Tengo unas dudas de como suele ser el proceso de hack de un juego.
Si ya tengo saltada la protección...
¿Cuál debería ser el siguiente paso?
1 - ¿Indetectar el CheatEngine?
2 - ¿Cómo hago una gui dentro del juego para mi hack? ¿Hay alguna librería para este propósito? bien sea D3D o OGL
3 - ¿Y para snifear los paquetes, interceptarlos y modificarlos? ¿Hay algun sniffer o packet editor Open Source o que pueda ser metido en una dll para inyectarlo?
4 - ¿Cómo se puede o suele saber si alguno de los cálculos del juego es client side?
5 - ¿Se me escapa alguna cosa importante?
Creo que eso es todo, por el momento.
Gracias.
9  Programación / Ingeniería Inversa / Atachearse a un proceso hijo de manera automática en: 26 Julio 2011, 20:47 pm
Hay alguna manera rápida de atachear un olly a un proceso recién creado con CreateProcess?
Los pasos me los sé, ponemos las flags a CREATE_SUSPENDED en CreateProcess
Luego escribimos en el EP un jmp eip, Con VirtualAllocEx tal vez y con WriteProcessMemory, y si usamos VirtualAlloc pues otra vez
ThreadResume
Atacheamos
Recuperamos la instrucción y listo

Pero es algo tedioso de hacer a mano, ni siquiera lo he hecho porque no merece la pena, e intentado buscar un editor de procesos pero nada que sirva
Hay algun plugin o algo asi? los resultados en Google son negativos al respecto.
10  Programación / Programación General / Se buscan programadores que quieran aprender en: 6 Julio 2011, 20:15 pm
Hola, han llegado las vacaciones y me apetece hacer algo.
Había pensado en un sistema operativo, actualmente estoy empezando con otras 2 personas, pero tienen trabajo y no disponen del mismo tiempo que yo. Me canso de mirar la bandeja de entrada vacía sin respuesta a mis ideas jaja.
Busco alguien para poder avanzar, que pueda ser activo como yo y que hagamos así algo este verano, un proyecto que quizá pueda continuarse después.
Alguien que sepa programar, no que esté aprendiendo. Yo me manejo más o menos en muchos lenguajes pero las bases las sé bien. El SO que queríamos hacer sería un microkernel en asm puro, por el simple placer de aprender, por eso en asm, no busco nada práctico. En principio yo deseaba hacerlo en mi propio lenguaje, uno creado especialmente para el SO al igual que el C se hizo para el sistema Unix. Tengo en Java un lexer, parser e intérprete(muy básicos) de un lenguaje basado en pila al estilo Forth, también le he hecho aunque no está nada acabado un sistema de tipos y un typechecker e inferidor de tipos. Hacer un lenguaje también puede ser divertido y enriquecedor, como dicen en Osdev.wiki "lo siguiente más difícil a hacer un lenguaje es hacer un sistema operativo".
Para el sistema operativo, me gustaría hacerlo segmentado y paginado, y con pocos servicios corriendo en espacio privilegiado.
La idea es mantener una comunicación fluída y organizar encuentros, como sesiones de pair programming y debates.
Me vale cualquier lenguaje, no tengo problema en aprender ninguno, de hecho debatíamos si hacer el SO en Go, pero al final no pudo ser, yo tampoco deseaba mucho usarlo aunque lo hubiera propuesto.
Si alguien está interesado en esto mismo y tiene el tiempo y las ganas que se ponga en contacto conmigo. Y ya veremos lo que se hace.

Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines