Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   encriptacion simple "xor" (https://www.clubdelphi.com/foros/showthread.php?t=64210)

GunMiNiHo 22-03-2009 07:31:28

encriptacion simple "xor"
 
hmmm bueno tengo una pekeña duda xP! tengo un source bien parecida a esta ^^:

Código Delphi [-]
procedure Main;
begin
while true do
begin
if GetAsyncKeyState(vk_f8)<>0 then
begin
//////////////////////////SuperTubi/////////////////////////////////////////////
//NOPing addy
VirtualProtect(pointer(SuperTubiAss), 4, PAGE_EXECUTE_READWRITE, nil); // buscar el pointer de supertubi
PByte(FirstByteST)^:=$90;
//sleep(100);
PByte(SecondByteST)^:=$90;
//mesage box//
sleep(100);
MessageBox(0, 'hack enabled ^.^!', 'GunMiNiHo Productions', MB_OK);
MessageBox(0, 'Supertubi enabled', 'GunMiNiHo Productions', MB_OK);
end;

OK pero tengo un problema con este pekeño cheat, es detectado por el sistema de proteccion asi q consultando x alli llegue ala respuesta d q se puede solucionar con una encriptacion simple con un " XOR ". estuve estudiando y hmm esto es lo q tengo que acer:

declaraciones.
usar VirtualProctec
encriptar los bytes

para usarlo:
antes d llamar a virtualproctec, acer los xor para desencriptar
llamar ala funcion
volver a encriptar


hmm bueno eso es lo q llegue a razonar aora xP! un poco d ayuda no me caeria mal xP!

los bytes originales de la address q estoy modificando es: 75 36, tengo que darle un 90 90 ( NOP en ASM )

Ñuño Martínez 23-03-2009 16:06:30

Estoy tan intrigado que no puedo callármelo:

¿Soy el único que no tiene ni pajolera idea de lo que está hablando este tipo? :confused:

GunMiNiHo 23-03-2009 16:29:22

jajajajaja xD!!!! dime q parte no entiendes :rolleyes:

bueno en si me pregunta seria como encriptar lso bytes usando un simple XOR? si es q existe ese comando el delphi :S porq es d ASM

roman 23-03-2009 16:50:57

Yo tampoco tengo idea de qué habla ni creo llegar a tenerla, pero sólo para informarle: sí, claro que existe un operador xor en delphi, sólo hacía falta pulsar F1. Y sí lo que quiere es assembler, también se puede:

Código Delphi [-]
procedure Pajolera;
asm

  Aquí el código ensamblador

end;

// Saludos

GunMiNiHo 23-03-2009 16:57:46

hmmm y como usas ese xor?? :'( un ejemplito no me caeria mal :'( unos con bytes(en hexadecimal xP como 0F o 75) ^^

por ejemplo en assembler es algo asi:

1111 XOR 1110101 :

0001111 =0F
1110101 =75
---------
1111010 = 7a ----> alli esta el primer paso aora para volver a convertirlo seria:

1111010 = 7A
1110101 = 75
--------
00001111 = 0F

a eso me refiero con encriptacion :rolleyes:

roman 23-03-2009 17:08:45

Pues se usa exactamente igual:

Código Delphi [-]
var
  A, B, C: Integer;

begin
  A := $0F;
  B := $75;
  C := A xor B; // C es ahora $7A
  C := C xor B; // C es ahora $0F
end;

// Saludos

GunMiNiHo 23-03-2009 17:13:55

^^^^^^^^^^ ty ^^ haber q pasa :P

Al González 25-03-2009 05:11:00

Código Delphi [-]
procedure       _CopyObject{ dest, source: Pointer; vmtPtrOffs: Longint; typeInfo: Pointer };
asm
        { ->    EAX pointer to dest             }
        {       EDX pointer to source           }
        {       ECX offset of vmt in object     }
        {       [ESP+4] pointer to typeInfo     }

        ADD     ECX,EAX                         { pointer to dest vmt }
        PUSH    dword ptr [ECX]                 { save dest vmt }
        PUSH    ECX
        MOV     ECX,[ESP+4+4+4]
        CALL    _CopyRecord
        POP     ECX
        POP     dword ptr [ECX]                 { restore dest vmt }
        RET     4

end;

GunMiNiHo 25-03-2009 14:30:55

q es eso :S


weee la encriptacion simple no salio :(


La franja horaria es GMT +2. Ahora son las 04:54:18.

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