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

#21
Quisiera que por favor alguien me ayudara con este código, logró obtener el texto que se necesita, pero no logro copiarlo a otro buffer.


#include <windows.h>

UCHAR* getUserSid();

int main(int argc, char *argv[])
{
   UCHAR* userSid;
   userSid = getUserSid();
   printf("%s",userSid);
   
   return 0;
 
}

UCHAR* getUserSid()
{
  HANDLE token = NULL;
  DWORD dwBufferSize = 0;
  PTOKEN_USER pTokenUser = NULL;
  HANDLE currentProcess = NULL;
  UCHAR* userSid = NULL;
 
  currentProcess = GetCurrentProcess();
  if (OpenProcessToken(currentProcess, TOKEN_QUERY, &token))
  {
     GetTokenInformation(token, TokenUser, NULL, 0, &dwBufferSize);
     pTokenUser = (PTOKEN_USER)malloc(dwBufferSize);
     memset(pTokenUser, 0, dwBufferSize);
     if (GetTokenInformation(token, TokenUser, pTokenUser, dwBufferSize, &dwBufferSize))
     {
         if (IsValidSid(pTokenUser->User.Sid))
         {
             UCHAR* localSID = NULL;
             size_t len;
             
             if (ConvertSidToStringSidA(pTokenUser->User.Sid, &localSID))
             {
                printf("%s\n",localSID); //esto se imprime bien
               
                len = strlen(localSID);
                printf("Len:%d\n",len); //esto se imprime bien
               
                userSid = (UCHAR*) malloc(len+1, sizeof(UCHAR));
                if (userSid != NULL)
                {
                  printf("memoria dinamica bien\n"); //esto se imprime bien
                  strncpy(userSid, localSID, len);
                  userSid[len] = 0;
                }
                printf("%s\n",userSid); //esto NO SE IMPRIME BIEN
                LocalFree(localSID);
             }
         }                         
     }
     free(pTokenUser);
     CloseHandle(token);
  }
  CloseHandle(currentProcess);
  return userSid;
}

#22
Hola.¿Alguien tiene el souce de BHC (Batch Hide Compiler 2.0)?

El enlace que aparece en:

http://foro.elhacker.net/analisis_y_diseno_de_malware/bhc_batch_hide_compiler_20_by_whk_proyecto_para_abril_negro-t253872.0.html
está caído.

Quisiera estudiar ese código de WHK para aprender.

Por favor si alguien lo tiene ¿podría enviarmelo?
#23
gracias al final opté por dejarlo en modo consola, pero que se oculte la ventana al ejecutarlo, de ese modo solo se ve una milésima de segundo.
#24
Programación C/C++ / Re: Ayuda puntero
25 Mayo 2010, 21:33 PM
gracias LittleHorse y do-while.
Ahora logré entender.

Este es el código que ahora hace lo que quería.


#include <windows.h>

int getSecureUserProfile(unsigned char** up);

int main(int argc, char* argv)
{
    unsigned char* up = NULL;
    unsigned char** pup = &up;
   
    if (getSecureUserProfile(pup))
    {
      printf("Fuera:%s\n",up);
      free(up);
    }
   
    getchar();
    return 0;
}

int getSecureUserProfile(unsigned char** up)
{
  int ret;
  unsigned int tam;

  ret = 0;
  tam = GetWindowsDirectory(NULL, 0);
 
  *up = (unsigned char*) malloc (tam * sizeof(*up));
 
  if (*up != NULL)
  {
      GetWindowsDirectory(*up, tam);
      ret = 1;
      printf("Dentro:%s\n",*up);
  }

  return ret;

}

#25
Solucionado.
#26
Hola quisiera saber si existe una forma de ejecutar un ejecutable en modo gui teniendo en el pe header el flag de aplicación de consola (3).
Pregunto esto porque tengo un ejecutable que no es virus ni nada y necesito ejecutarlo en modo gui. Estando en modo consola lo escaneo en virustotal y no detecta nada, pero si le cambio el flag en el pe header a aplación gui (2) inmediatamente es detectado por dos antivirus como:
TR/Crypt.XPACK.Gen
Packer.Win32.Agent.bk

y quiero tenerlo para ejecutarlo en modo gui pero que virustotal no dé esos falsos positivos.
#27
Programación C/C++ / Ayuda puntero
23 Mayo 2010, 04:47 AM
Hola. Estoy trabajando en la primera parte de una función, pero tengo un problema con un puntero de tipo unsigned char, resulta que le asigno memoria con malloc, y al salir de la función se pierde el contenido y no entiendo porqué.

¿Alguien podría ayudarme por favor, porque no logro ver el error ?


#include <windows.h>

int getSecureUserProfile(unsigned char* up);

int main(int argc, char* argv)
{
    unsigned char* up = NULL;
    if (getSecureUserProfile(up))
    {
      printf("Fuera:%s\n",up);
      free(up);
    }
   
   
}

int getSecureUserProfile(unsigned char* up)
{
  int ret;
  unsigned int tam;
 
  ret = 0;
  tam = GetWindowsDirectory(NULL, 0);
 
  up = (unsigned char*) malloc (tam * sizeof(*up));
 
  if (up != NULL)
  {
      GetWindowsDirectory(up, tam);
      ret = 1;
      printf("Dentro:%s\n",up);
  }

  return ret;
 
}


#28
Hola, preocupado por la seguridad, estoy leyendo sobre el uso de CreateFile, pero no entiendo realmente cuál es el problema, y cómo podría explotarse.
Aquí está la información:

https://buildsecurityin.us-cert.gov/bsi-rules/home/g1/717-BSI.html


Por favor alguien podría explicarme.

#29

int matriz[5][5]= {
                   {1,1,1,1,1},
                   {1,2,2,2,1},
                   {1,2,3,2,1},
                   {1,2,2,2,1},
                   {1,1,1,1,1}
                  };