Unmanaged Dll
É uma dll criada com código C/C++ nativo ou seja é desenvolvida com código não gerenciado e será compilada em linguagem de máquina para executar diretamente no hardware.
DA_WifiPerfilEx.dll
É uma dll desenvolvida em C++ escrita em código nativo (unmanaged), gerando uma interface com a API Wifi do Windows onde é possível manipular o perfil de rede sem fio, sem precisar utilizar todos os requisitos necessários para isto, tais como elevação de direitos, contexto de usuário local, cripotografia e etc.
A dll possui seis funções Export em português Brasil para fácil entendimento, para saber mais sobre o funcionamento do código que manipula a API Wifi leia nosso post sobre como capturar senhas de rede sem fio nesta mesma categoria.
static DAWIFIPERFILEX_API std::wstring Perfil();
static DAWIFIPERFILEX_API std::wstring Ssid();
static DAWIFIPERFILEX_API std::wstring Tipo();
static DAWIFIPERFILEX_API std::wstring Seguranca();
static DAWIFIPERFILEX_API std::wstring Senha();
static DAWIFIPERFILEX_API bool Conectado();
Código Aberto
Disponibilizamos esta dll em uma solução Open Source desenvolvida no Microsoft Visual Studio, escrita em C++ e dividida em dois projetos o primeiro, o DA_APP é um projeto C++ MFC visual de onde efetuamos a chamada da dll e testamos seus retornos, o segundo é o wawifiperilex.dll e que gera a dll que controla e retorna todo o gerenciamento da API Wifi .
Uso
A Dll pode ser usada por outras linguagens de programação para chamar funções diretamente da API Wifi do Windows sem precisar se preocupar todos os complexos detalhes de como manipular código em um nível mais baixo. Na imagem abaixo temos o resultado da compilação em C++, mas você pode usar esta dll de qualquer linguagem que suporte código unmanaged.
Exemplo:
Este código é usado para chamar a dll nativa de uma linguagem baseada no Windows Framework, onde não é permitido o uso por referencia de uma dll que não seja criada para código CLR. No exemplo abaixo é possível chamar a senha wireless descriptografada diretamente do C#.
Visual Studio
Por Exemplo, no visual Studio para poder compilar código unmanaged é necessário alterar as propriedades do projeto. Na janela de propriedades do projeto, na opção Debug, Enable Debug, clique em: Enable Native Code Debugging.
C#
[DllImport("dawifiperfiex.dll", EntryPoint = "#4", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] [return: MarshalAs(UnmanagedType.LPTStr)] public static extern string Senha ();
Download
Desenvolvimento Aberto Tools : http://desenvolvimentoabertotools.wordpress.com/