Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Red face Convertir código "asm" a código Delphi

Hola que tal, quisiera que me ayuden a pasar un codigo de ASM, hacia delphi aca les dejare el codigo para que lo revisen porfavor espero su ayuda ESTE ES EL CODIGO DE ASM !
Código PHP:
.386 
.model flat,stdcall 
option casemap
:none 

      
include windows.inc
      
include masm32.inc
      
include gdi32.inc
      
include user32.inc
      
include kernel32.inc
      
include Comctl32.inc
      
include comdlg32.inc
      
include shell32.inc
      
include oleaut32.inc
      
include dialogs.inc
      includelib masm32
.lib
      includelib gdi32
.lib
      includelib user32
.lib
      includelib kernel32
.lib
      includelib Comctl32
.lib
      includelib comdlg32
.lib
      includelib shell32
.lib
      includelib oleaut32
.lib



Funcion  PROTO 
Thread  PROTO

.data

Entities db    
"entitiesmp.dll",
Engine   db 
"engine.dll",0

FieldInfo    db 
"?GetFieldInfo@CPlayer@@QBEPAVFieldInfo@@XZ",0  
FDX db 
"?GetPlayerEntityByIndex@CPlayer@@QAEPAVCEntity@@E@Z",
LocalPlayer    db 
"?GetPlayer@FieldInfo@@QAEPAVCEntity@@E@Z",
FlyFire db 
"?FlyFire@CEnemyFly@@QAEHABVCEntityEvent@@@Z",0   

             
             
             
.code     
.data?
ThrdID dd ?
instance dd ?

.
code
Punto_de_Inicio proc hInstance
:HINSTANCEreason:DWORDreserved1:DWORD

.if reason==DLL_PROCESS_ATTACH
invoke MessageBox
,0,addr MsgTexto,addr MsgTitulo,MB_OK+MB_ICONWARNING

invoke CreateThread
,NULL,NULL,ADDR Thread ,NULL,NULL,NULL    

invoke CloseHandle
,eax

.elseif reason==DLL_PROCESS_DETACH

.elseif reason==DLL_THREAD_ATTACH


.elseif reason== DLL_THREAD_DETACH

.endif

mov eax,TRUE
ret
Punto_de_Inicio Endp 
Thread proc
tecla
:
invoke Sleep15

invoke GetAsyncKeyState
VK_F1
test eax
eax
jz tecla
invoke Funcion 
;Fear

jmp tecla
ret

Thread endp
Funcion proc
LOCAL listo
:DWORD
LOCAL pot
:DWORD
LOCAL Revenge
:DWORD
LOCAL jojo
:DWORD
LOCAL Estructura
:DWORD

   invoke GetModuleHandle
addr Entities
    invoke GetProcAddress
eaxaddr FDX
    mov jojo
,ebx
    call eax
    mov Revenge
,eax
    mov Estructura
,ebx

    invoke GetModuleHandle
addr Entities
    invoke GetProcAddress
eaxaddr FieldInfo
    call eax
    mov jojo
,ebx
    mov listo
,eax
    

    invoke GetModuleHandle
addr Engine
    invoke GetProcAddress
eaxaddr LocalPlayer
    mov jojo
,ebx
    mov ecx
listo
    call eax
    mov listo
,eax
    mov Estructura
,ebx

    invoke GetModuleHandle
addr Entities
    invoke GetProcAddress
eaxaddr FlyFire
    mov jojo
,ebx
    mov pot
,eax
    
    mov ebx
Estructura
    mov ebx
jojo
    mov ecx
listo
    mov edi
listo
    mov esi
jojo
    mov eax
pot
    call eax
    
    ret
    

Funcion endp
End Punto_de_Inicio 

ESTE ES EL CODIGO QUE ME TRANSPASARON HACE POCO, PERO ESTA EN PROBLEMAS, LES DEJARE PARA QUE TOMEN COMO EJEMPLO PORFAVOR ! LO QUE PASA ES QUE EL CODIGO DELPHI QUE VOY A MOSTRAR.
Código PHP:
library Project2;

uses
  classes
,
  
Dialogs,
  
Forms,
  
Windows;
var
  
getLocalPlayer:AnsiString;
  
UseFearPotion:AnsiString;
  
Entitez:AnsiString;
  
RetornoCardinal;

procedure Reserved1();
   var
   
pot:procedure;
GetLP:procedure;
begin
    pot 
:= GetProcAddress(GetModuleHandleA(PAnsiChar(Entitez)), PAnsiChar(UseFearPotion));
    
GetLP := GetProcAddress(GetModuleHandleA(PAnsiChar(Entitez)), PAnsiChar(getLocalPlayer));

while(
true) do begin
    Sleep
(40);
    if (
GetAsyncKeyState(VK_F1) <> 0then begin;
        
asm
        call GetLP
        mov ecx
eax
        mov edi
eax
        call pot
      end
;
    
end;
  
end;
  
end;


procedure DllMain(reasonInteger);
begin
  
if reason DLL_PROCESS_ATTACH then begin
      showmessage
('DLL');
    
getLocalPlayer := '?GetLocalPlayer@CPlayer@@QAEPAV1@XZ';
    
UseFearPotion := '?UseFearType1@CPlayer@@QAEXXZ';
    
Entitez := 'entitiesmp.dll';

    
CreateThread(nil,0,Pointer(@Reserved1),nil,0,Retorno);

  
end;
end;

begin
 DllProc 
:= DllMain;
 
DllMain(DLL_PROCESS_ATTACH);
end
Espero que me ayuden ,MUCHAS GRACIAS !
  #2  
Antiguo 10-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje
...
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
No repitas hilos.
Ponlos en los foros adecuados, esto no es "Noticias" ni "Bibliotecas de código fuente". Ya lo he movido yo.
  #3  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Talking

Okey gracias
  #4  
Antiguo 10-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje
Okey gracias


A ver si alguien puede ayudarte, personalmente no he entendido bien el problema que tienes.
  #5  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Talking Algo simple !

SOLO YO QUIERO PASAR ESTE CODIGO DE ASM HACIA DELPHI
Código PHP:
.386  
.model flat,stdcall  
option casemap
:none  

      
include windows.inc 
      
include masm32.inc 
      
include gdi32.inc 
      
include user32.inc 
      
include kernel32.inc 
      
include Comctl32.inc 
      
include comdlg32.inc 
      
include shell32.inc 
      
include oleaut32.inc 
      
include dialogs.inc 
      includelib masm32
.lib 
      includelib gdi32
.lib 
      includelib user32
.lib 
      includelib kernel32
.lib 
      includelib Comctl32
.lib 
      includelib comdlg32
.lib 
      includelib shell32
.lib 
      includelib oleaut32
.lib 



Funcion  PROTO  
Thread  PROTO 

.data 

Entities db    
"entitiesmp.dll",0  
Engine   db 
"engine.dll",

FieldInfo    db 
"?GetFieldInfo@CPlayer@@QBEPAVFieldInfo@@XZ",0   
FDX db 
"?GetPlayerEntityByIndex@CPlayer@@QAEPAVCEntity@@E@Z",0  
LocalPlayer    db 
"?GetPlayer@FieldInfo@@QAEPAVCEntity@@E@Z",0  
FlyFire db 
"?FlyFire@CEnemyFly@@QAEHABVCEntityEvent@@@Z",0    

              
              
              
.code      
.data
ThrdID dd 
instance dd 

.
code 
Punto_de_Inicio proc hInstance
:HINSTANCEreason:DWORDreserved1:DWORD 

.if reason==DLL_PROCESS_ATTACH 
invoke MessageBox
,0,addr MsgTexto,addr MsgTitulo,MB_OK+MB_ICONWARNING 

invoke CreateThread
,NULL,NULL,ADDR Thread ,NULL,NULL,NULL     

invoke CloseHandle
,eax 

.elseif reason==DLL_PROCESS_DETACH 

.elseif reason==DLL_THREAD_ATTACH 


.elseif reason== DLL_THREAD_DETACH 

.endif 

mov eax,TRUE 
ret 
Punto_de_Inicio Endp  
Thread proc 
tecla

invoke Sleep15 

invoke GetAsyncKeyState
VK_F1 
test eax
eax 
jz tecla 
invoke Funcion 
;Fear 

jmp tecla 
ret 

Thread endp 
Funcion proc 
LOCAL listo
:DWORD 
LOCAL pot
:DWORD 
LOCAL Revenge
:DWORD 
LOCAL jojo
:DWORD 
LOCAL Estructura
:DWORD 

   invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FDX 
    mov jojo
,ebx 
    call eax 
    mov Revenge
,eax 
    mov Estructura
,ebx 

    invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FieldInfo 
    call eax 
    mov jojo
,ebx 
    mov listo
,eax 
     

    invoke GetModuleHandle
addr Engine 
    invoke GetProcAddress
eaxaddr LocalPlayer 
    mov jojo
,ebx 
    mov ecx
listo 
    call eax 
    mov listo
,eax 
    mov Estructura
,ebx 

    invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FlyFire 
    mov jojo
,ebx 
    mov pot
,eax 
     
    mov ebx
Estructura 
    mov ebx
jojo 
    mov ecx
listo 
    mov edi
listo 
    mov esi
jojo 
    mov eax
pot 
    call eax 
     
    ret 
     

Funcion endp 
End Punto_de_Inicio 
  #6  
Antiguo 10-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Veo que no has leido nuestra guía de estilo
  #7  
Antiguo 10-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.927
Poder: 26
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Si como sospecho estas tratando hackear un exe, no vas a avanzar mucho si no entiendes assembler
__________________
El malabarista.
  #8  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Si lose soy novato, y no es .EXE
ES un juego "Rakion.bin" Te agradeceria si me recomendarias paginas en donde mejorar mi conocimiento en Delphi
Solo quiero que me transpasen el codigo nada mas, gracias !
  #9  
Antiguo 10-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje
Te agradeceria si me recomendarias paginas en donde mejorar mi conocimiento en Delphi
www.clubdelphi.com
Cita:
Empezado por Stringxpx Ver Mensaje
Solo quiero que me transpasen el codigo nada mas, gracias !
Y yo que me digan los números del próximo sorteo de lotería, nada más
  #10  
Antiguo 10-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.927
Poder: 26
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje

Solo quiero que me transpasen el codigo nada mas, gracias !
Eso es trabajo que es tu responsabilidad. Es muy dificil ayudarte porque no has hecho una pregunta concreta. Lee la guia de estilo.
__________________
El malabarista.
  #11  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Red face Convertir codigo de asm a codigo delphi !!!!

HOLA MIRA SERE ALGO RAPIDO !
QUIERO QUE ME AYUDEN A , CONVERTIR ESTE CODIGO DE ASM A UN CODIGO DELPHI !
Código PHP:
.386  
.model flat,stdcall  
option casemap
:none  

      
include windows.inc 
      
include masm32.inc 
      
include gdi32.inc 
      
include user32.inc 
      
include kernel32.inc 
      
include Comctl32.inc 
      
include comdlg32.inc 
      
include shell32.inc 
      
include oleaut32.inc 
      
include dialogs.inc 
      includelib masm32
.lib 
      includelib gdi32
.lib 
      includelib user32
.lib 
      includelib kernel32
.lib 
      includelib Comctl32
.lib 
      includelib comdlg32
.lib 
      includelib shell32
.lib 
      includelib oleaut32
.lib 



Funcion  PROTO  
Thread  PROTO 

.data 

Entities db    
"entitiesmp.dll",0  
Engine   db 
"engine.dll",

FieldInfo    db 
"?GetFieldInfo@CPlayer@@QBEPAVFieldInfo@@XZ",0   
FDX db 
"?GetPlayerEntityByIndex@CPlayer@@QAEPAVCEntity@@E@Z",0  
LocalPlayer    db 
"?GetPlayer@FieldInfo@@QAEPAVCEntity@@E@Z",0  
FlyFire db 
"?FlyFire@CEnemyFly@@QAEHABVCEntityEvent@@@Z",0    

              
              
              
.code      
.data
ThrdID dd 
instance dd 

.
code 
Punto_de_Inicio proc hInstance
:HINSTANCEreason:DWORDreserved1:DWORD 

.if reason==DLL_PROCESS_ATTACH 
invoke MessageBox
,0,addr MsgTexto,addr MsgTitulo,MB_OK+MB_ICONWARNING 

invoke CreateThread
,NULL,NULL,ADDR Thread ,NULL,NULL,NULL     

invoke CloseHandle
,eax 

.elseif reason==DLL_PROCESS_DETACH 

.elseif reason==DLL_THREAD_ATTACH 


.elseif reason== DLL_THREAD_DETACH 

.endif 

mov eax,TRUE 
ret 
Punto_de_Inicio Endp  
Thread proc 
tecla

invoke Sleep15 

invoke GetAsyncKeyState
VK_F1 
test eax
eax 
jz tecla 
invoke Funcion 
;Fear 

jmp tecla 
ret 

Thread endp 
Funcion proc 
LOCAL listo
:DWORD 
LOCAL pot
:DWORD 
LOCAL Revenge
:DWORD 
LOCAL jojo
:DWORD 
LOCAL Estructura
:DWORD 

   invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FDX 
    mov jojo
,ebx 
    call eax 
    mov Revenge
,eax 
    mov Estructura
,ebx 

    invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FieldInfo 
    call eax 
    mov jojo
,ebx 
    mov listo
,eax 
     

    invoke GetModuleHandle
addr Engine 
    invoke GetProcAddress
eaxaddr LocalPlayer 
    mov jojo
,ebx 
    mov ecx
listo 
    call eax 
    mov listo
,eax 
    mov Estructura
,ebx 

    invoke GetModuleHandle
addr Entities 
    invoke GetProcAddress
eaxaddr FlyFire 
    mov jojo
,ebx 
    mov pot
,eax 
     
    mov ebx
Estructura 
    mov ebx
jojo 
    mov ecx
listo 
    mov edi
listo 
    mov esi
jojo 
    mov eax
pot 
    call eax 
     
    ret 
     

Funcion endp 
End Punto_de_Inicio 
GRACIAS.
  #12  
Antiguo 10-08-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Hola este tema ya lo has publicado antes
Viendo a simple vista el codigo parace funcionar similar como cuando se intenta inyectar una DLL dentro de un proceso, lo recomendable seria que le dieras una estudiada al lenguaje ensamblador.

Saludos..
  #13  
Antiguo 10-08-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
Traducción: "Sólo quiero que me hagan este hack para el juego Rakion"

Ya ni disimulan... extraño a los pseudo hackers/lamers de antes. Al menos lo hacían aparentar que estaban estudiando como proteger sus propios sistemas.
Los de ahora ni eso. No saben poner un punto y coma y pretender hacer inyección de dll.

¿Cuanto más hace falta para cerrar el hilo?
__________________
Delphius
[Guia de estilo][Buscar]
  #14  
Antiguo 10-08-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.609
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
No lo cerremos. ¡Mejor hagamos fiesta!

Cuando tenía unos 20 años, "jaquié" Prince of Persia sustituyendo bytes a lo bruto con un editor hexadecimal. Sin saber cómo conseguí que el príncipe atravesara las rejas sin necesidad de abrirlas.

En aquel entonces, mi conocimiento de ensamblador se limitaba a 2 instrucciones (ahora conozco unas ocho).
  #15  
Antiguo 10-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje
...
Si vuelves a publicar un mensaje incumpliendo las normas de los foros, serás baneado, son las reglas.
  #16  
Antiguo 10-08-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
Hey Casi... ¿Qué dijo? ahora Ya me pica la curiosidad. Como dijo Al, ¡hagamos fiesta! Poné lo que dijo para ver si lo "atiendo" al muchachito este.
No me llegó notificación por correo de una respuesta de su parte.

Saludos
__________________
Delphius
[Guia de estilo][Buscar]
  #17  
Antiguo 10-08-2016
Stringxpx Stringxpx is offline
Baneado
NULL
 
Registrado: ago 2016
Posts: 6
Poder: 0
Stringxpx Va por buen camino
Talking All

Por que se molestan ?
1. NO SOY LAMMER
2. ESE CODIGO ES ESTRUCTURADO POR MI
3. EL CODIGO ES MIO XD !
SOLO LO QUIERO PASAR A UN CODIGO DELPHI !
.... no tengo conocimientos en delphi , por eso digo.
  #18  
Antiguo 10-08-2016
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 26
Delphius Va camino a la fama
Talking

Parece que alguien no entiende que significa "atender a alguien en los foros"

¡Sigue insistiendo!
__________________
Delphius
[Guia de estilo][Buscar]
  #19  
Antiguo 11-08-2016
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.003
Poder: 26
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Stringxpx Ver Mensaje

3. EL CODIGO ES MIO XD !
Pues haber empezado por ahí. Explica qué es lo que hace el código (para los que no tenemos ese juego) y tal vez podamos guiarte (que no traducirte).
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
  #20  
Antiguo 11-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cerré el hilo porque no ha leído la guía de estilo, o la ha leído, pero ha seguido pasando totalmente de lo que le hemos aconsejado.
Tema Cerrado



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Convertir código "asm" a código Delphi dec ASM y Microcontroladores 4 09-12-2016 22:09:58
[Favor] "Traducir" archivos dfm de programa código abierto Ñuño Martínez La Taberna 7 23-04-2010 14:20:09
Cambiar por código la opción "uso compartido de carpetas" en opciones de carpeta JuanErasmo API de Windows 1 09-11-2006 16:47:08
Investigadores quieren llevar el "código libre" a la ciencia Sasuke_Cub Noticias 0 02-09-2005 01:20:33


La franja horaria es GMT +2. Ahora son las 00:50:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi