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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / ¿Es posible modificar un codigo en C++ de consola para crear una .dll? en: 27 Abril 2015, 05:09 am
Tengo un programa de consola en C++ que funciona perfectamente, pero para utilzarlo desde VB.NET me vendria mejor crear una .dll

¿Como podria hacerlo?

2  Programación / Programación C/C++ / ¿Como extraer cadenas especificas de un perfil wireless xml? en: 24 Abril 2015, 04:45 am
Hola amigos.

Tengo una funcion en C que me muestra en consola el perfil wireless que yo le indique, hasta aqui todo bien. El problema esta en que recibo los datos en ese formato:

Código
  1. <?xml version="1.0"?>
  2. <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
  3. <name>NombrePerfil</name>
  4. <SSIDConfig>
  5. <SSID>
  6. <hex>75775657685794438794</hex>
  7. <name>NombrePerfil</name>
  8. </SSID>
  9. </SSIDConfig>
  10. <connectionType>ESS</connectionType>
  11. <MSM>
  12. <security>
  13. <authEncryption>
  14. <authentication>WPA2PSK</authentication>
  15. <encryption>AES</encryption>
  16. <useOneX>false</useOneX>
  17. </authEncryption>
  18. <sharedKey>
  19. <keyType>passPhrase</keyType>
  20. <protected>false</protected>
  21. <keyMaterial>1234567890</keyMaterial>
  22. </sharedKey>
  23. <keyIndex>1</keyIndex>
  24. </security>
  25. </MSM>
  26. </WLANProfile>



Entonces necesitaria una funcion que extraiga los datos que hay entre <name> y </name>, <connectionType> y </connectionType> y asi con todos los valores.

Quedaria algo asi en consola:

Nombre del perfil: NombrePerfil
Tipo de conexion: ESS
Aunenicacion: WPA2PSK

etc..

Aclaracion: los datos no los recibo de un archivo, sino del PC, de los perfiles almacenados en la WLAN con esta llamada:

hp = Device->GetProfile(ARRAYSIZE(profBuffer), profBuffer);

He probado con este codigo que vi por inernet, pero se bloquea la aplicacion y se termina (creo que se bloquea porque es codigo de C++ y al tratar de usarlo en C se bloquea, no lo se):


    
Código
  1. int size = 0;
  2.  
  3.    wchar_t* Perfil = profBuffer;
  4.  
  5.    std::string text(Perfil, Perfil + size);
  6.  
  7.    // define what we're looking for
  8.    std::string begin_text("<name>");
  9.    std::string end_text("</name>");
  10.  
  11.    // find the start and end of the text we need to extract
  12.    size_t begin_pos = text.find(begin_text) + begin_text.length();
  13.    size_t end_pos = text.find(end_text);
  14.  
  15.    // create a substring from the positions
  16.    std::string extract = text.substr(begin_pos,end_pos);
  17.  
  18.    // test that we got the extract
  19.    wprintf(L"\nINFO: Nombre del perfil: ", extract);

Espero que me puedan ayudar. Saludos!!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines