Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - [L]ord [R]NA

#81
Sanko... conozco el PE-Header, se ASM, conozco Avira, y sobre todo, se de lo que estoy hablando...  Es todo lo que tengo que decir al respecto.

Te recomiendo que leas bien lo que dice Pabloflv... dice que tiene el source.
#82
tienes el fuente? En caso de tenerlo te recomiendo que busques las APIs de forma dinamica... eso suele desmontar al AVIRA, pero no lo hagas colocando el nombre de la funcion en el API directamente... encriptalo. sobre todo busca el WriteFile.

Si no te funciona procura reconstruir el PE-Header luego de que indexas el archivo que cifras, cualquier diferencia entre el tamaño del ejecutable y su cabecera hace que el Avira llore.
#83
No es tan facil como simplemente tomar el pais del registro de Windows, pues el pais del registro no es siempre igual al pais actual.
#84
Códigos Fuentes / Re:shell remota
Enero 09, 2013, 11:47:03 PM
El orden de Servidor y Cliente esta inverso... no importa quien se conecte a quien, quien brinda el servicio es el server.
#85
Dudas y pedidos generales / Re:Duda Primitiva C++
Enero 09, 2013, 11:44:22 PM
Llena una matriz 7x7 con los numeros, selecciona los 6 necesarios (puedes hacer una seleccion aleatoria de coordenadas) y remplaza el lugar donde se encuentra el numero por una X o un 0 para reconocer los seleccionados.
#86
Dudas y pedidos generales / Re:ejercicio
Enero 09, 2013, 11:41:26 PM
Me imagino que quieres realizar tu, propiamente el ejercicio, por lo tanto no te dare codigo, pero si algunos consejos:

1) Re-estructura las funciones: Ten en cuenta que las funciones cuando son creadas, deben poder ser utilizadas sin muchas modificaciones en otro codigo que crees, por lo tanto debes evitar a toda costa el uso de variables globales... Eso economiza tiempo a la hora de buscar y solucionar fallas.

2) Divide y Venceras: Ve resolviendo el problema paso por paso, cuenta la cantidad de horas en total, realiza el calculo de costo de cada hora y listo.
#87
Códigos Fuentes / Re:Keylogger C
Junio 03, 2011, 09:44:02 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Falta el sudo SMTP para mandar los logs por mail pero eso lo toi montando aun XD
Sudo en Windows... WTF?
#88
Códigos Fuentes / ClsAntiDebug
Junio 02, 2011, 12:14:34 PM
ClsAntidebug.h
Código: cpp
#ifndef __ClsAntiDebug__
#define __ClsAntiDebug__
#include <windows.h>
#include <tlhelp32.h>

class ClsAntiDebug
{
private:
bool Debugged;
public:
ClsAntiDebug();
void __declspec() PEBDebug();
void __declspec() NTGlobalDebug();
void __declspec() DebuggerActive();
void __declspec() TimeStamp(int time, void *func);
void Protect(void *func);
bool IsDebugged();
};
#endif


ClsAntiDebug.cpp
Código: cpp
#include "AntiDebug.h"

ClsAntiDebug::ClsAntiDebug()
{
this->Debugged=false;
}

bool ClsAntiDebug::IsDebugged()
{
return this->Debugged;
}

void __declspec() ClsAntiDebug::PEBDebug()
{
__asm
{
_PEBLoop:
push 500
call dword ptr ds:[Sleep]
xor edx, edx
mov dl,0x30
mov esi, fs:[edx]
movzx eax, byte ptr[esi+2]
dec eax
jne _PEBLoop
inc eax
}
this->Debugged = true;
}

void __declspec() ClsAntiDebug::NTGlobalDebug()
{
__asm
{
_NTLoop:
push 500
call dword ptr ds:[Sleep]
xor edx, edx
mov dl,0x30
mov esi, fs:[edx]
movzx eax, byte ptr[esi+0x68]
and eax,eax
je _NTLoop
xor eax,eax
inc eax
}
this->Debugged = true;
}

void __declspec() ClsAntiDebug::DebuggerActive()
{
HANDLE hProcSnap;
PROCESSENTRY32 pProcess;
LPTSTR Exename;
int strlength;
int deb[3]={18416231/*IDA Pro*/,997340682/*W32DASM*/,1853255255/*OllyDbg*/};
int i;
do
{
hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
pProcess.dwSize = sizeof(PROCESSENTRY32);
Process32First(hProcSnap,&pProcess);
do
{
strlength = strlen(pProcess.szExeFile);
__asm
{
lea eax,[pProcess.szExeFile]
mov ecx,dword ptr[strlength]
xor edx,edx
xor edi, edi
push edi
gethash:
pop edi
xor dl, byte ptr[eax+edi]
rol edx,8
inc edi
push edi
xor edi,ecx
jne gethash
mov [strlength],edx/*We don't need strlength, so we recycle to get
     The Hash on Int Variable*/
pop edi
}
for(i=0;i<3;i++)if (strlength==deb[i])
{
this->Debugged = true;
__asm{jmp ___end}
}
}while(Process32Next(hProcSnap,&pProcess));
Sleep(500);
}while(1);
__asm
{___end:}
}
void __declspec() ClsAntiDebug::Protect(void *func)
{

do
{
switch(GetTickCount()%4)
{
case 0:this->PEBDebug();break;
case 1:this->NTGlobalDebug();break;
case 2:this->DebuggerActive();break;
};
if (this->Debugged)
{
__asm
{
call [func]
}
}
Sleep(500);
}while(1);
}

void __declspec() ClsAntiDebug::TimeStamp(int time,void *func)
{
__asm
{
rdtsc
mov ebx,eax
call [func]
rdtsc
sub eax, ebx
cmp eax, [time]
jna ___rtend
}
this->Debugged = true;
__asm{___rtend: }
}



Modo de Uso:
Código: cpp

#pragma comment(linker,"/ENTRY:main")

#include "AntiDebug.h"
void CALLBACK HolaMundo()
{
MessageBox(0,"Funcion","de Emergencia",0);
}

int __declspec() main()
{

ClsAntiDebug *Debugger=new(ClsAntiDebug);
Debugger->TimeStamp(200,HolaMundo);
if (Debugger->IsDebugged())MessageBox(0,"Hola","Mundo",0);
Debugger->Protect(HolaMundo);
return 0;
}