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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12
21  Programación / Programación General / Compilacion de codigo en C a un binario puro. en: 1 Noviembre 2021, 17:44 pm
Hola,

Queria saber si alguien sabe como (mas bien enlazar) codigo de C a un binario puro, me explico:

Código
  1. int main()
  2. {
  3.    int x;
  4.    x=0;
  5. }
  6.  

Watcom C puede producir un .COM del viejo MS-DOS a partir de este codigo y lo compila a algo asi:

Código
  1.  
  2. org 100h
  3.  
  4. mov bp, sp
  5. sub sp, 4
  6.  
  7. mov ax, 0
  8. mov [sp], ax
  9.  
  10.  

Hasta aqui todo bien.

Tengo dos problemas:

El codigo que genera Watcom C es precisamente para correr en MS-DOS y me estoy jalando los cabellos modificandolo para que termine en un binario puro, entre referencias al segmento de datos y etcetera...

Mi pregunta concreta es:

Imaginese que tengo el codigo anteriormente mencionado en C, y su respectivo archivo .OBJ

¿Como enlazo este .OBJ de forma tal que pueda especificar el ORGigen del programa (obviamente diferente a 100h) a, por ejemplo, 7c00h en el caso de un bootstrap? O lo que sea...

¿Como hago esto?

Gracias por adelantado.



[EDIT]

Lo que he descubierto hasta ahora es que puedo utilizar el comando ld.exe que viene con GCC para esto:

Citar
ld --oformat binary

La cuestion es que no se como.  :xD

No se como especificar ni relocalizaciones ni nada.



[EDIT 2]

Tambien se que las opciones respecto a relocalizaciones para ld.exe son:

Citar
-q, --emit-relocs           Generate relocations in final output
  -r, -i, --relocatable       Generate relocatable output
  --embedded-relocs           Generate embedded relocs
  --split-by-reloc [=COUNT]   Split output sections every COUNT relocs
  --base_file <basefile>             Generate a base file for relocatable DLLs
  --enable-runtime-pseudo-reloc      Work around auto-import limitations by
                                       adding pseudo-relocations resolved at
  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations for
  --dynamicbase                  Image base address may be relocated using
  --base_file <basefile>             Generate a base file for relocatable DLLs
  --enable-runtime-pseudo-reloc      Work around auto-import limitations by
                                       adding pseudo-relocations resolved at
  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations for
  --dynamicbase                  Image base address may be relocated using

Sincera y apenadamente no se cual usar.



Despues de un millon de años lo logre:

Primer paso: Compilar el codigo a codigo objeto
Segundo paso: Convertir el codigo objeto a codigo ensamblador
Tercer paso: Hacer las modificaciones respectivas al ensamblador resultante
Cuarto paso: Ensamblar
Quinto paso: Enjoy
22  Programación / Programación General / ¿Son las funciones inline, inline todo el tiempo? en: 1 Noviembre 2021, 16:58 pm
Hola,

Estoy programando un bootloader pequeño... Me estoy ayudando de un pequeño compilador de C para esto ya que el ensamblador se me termino haciendo engorroso no, lo siguiente...

La cuestion es que como una solucion a un problema X que tuve, que no comento para no hacer la pregunta mas larga, se me ocurrio utilizar funciones inline. Funciona bien, el problema es que como sabran no tengo muchas posibilidades de depuracion programando a tan bajo nivel, entonces me estoy asegurando de hacer las cosas bien.

Cuando estudie las funciones inline me quede con una duda y no profundize porque nunca pense que las fuese a utilizar, la duda es: Cuando defines una funcion como inline, ¿Es siempre inline? ¿No hay NINGUN caso en el que el compilador se la piensa y hace otra cosa por "Optimizar" o algo asi?

Necesito que las funciones sean inline absolutamente todo el tiempo y que eso no dependa del tiempo de compilacion. ¿Existen estas optimizaciones o segundas opciones?

Espero haberme expresado claramente... Despues de ver tanto numero siento que no puedo escribir sin confundirme.

Saludos y gracias...



[EDIT]

Ya vi que cuando se pasan parametros a la funcion ignora el inline. En fin. Que basura
23  Seguridad Informática / Análisis y Diseño de Malware / Enlazar dos ejecutables. en: 31 Octubre 2021, 13:28 pm
Hola,

Hay muchos sitios en Internet, especialmente en los foros de la MSDN y Stack Overflow, en donce se dice que esto "No es posible".

Esto es parcialmente cierto, porque yo lo hice, con dos Hello World haciendo merge a las secciones de codigo y datos y modificando las referencias a funciones y datos. Ahora, se que es muy poco practico hacer esto con un PE grande, estarias meses calculando referencias... Pero recuerdo que hace años en la biblioteca de underc0de habia un programa binder que lograba hacer esto. Recuerdo que lo hice con dos EXEs complejos y efectivamente se abrieron dos programas al ejecutar el programa resultante. Para ser honesto, no tengo idea de como este programa logro empaquetarlos a los dos de esa manera...

Ya no tengo el programa.

Vengo a preguntar si alguien tiene idea de como lo hizo.

Gracias.
24  Foros Generales / Foro Libre / Anuncian "Gran apagon" en: 26 Octubre 2021, 20:29 pm
Hola,

No he investigado mucho al respecto y me gustaria saber la opinion de los miembros del foro.
Llevan ya rato anunciando de un supuesto apagon a nivel mundial...

¿A que exactamente se debe esto? ¿Sobrecarga, supersticion...?

Buenas noches.



A nivel europeo* perdon.
25  Programación / Programación General / Windows reduce velocidad de ejecucion. en: 20 Octubre 2021, 11:01 am
 Hola,

Me he dado cuenta de que cuando un programa tarda mucho en un ciclo (haciendo algo util o no) Windows reduce la velocidad de ejecucion del programa (imagino que para evitar denegaciones del servicio). Quisiera saber como hacer excepciones de esto para algunos programas ya que se esta tardando literalmente cuarenta y un minutos en cargar veinte megabytes de un archivo  :huh: lo cual me parece descomunalmente demasiado. Me da igual que se realentice el sistema.

Gracias, un saludo.
26  Foros Generales / Dudas Generales / $MFT y NTFS en: 3 Octubre 2021, 15:23 pm
Hola.

He googleado mucho esta tabla y no encuentro mas que definiciones. Que si, es una tabla que describe cada archivo del volumen... Que si, incluso la propia $MTF es un archivo segun la filosofia taoista de NTFS, pero ¿Alguien tiene una respuesta mas tecnica? Concretamente:

¿Que hay en una MTF?

¿Por que un simbolo de dolar?  :huh: :huh: :huh: :huh: :huh: :huh: :huh: Esta es la pregunta menos importante y la duda que mas me revienta, jajaja...

¿Como puedo llegar al contenido del archivo a partir de su MTF si es que no esta residente?

¿Que son los "Atributos" y por que los pintan como algo tan dinamico?

Gracias... No estoy menos que confundido.
27  Foros Generales / Dudas Generales / ¿Por que 80h es la primera unidad en Windows? en: 1 Octubre 2021, 15:44 pm
Hola,

Analizando el bootloader primario de Windows NT 4.0 vi que la primera unidad se representa con el numero 80h (128) y no con el 1. ¿A que se debe esto?

Gracias
28  Programación / Ingeniería Inversa / Inconveniente con el debugger de VirtualBox en: 30 Septiembre 2021, 12:39 pm
Hola,

Estoy feliz de haber descubierto el Debugger de VirtualBox. Funciona de maravilla. Sin embargo tengo un problema con el: Cuando inicia la maquina virtual, inicia en modo protegido (de 32 bits). Es decir, no comienza a depurar desde el arranque de la maquina (lo que deberia ser 0000:7c00) en modo real. ¿Esto a que se debe y como podria solucionarlo?

Gracias



debugger***  ;D ;D ;D
29  Foros Generales / Dudas Generales / Depurar el proceso de booteo en: 29 Septiembre 2021, 18:05 pm
Hola,

No se si haya una forma de hacerlo con VirtualBox, o en general tienes que arreglartelas a prueba y error cuando escribes un bootloader, pero me gustaria saber si alguien tiene idea de como depurar el arranque del ordenador.

Sin conectar la ejecucion a puertos seriales, redes LAN o cosas "Innecesariamente" costosas. Hablo de emular el arranque nada mas. Es imposible que especificamente esto no se pueda hacer. Asi como un depurador del "Hola, mundo" pero de bajo nivel... No puede ser mucho pedir...

Muchas gracias y un saludo



Como el emu8086 pero de 32 bits
He intentado Bochs mil veces y sinceramente me da mas errores que ganas de vivir


Citar
Oracle VM VirtualBox includes a built-in VM debugger, which advanced users may find useful. This debugger enables you to examine and, to some extent, control the VM state.
https://www.virtualbox.org/manual/ch12.html

ALELUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA


Si alguien sabe igualmente de un emulador, le ruego me lo diga. Gracias
30  Foros Generales / Dudas Generales / Bochs, como VirtualBox pero mas cool. en: 29 Septiembre 2021, 12:48 pm
Hola,

Acabo de descubrir Bochs. Era justamente lo que estaba buscando: Una maquina virtual con depurador incluido para poder hacer pruebas con controladores sin usar el WinDbg que me parece innecesariamente costoso (tienes que adjuntar una maquina a la otra cuando puedes simplemente emular).

La cuestion es, ahora que lo tengo no se usarlo y en la documentacion no encuentro precisamente lo que estoy buscando.

Lo estoy corriendo en Windows.

Me gustaria saber si alguien sabe usarlo o si me podrian pasar algun manual...

Muchas gracias de antemano.
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines