PDA

Ver la Versión Completa : encriptacion simple "xor"


GunMiNiHo
22-03-2009, 07:31:28
hmmm bueno tengo una pekeña duda xP! tengo un source bien parecida a esta ^^:


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:


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:


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
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 :(