|
Mostrar Mensajes
|
Páginas: 1 2 [3]
|
21
|
Programación / Programación C/C++ / Extraño error, puedo imprimir el texto pero no copiarlo.
|
en: 29 Mayo 2010, 10:39 am
|
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(); 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 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 userSid[len] = 0; } printf("%s\n",userSid ); //esto NO SE IMPRIME BIEN LocalFree(localSID); } } } CloseHandle(token); } CloseHandle(currentProcess); return userSid; }
|
|
|
22
|
Seguridad Informática / Análisis y Diseño de Malware / Source BHC (Batch Hide Compiler 2.0)
|
en: 25 Mayo 2010, 21:37 pm
|
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?
|
|
|
24
|
Programación / Programación C/C++ / Re: Ayuda puntero
|
en: 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)) { } 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; } return ret; }
|
|
|
26
|
Seguridad Informática / Análisis y Diseño de Malware / Ejecutar sin gui
|
en: 24 Mayo 2010, 08:17 am
|
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 / Programación C/C++ / Ayuda puntero
|
en: 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)) { } } 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; } return ret; }
|
|
|
29
|
Programación / Programación C/C++ / Re: ayuda en una matriz de 5*5
|
en: 7 Mayo 2010, 04:51 am
|
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} };
|
|
|
|
|
|
|