• Viernes 8 de Noviembre de 2024, 16:53

Autor Tema:  Consulta, Como Compilar Este Codigo Asm!  (Leído 3013 veces)

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Consulta, Como Compilar Este Codigo Asm!
« en: Martes 28 de Noviembre de 2006, 22:39 »
0
Hola a todos, este es mi primer mensaje en el foro y quisiera consultar como compilar el siguiente codigo de ASM.
 Vale destacar que estoy Utilizando el Easy Code junto a W32ASM, he compilado varias Dll, asi como distintos programas, pero me han surgido varios problemas con el siguiente codigo y aun no puedo solucionarlo para poder compilar la DLL.

Código: Text
  1.  
  2.  :rolleyes: Por seguridad el codigo sera removido!
  3.  
  4.  

 Cualquier ayuda sera mas que bien recibida amigos.

Por si acaso el error que que surge al compilar es el siguiente :

Cita de: "Error Producido al Compilar"
============== Proyecto1 - Debug ==============

 Compiling resources...
 Assembling: Module1
Module1.asm(40) : error A2108: use of register assumed to ERROR
Module1.asm(45) : error A2108: use of register assumed to ERROR
Module1.asm(49) : error A2108: use of register assumed to ERROR
Module1.asm(69) : error A2108: use of register assumed to ERROR
Module1.asm(81) : error A2108: use of register assumed to ERROR
Module1.asm(93) : error A2108: use of register assumed to ERROR
Module1.asm(96) : error A2108: use of register assumed to ERROR
Module1.asm(100) : error A2108: use of register assumed to ERROR
Module1.asm(106) : error A2108: use of register assumed to ERROR
Module1.asm(110) : error A2108: use of register assumed to ERROR
Module1.asm(124) : error A2108: use of register assumed to ERROR
Module1.asm(140) : error A2108: use of register assumed to ERROR
Module1.asm(155) : error A2108: use of register assumed to ERROR
Module1.asm(196) : error A2108: use of register assumed to ERROR
Module1.asm(203) : error A2008: syntax error : PieceHornMix
Module1(124) : fatal error A1010: unmatched block nesting : PieceHornMix

Se han producido errores.

 Desde ya muy agradecido y en espera de una pronta respuesta.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #1 en: Martes 28 de Noviembre de 2006, 23:14 »
0
Ese codigo asi tal como esta no va ni para atras ni para adelante. Seguramente tenes librerias (.inc, .lib) para declarar y enlazar la funcion ChaosMixLog y las variables MixPrize y CSplinterArmour.

Yo use un par de trucos para hacerlo ensamblar (no lo enlace, no vale la pena el esfuerzo):

Primero y principal empezamos con:
Código: Text
  1.  
  2. .386
  3. .model flat, stdcall
  4.  
  5.  

Esto es para suplir esos archivos (no sirve mas que para lograr ensamblar):

Código: Text
  1.  
  2. ChaosMixLog PROTO STDCALL
  3. MixPrize equ 50 &#59;valor al azar
  4. .data
  5.   CSplinterArmour dd 0
  6.  
  7.  

Y poner .code antes de PieceHornMix Proc hace que desaparezcan los errores ya que  desde ese momento asume que estamos en una seccion de codigo y no de datos.

A eso le falta el DllMain tambien ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #2 en: Miércoles 29 de Noviembre de 2006, 00:26 »
0
Hola Eternal Idol, muchas gracias por la ayuda intentare ver como solucionarlo, ya que es un source que me facilito un amigo el cual no logro contactar desde hace ya mucho tiempo y necesito hacer funcionar eso. Honestamente estoy iniciandome en el campo ASM y honestamente aun estoy tratando de conocer el lenguaje.
  Gracias por la ayuda e intentare ensamblarlo con los datos que me diste y seguir probando para hacerlo funcionar.

Muchisimas Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #3 en: Miércoles 29 de Noviembre de 2006, 08:06 »
0
De nada, poniendo lo que te dije podes ensamblarlo con MASM perfectamente pero para que te sea util necesitas otros archivos ... busca el codigo en Google ... esto es una DLL para un juego sino me equivoco ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #4 en: Miércoles 29 de Noviembre de 2006, 15:19 »
0
Cita de: "Eternal Idol"
De nada, poniendo lo que te dije podes ensamblarlo con MASM perfectamente pero para que te sea util necesitas otros archivos ... busca el codigo en Google ... esto es una DLL para un juego sino me equivoco ...
Eternal Idol, te agradesco nuevamente la respuesta.

 Con respecto a buscar el codigo restante por Google es imposible :( ya que si bien es una DLL de un Juego " " esta diseñada para servidores del game y fue echa por una persona que siempre saco releases del juego, pero solo como desarrollador aficionado del juego, agregandole una funcionalidad que supongo no viene al caso. Ese Codigo me fue pasado por un amigo y publicado en un foro de games, esta persona que me lo facilito en su momento, no logro contactatrla, y ese codigo tal como lo publique al Principio del Post, es todo lo que se publico y todo lo que se me paso, por ende no hay mas codigo que ese  :(
 Por eso es que comence a recurrir a este foro para intentar conocer sobre el lenguaje y poder poner en funcionamiento esta DLL. Aunque se que no sera facil, y que no me llevara dos dias. Pero con la ayuda que me estas brindando te aseguro que por tonto que paresca entendi unas algunas cosas mas del codigo  :smartass:

 Espero no estar molestando por demas, pero quisiera hacerte una pregunta mas de ser posible. ( Espero comprendan que recien me inicio en esto, y tengo mas dudas que certezas)

 Bueno hasta el momento lo que hise fue lo siguiente, modifique mi codigo agregando las lineas que me indicaste, quedando este de la siguiente manera :

Código: Text
  1.  
  2. Borrado por Seguridad !
  3.  

 Bueno asi es como me quedo (Le agregue el End al final que no lo tenia).

Luego lo que hise fue generar el arcivo .OBJ de la siguiente manera.

Código: Text
  1. ML.EXE /c /Cp /coff MyDll.asm
  2.  

Y con eso genere el Archivo --> MyDll.obj Sin ningun problema  :lol:
 
 Una ves que tube el MyDll.Obj lo que hise fue crear con el Notepad un Archivo llamado Mydefile.DEF con el siguiente contenido

Código: Text
  1.  
  2. LIBRARY MyDLL
  3. EXPORTS Loaded
  4.  
  5.  

 Y luego realize la siguiente accion:

Código: Text
  1. LINK.EXE /SUBSYSTEM:WINDOWS /DLL /DEF:Mydefile.def /LIBPATH: MyDLL.obj
  2.  

 Eh ahi donde me genera el siguiente mensaje :

Código: Text
  1. LINK : fatal error LNK1146: no argument specified with option "/LIBPATH:"
  2.  

  bueno desde ya nuevamente muchas gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #5 en: Miércoles 29 de Noviembre de 2006, 15:28 »
0
Para empezar no es una DLL completa, no tiene DllMain asi que probablemente sea un agregado para un esqueleto ya existente. Ese esqueleto puede ser, seguramente lo sera, codigo o incluso una libreria estatica o codigo objeto (.obj).

No tiene sentido enlazar la DLL en este momento y no lo podras hacer ya que te falta la funcion ChaosMixLog, eso esta en algun lugar de los que digo arriba, incluso puede que este en el servidor que nombras (.exe) o en alguna DLL del mismo, tendrias que investigar otras DLLs de ese servidor para ver como funciona.

El error que ves en el enlazador es por el espacio que dejas entre los : y el mydll.obj, cuando lo pongas sin espacio veras que no es capaz de resolver ni ChaosMixLog ni DllMainCRTStartup.

PD. Tanto MixPrize como CSplinterArmour son externas, solo sirve para ensamblarlas pero la DLL final no tiene que darles valor.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #6 en: Miércoles 29 de Noviembre de 2006, 15:43 »
0
Estuve mirando un poco mas (ayer solo saque los errores del ensamblador) y no pienso perder mi tiempo en esto. Es una especie de "utilidad" de dudosa legalidad (eso en realidad me da igual) que esta "hardcodeada" (todas las funciones que imagino seran del servidor estan puestas a mano con lo cual cualquier diferente version que salga puede que no coincida para nada). Puede que esa funcion que falta tambien tenga que ser encontrada asi ... me da lo mismo. ¿Para que queres esa DLL?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #7 en: Miércoles 29 de Noviembre de 2006, 15:53 »
0
Cita de: "Eternal Idol"
Estuve mirando un poco mas (ayer solo saque los errores del ensamblador) y no pienso perder mi tiempo en esto. Es una especie de "utilidad" de dudosa legalidad (eso en realidad me da igual) que esta "hardcodeada" (todas las funciones que imagino seran del servidor estan puestas a mano con lo cual cualquier diferente version que salga puede que no coincida para nada). Puede que esa funcion que falta tambien tenga que ser encontrada asi ... me da lo mismo. ¿Para que queres esa DLL?
 Bueno antes que nada muchas gracias por tu tiempo y respuestas.

 Respondiendo a tu pregunta de para que quiero esa DLL, yo tengo un servidor de el juego en cuestion, y añadirle este codigo seria de gran utilidad ya que es una excelente mejora, tras lo que me dijiste revisara en las DLL y .exe del Servidor, estube haciendolo y tras haberlo unpackeado, pude encontrar ChaosMixLog asi como el resto, por lo cual intentare introducir la informacion dentro de otra DLL y realizar un hook al .exe a ver que pasa.

 Muchas Gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #8 en: Miércoles 29 de Noviembre de 2006, 15:57 »
0
De nada y si estan ahi las funciones y variables a lo sumo tendras que poner sus direcciones a mano como esta hecho con lo demas. Solo me queda la duda de como ves las funciones/variables (a menos que esten exportadas por el exe claro).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #9 en: Miércoles 29 de Noviembre de 2006, 16:11 »
0
Cita de: "Eternal Idol"
De nada y si estan ahi las funciones y variables a lo sumo tendras que poner sus direcciones a mano como esta hecho con lo demas. Solo me queda la duda de como ves las funciones/variables (a menos que esten exportadas por el exe claro).
Hola, las funciones son exportadas por el exe " " con esto me refiero a que son lineas que fueron agregadas a la aplicacion y que hasta el momento son configurables los porcentajes por medio de .ini que definen la configuracion con la que cargara el servidor, esta dll lo que realiza es un cambio de una de las formulas excistentes.

 Voy a intentar ser mas claro, el juego tiene una opcion para los players que es la creacion de Mix, mezclan en una maquina del juego distintos items y cosas y como resultado final obtienen un Item especial, por asi decirlo, Si se introduciera la Informacion del codigo que publique aqui dentro del GS mediante una Dll o inyectando los nuevos datos dentro del Servidor se lograria quitar el Mix actual por uno nuevo y mucho mas complejo.

PD: Las funciones y variables del Servidor podes verlas esudiando la aplicacion con OllyDBG, asi como realizar el Hook de la DLL o cambio de funciones, claro que hacerlo no es tan sencillo como decirlo.

 bueno supongo que ya te moleste bastante con este tema, te agradesco muchisimo la ayuda, seguire intentando :)

Saludos.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #10 en: Miércoles 29 de Noviembre de 2006, 16:16 »
0
De nada; en cuanto a depuradores yo uso el WinDbg ya que me permite trabajar tanto en modo Usuario como en modo Kernel. Me parece que ustedes no hacen "hooks" propiamente dichos, los hooks implican modificacion del codigo en tiempo de ejecucion entre otras cosas, sino que hacen una bifurcacion del codigo en el propio ejecutable.

Los hooks se usan para modificar el comportamiento de algun modulo, generalmente los del S.O. como puede ser por ejemplo NtCreateProcess. Entonces lo que se hace es modificar los bytes del comienzo de esta funcion para que salte a tu codigo, procesar la llamada (retornando error para ciertos procesos por ejemplo) y despues ejecutar "a mano" las instrucciones que se tuvieron que sobreescribir y continuar con las siguientes mediante un salto al codigo original + X bytes de instrucciones reemplazadas.

Suerte con eso y no deberias tener ningun problema  :smartass:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

CodeSixtheen

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Consulta, Como Compilar Este Codigo Asm!
« Respuesta #11 en: Miércoles 29 de Noviembre de 2006, 16:59 »
0
Nuevamente muchas Gracias Eternal Idol, Espero sea como me decis y no tenga ningun problema  :P   Pero bueno ya estoy trabajando con ello, y hasta el momento van bien las cosas, te agradesco mucho que te hallas tomado el tiempo para contestarme y darme una mano con eso.

 Saludos  :hola: