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 - BlackZeroX

#1601
Cita de: 79137913 en 18 Enero 2011, 18:41 PM

...
... Co-Moderador, pero que sea activo.
...


Siempre veo a Novlucker activo (siempre lo molesto).

Edito: Novlucker es CoAdmin rayos.

Dulces Lunas!¡.
#1602
Dependiendo de como ayas declarado la API ReadProcessMemory los paametros cambian al pasarlo pero lo mas habitual es que en lpBuffer se pase l puntero a la variable mas no la variable en si misma ya que si haces esto ultimo solo estaras pasando su cntenido intenta con byval varptr().

Temibles Lunas!¡.
#1603
.
CopyMemory es este caso no sirve debes usar esta API:

ReadProcessMemory

Hay un ejemplo mio editando el Score del pinball usando dicha API junto con WriteProcessMemory en este foro

Edito: (Escribi mal mi firma xP) :

P.D.: Busca mas sobre que es un puntero y un offset, por que yo se que son sinonimos ( la gente confunde a la gente ).

Dulces Lunas!¡.
#1604
.
Si no encuentro ejemplos para C++/.NET/JAVA busco para vb6 y google me tira un mar de ejemplos, me es de gran ayuda vb6.

Dulces Lunas!¡.
#1605
Programación C/C++ / Re: [Duda] CallBack
17 Enero 2011, 20:08 PM
.
Te dejo esto el proceso WndProc aun no lo pongo como miembro de la clase aun que sera facil tal cual a dicho Eternal Idol haciendo dicha funcion como Static ( yo mientras trabajare de esta manera para depurar mi codigo ).



LRESULT CALLBACK    WndProc     (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

cls_socket::cls_socket()
{   /*  Constructor */
   this->Event_RequestConection    = NULL;
   this->Event_GetData             = NULL;
   this->Event_Closed              = NULL;
   this->Event_Connent             = NULL;
   this->Event_Error               = NULL;
   this->v_socket                  = INVALID_SOCKET;
   this->State                     = sckError;

   this->RemoteHost                = NULL;
   this->RemotePort                = 0;
   this->LocalPort                 = 0;

   if ( WSAStartup( MAKEWORD(2,2) , &this->v_wsadata  ) != NO_ERROR )
       return;
   this->v_hWinSock = CreateWindowExA( 0 , "STATIC" , "SOCKET_WINDOW",0, 0, 0, 0, 0, 0, 0, 0,NULL);
   if (this->v_hWinSock != NULL)
       if ( SetWindowLongA( this->v_hWinSock , GWL_USERDATA , (LONG)this ) == 0 )
           if ( (this->v_PrevProc = SetWindowLongA( this->v_hWinSock , GWL_WNDPROC, (DWORD)WndProc)) != 0 ) {
               this->v_ItsOk = true;
               this->State = sckClosed;
           }
}
cls_socket::~cls_socket() {   /*  Destructor */
   WSACleanup();
   if ( this->v_PrevProc != 0 )
       SetWindowLongA (this->v_hWinSock , GWL_WNDPROC, this->v_PrevProc);
   if ( this->v_hWinSock != NULL )
       DestroyWindow (this->v_hWinSock);
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
   char            *v_abuffer      = NULL;
   char            v_buffer[1024]  = {};
   int             v_res           = 0;
   unsigned int    v_lenstr        = 0;
   cls_socket      *thisClass      = NULL;
   SOCKET          AceptSocket     = INVALID_SOCKET;

   if ( uMsg != 1025 )
       return DefWindowProc(hWnd, uMsg, wParam, lParam);

   /* Recuperamos la Clase */
   thisClass = (cls_socket*)GetWindowLongA ( hWnd , GWL_USERDATA );
   if ( thisClass == NULL )
       return DefWindowProc(hWnd, uMsg, wParam, lParam);
   switch ( lParam ) {
       case FD_CONNECT:
           thisClass->State = sckConnected;
           /* Evento */
           if ( thisClass->Event_Connent != NULL )
               thisClass->Event_Connent ( thisClass );
           break;
       case FD_READ:
           v_res   = 0;
           v_lenstr  = 0;
           do {
               v_res = recv(  thisClass->v_socket , &v_buffer[0] , 1024 , 0 );
               if ( v_res > 0 ) {
                   v_lenstr += v_res;
                   v_abuffer = (char*)realloc(v_abuffer, sizeof(char) * (v_lenstr+1));
                   memcpy( &v_abuffer[v_lenstr-v_res], &v_buffer[0] , v_res);
               }
           } while ( v_res > 0 );
           if ( v_lenstr > 0 ) {
               v_abuffer[v_lenstr] = '\0';
               /* Evento */
               if ( thisClass->Event_GetData != NULL )
                   thisClass->Event_GetData ( v_abuffer , v_lenstr , thisClass );
               free ( v_abuffer );
           }   //  if
           break;
       case FD_WRITE:
           break;
       case FD_CLOSE:
           thisClass->State = sckClosed;
           closesocket( thisClass->v_socket );
           thisClass->v_socket = INVALID_SOCKET;
           /* Evento */
           if ( thisClass->Event_Closed != NULL )
               thisClass->Event_Closed ( thisClass );
           break;
       case FD_ACCEPT:
           //sockaddr        SockAcept;
           if ( ( AceptSocket = accept( thisClass->v_socket , NULL , NULL ) ) != INVALID_SOCKET )
               /* Evento */
               if ( thisClass->Event_RequestConection != NULL )
                   thisClass->Event_RequestConection ( &AceptSocket , thisClass );
           break;
       default: break;
   }   //  switch
   return 0;
}



Temibles Lunas!¡.
.
#1606
Programación C/C++ / Re: [Duda] CallBack
17 Enero 2011, 10:06 AM
.
Esto ya esta solucionado con GWL_WNDPROC+GWL_USERDATA me las apañare perfectamente inclusive quitare ese feo vector con ese feo For.

Dulces Lunas!¡.
#1607
.
ACABO de ver tU CODIGO y solo dire esto ESTO ES VB6 o inferior .NET es en programacion General ojo con eso...

Usa el buscador hay un proceso de 3 o 4 lineas de codigo SIMPLE y de forma recursiva que hace esactamente lo que tu haces pero mas Optimo. yo lo adapte a un modulo de Clase o puedes revisar tambien las Publicaciones del Moderador de este foro q es esactamente el mismo codigo solo que solo es la funcion.

P.D.: si no lo encuentras te toca buscar manualmente.

Dulces Lunas!¡.
#1608
Programación C/C++ / Re: [Duda] CallBack
17 Enero 2011, 08:26 AM
.
Es similar pero no me da solución, ya que no le puedo pasar cualquier cosa a este redirrecionamiento que busco es solo cambiar el CallWindowProc de una ventana creada con CreateWindowsEX. a un miembro (funcion) de una clase siendo la misma clase en su constructor cuando se creo la ventana y despues como ya dije redirrecionar los mensajes entrantes de esta ventana a el miembro de la funcion en cuention.

CreateWindowEx + SetWindowLong + GWL_WNDPROC



LONG WINAPI SetWindowLong(
 __in  HWND hWnd,
 __in  int nIndex,
 __in  LONG dwNewLong
);



Este es el proceso... que resive los mensajes.



LRESULT CALLBACK cls_socket::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
 ... Codigo
}



P.D.: Usare una solucion cutre haber que tal me va.

Dulces Lunas!¡.
.
#1609
Programación Visual Basic / Re: GetPixel!
17 Enero 2011, 08:17 AM
Cita de: Speeding en 16 Enero 2011, 21:05 PM
Aca te dejo un Color Aimbot
Esta basado en el codigo de Max Power de Unknown Cheats y modificado para lo que yo necesitaba.
Eso si, es un desastre en cuanto a los recursos que consume.

Nesesitas hacer un buffer del hDC y supongo que solo pinta, bueno antes de hacer un SetPixel debes pintar en un hDC en memoria y despues copia o pegar este hDC de nueva cuenta en el Dc de la ventana, con eso se baja el consumo de recursos un poco por no decir mucho o todo.

Dulces Lunas!¡.
#1610
Programación Visual Basic / Re: GetPixel!
16 Enero 2011, 20:55 PM
Cita de: andresxdddd en 16 Enero 2011, 20:25 PM
videos en youtube libros pero no logro unir esos conocimientos a mi proyecto , he googleado

us ael API GetPixel

un ejemplo:

Código (vb) [Seleccionar]


Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
Const FLOODFILLBORDER = 0 ' Fill until crColor& color encountered.
Const FLOODFILLSURFACE = 1 ' Fill surface until crColor& color not encountered.
Const crNewColor = &HFFFF80
Dim mBrush As Long
Private Sub Form_Load()
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'Create a solid brush
    mBrush = CreateSolidBrush(crNewColor)
    'Select the brush into the PictureBox' device context
    SelectObject Picture1.hdc, mBrush
    'API uses pixels
    Picture1.ScaleMode = vbPixels
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'Delete our new brush
    DeleteObject mBrush
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    'Floodfill...
    ExtFloodFill Picture1.hdc, x, y, GetPixel(Picture1.hdc, x, y), FLOODFILLSURFACE
End Sub



Dulces Lunas!¡.