[C con Clase] ¿Alguien sabe destripar librerías...?

Programante programante en gmail.com
Sab Ago 30 20:28:50 CEST 2008


xonly escribió:
> si se puede, me interesaría mucho hacerme programas que no dependan de ningún sistema operativo, sería un flipe encender el ordenador y por ejemplo que en un disquete o en un cd, aparezca algo que tu has hecho sin tener nada que ver con ningún windows, ni linux ni nada de nada... ¿dónde podría ir encontrando información?, sé que estoy demasiado verde y antes he de ir aprendiendo algo de C, pero ese sería mi segundo paso...
No hay mucha información, y es bastante complicado. Tienes que meterte 
con ensamblador, modo real, conseguir que arranque... Y al final puede 
que sea más lento porque no uses caché de disco o alguna cosa similar.


> me remito por ejemplo al propio debugger este, para empezar, pero ciertamente con tu comentario me ha recordado que al hacer la gente esta del programa ACD See en su versión 3.11 tenía una opción de copiar o mover y saltar si es idéntico, una opción que inexplicablemente ha desaparecido ( y por supuesto no viene por defecto) y que a pesar de protestar como usuario regsitrado, pues me vino una copia "legal" de una revista, resulta que no hacen más que meter más y más librerías e historias que no sirven para nada, y una simple chorrada tal cual "saltar si la imagen es la misma" no la usan, vamos para coger a los programadores y apalearlos todos los dias de su casa al curro y del curro a su casa...
Esa es la clase de situación donde está bien el software libre. Si 
quitaron esa característica y a ti te gustaba, podrías añadirla 
fácilmente, o tal vez descubrir que la quitaron porque sería complicado 
volver a ponerla, o hacer tu propia versión con ello porque no te 
importe O(n²) pero para ellos sea importante...

> no importa si está en inglés, si sabes donde puedo encontrar algo, o me dices qué buscar, yo lo intentaré, aunque tenga que tener el diccionario a mano. Si tienes también información para poder sacar "las cabeceras" de los ficheros jpg y mp3, o ya de paso los avi y mpg, en fin, no nada en concreto, sino si hay algún sitio que te expliquen las cabeceras de los ficheros, por si me quiero hacer un visor en binario y que luego yo interprete todo eso, aunque me temo que al igual que antes, por el tema de los copyright de turno, esto vendrá todo empaquetado, para que te cojas la libreria de turno y te lea el fichero...
>   
Calma, calma. Cada formato es un mundo, y por lo general tienes que ir 
buscándo cómo es cada uno.
Para jpeg puedes usar libjpeg. Pero luego para mostrarlo tienes que 
empezar a dar vueltas con SelectObject, y manipuladores de GDI.

> de momento lo del curso de c conclase, es en c++, la verdad es que todavía no he visto realmente una diferencia entre c y c++ (en lo que se refiere a meter código) de momento estoy demasiado verde, y no sé cuando pongo in include, si este está cogiendo una librería de c o del c++, supongo que para ir empezando da lo mismo, y más adelante cuando vaya cogiendo algo más de conociemiento iré avanzando... y me daré cuenta de que en realidad son muy diferentes... tal como cuentas, pero de momento, agradezco tu explicación, pero espero coger un poquito de vuestra sabiduría de aqui a unos añitos...
>   
Las de C acaban en .h
No necesitas std ni nada de namespaces
Si intentas compilar las de C++ como C fallan ;)

> P> El Portable Executable es el formato que usa windows para los 
> P> ejecutables de 32 bits. Me temo que -como siempre- la mejor 
> P> documentación está en inglés.
>
> no importa si está en inglés, si sabes donde puedo encontrar algo, o me dices qué buscar, yo lo intentaré, aunque tenga que tener el diccionario a mano. Si tienes también información para poder sacar "las cabeceras" de los ficheros jpg y mp3, o ya de paso los avi y mpg, en fin, no nada en concreto, sino si hay algún sitio que te expliquen las cabeceras de los ficheros, por si me quiero hacer un visor en binario y que luego yo interprete todo eso, aunque me temo que al igual que antes, por el tema de los copyright de turno, esto vendrá todo empaquetado, para que te cojas la libreria de turno y te lea el fichero...
>   
Si buscas 'Portable Executable' en google, obtienes bastantes resultados.
La especificación de Microsoft está en 
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
Tienes explicaciones en 
http://msdn.microsoft.com/en-us/magazine/cc301805.aspx y 
http://www.csn.ul.ie/~caolan/publink/winresdump/winresdump/doc/pefile.html





Más información sobre la lista de distribución Cconclase