Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - krackwar

#331
Este code saca info de el WMI esta en la msdn:
#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# pragma comment(lib, "wbemuuid.lib")

int main(int argc, char **argv)
{
    HRESULT hres;

    // Step 1: --------------------------------------------------
    // Initialize COM. ------------------------------------------

    hres =  CoInitializeEx(0, COINIT_MULTITHREADED);
    if (FAILED(hres))
    {
        cout << "Failed to initialize COM library. Error code = 0x"
            << hex << hres << endl;
        return 1;                  // Program has failed.
    }

    // Step 2: --------------------------------------------------
    // Set general COM security levels --------------------------
    // Note: If you are using Windows 2000, you need to specify -
    // the default authentication credentials for a user by using
    // a SOLE_AUTHENTICATION_LIST structure in the pAuthList ----
    // parameter of CoInitializeSecurity ------------------------

    hres =  CoInitializeSecurity(
        NULL,
        -1,                          // COM authentication
        NULL,                        // Authentication services
        NULL,                        // Reserved
        RPC_C_AUTHN_LEVEL_DEFAULT,   // Default authentication
        RPC_C_IMP_LEVEL_IMPERSONATE, // Default Impersonation 
        NULL,                        // Authentication info
        EOAC_NONE,                   // Additional capabilities
        NULL                         // Reserved
        );

                     
    if (FAILED(hres))
    {
        cout << "Failed to initialize security. Error code = 0x"
            << hex << hres << endl;
        CoUninitialize();
        return 1;                    // Program has failed.
    }
   
    // Step 3: ---------------------------------------------------
    // Obtain the initial locator to WMI -------------------------

    IWbemLocator *pLoc = NULL;

    hres = CoCreateInstance(
        CLSID_WbemLocator,             
        0,
        CLSCTX_INPROC_SERVER,
        IID_IWbemLocator, (LPVOID *) &pLoc);

    if (FAILED(hres))
    {
        cout << "Failed to create IWbemLocator object."
            << " Err code = 0x"
            << hex << hres << endl;
        CoUninitialize();
        return 1;                 // Program has failed.
    }

    // Step 4: -----------------------------------------------------
    // Connect to WMI through the IWbemLocator::ConnectServer method

    IWbemServices *pSvc = NULL;

    // Connect to the root\cimv2 namespace with
    // the current user and obtain pointer pSvc
    // to make IWbemServices calls.
    hres = pLoc->ConnectServer(
         _bstr_t(L"ROOT\\CIMV2"), // Object path of WMI namespace
         NULL,                    // User name. NULL = current user
         NULL,                    // User password. NULL = current
         0,                       // Locale. NULL indicates current
         NULL,                    // Security flags.
         0,                       // Authority (e.g. Kerberos)
         0,                       // Context object
         &pSvc                    // pointer to IWbemServices proxy
         );
   
    if (FAILED(hres))
    {
        cout << "Could not connect. Error code = 0x"
             << hex << hres << endl;
        pLoc->Release();     
        CoUninitialize();
        return 1;                // Program has failed.
    }

    cout << "Connected to ROOT\\CIMV2 WMI namespace" << endl;


    // Step 5: --------------------------------------------------
    // Set security levels on the proxy -------------------------

    hres = CoSetProxyBlanket(
       pSvc,                        // Indicates the proxy to set
       RPC_C_AUTHN_WINNT,           // RPC_C_AUTHN_xxx
       RPC_C_AUTHZ_NONE,            // RPC_C_AUTHZ_xxx
       NULL,                        // Server principal name
       RPC_C_AUTHN_LEVEL_CALL,      // RPC_C_AUTHN_LEVEL_xxx
       RPC_C_IMP_LEVEL_IMPERSONATE, // RPC_C_IMP_LEVEL_xxx
       NULL,                        // client identity
       EOAC_NONE                    // proxy capabilities
    );

    if (FAILED(hres))
    {
        cout << "Could not set proxy blanket. Error code = 0x"
            << hex << hres << endl;
        pSvc->Release();
        pLoc->Release();     
        CoUninitialize();
        return 1;               // Program has failed.
    }

    // Step 6: --------------------------------------------------
    // Use the IWbemServices pointer to make requests of WMI ----

    // For example, get the name of the operating system
    IEnumWbemClassObject* pEnumerator = NULL;
    hres = pSvc->ExecQuery(
        bstr_t("WQL"),
        bstr_t("SELECT * FROM Win32_OperatingSystem"),
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
        NULL,
        &pEnumerator);
   
    if (FAILED(hres))
    {
        cout << "Query for operating system name failed."
            << " Error code = 0x"
            << hex << hres << endl;
        pSvc->Release();
        pLoc->Release();
        CoUninitialize();
        return 1;               // Program has failed.
    }

    // Step 7: -------------------------------------------------
    // Get the data from the query in step 6 -------------------

    IWbemClassObject *pclsObj;
    ULONG uReturn = 0;
   
    while (pEnumerator)
    {
        HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
            &pclsObj, &uReturn);

        if(0 == uReturn)
        {
            break;
        }

        VARIANT vtProp;

        // Get the value of the Name property
        hr = pclsObj->Get(L"Name", 0, &vtProp, 0, 0);
        wcout << " OS Name : " << vtProp.bstrVal << endl;
        VariantClear(&vtProp);
    }

    // Cleanup
    // ========
   
    pSvc->Release();
    pLoc->Release();
    pEnumerator->Release();
    pclsObj->Release();
    CoUninitialize();

    return 0;   // Program successfully completed.

}
#332
Cita de: baicunko en 17 Junio 2008, 01:45 AM
que paso con ese foro donde quedo?
El foro de troyanos y virus (mejor dicho el foro de lammers) ya no existe ahora existe un nuevo foro que es sobre el analisis y diseño de malware osea es un foro mas profesional.
#333
Cita de: Anteros en 17 Junio 2008, 16:58 PM
Citarno crees que es mejor saber hacerlo pogramando y aprender, en vez de usar programitas que hacen milagros ??
pues si todos pensaran asi seguiriamos con el assembler... jeje  ;D...pero si tienes razon en algo...con esos programas como q no aprendemos mucho a programar...sino preguntale al VS.NET...jeje
El assembler es mucho mejor que VB y VB  .net y todas esas cosas que mal acostumbran ya que tienen 10.000 opciones para facilitar las cosas.
#334
Cita de: seba123neo en 17 Junio 2008, 02:07 AM
no anda la pagina por ahora....la estan cambiando de servidor...
Se pùede obtener la temperatura con api's y no con objetos?
#335
Cita de: dj-blydex en 15 Junio 2008, 16:25 PM
Cita de: skapunky en 15 Junio 2008, 01:30 AM
Tio haces preguntas muy muy basicas...ademas por las respuestas que te estan dando, tu profesora te va a poner un ROSCO porque es evidente que no lo has hecho tu...pero de verdad te mando hacer esos ejercicios? porque por lo que se ve tienes un nivel muy bajo..No te lo tomes a mal, pero quiza tu profesora te a sobrevalorao o algo.

Primero esrtoy empesando con lo de la programacion nisiquiera estoy en la university si no en una escuela tecnica , segundo no me sirves de ninguna ayuda y tercero ya me ayudaron los que saben asi qe gracias de todos modos
Pero yo tampoco estoy en la universidad y ni siquiera en una escuela tecnica y eso no significa que no pueda leer un manual diseñado para la universidad o los libros dicen prohibido leer menores de edad :xD :xD.Con decir ya me ayudaron los que saben estas diciendo que skapunky no sabe  :huh: Por que si es asi estas bastante equivocado.
#336
Cita de: Perfect Hiden en 15 Junio 2008, 02:32 AM
como creo q es el servidor el q me da problemas aki pongo el code:

Citar
timer1 tiene intervalo de 5 segundos

Private Sub Timer1_Timer()
on error resume next
If Not WS.State = 7 Then Call conectar_Click
End If


Private Sub conectar_Click()

If Not WS.State = 7 Then GoTo con
con:
WS.Close
WS.Connect
End Sub

y esa es la conexión

PD: si el server esta bn me dicen y pongo el del cliente

Hace tiempo que no ocupo el ws pero aver si me acuerdo , primeri el If Not WS.State = 7 cambialo por if ws.state = 0 segundo ponle a conectar_Click un error resume next. el ws.connect pon ws.connect ip , puerto.
#337
Cita de: Perfect Hiden en 14 Junio 2008, 18:16 PM
Cita de: viviz02 en 14 Junio 2008, 16:05 PM
Puede ser que tu "victima" tenga una mala conexion y cada X tiempo se desconecte, o que el troyano sea inestable y pierda la conexion.

esque lo estoi probando en un pc q esa conectado a mi internet y no creo q sea por eso xd

q tiene q estar mal para q sea inestable?

gracias  ;)
Para que el troyano este inestable no tienes que haber sabido programar bien la conexion.Potea algo del code , el proyecto , etc.. , vamos hay algunos que saben mucho pero nadie en este foro es adivino.
#338
Primero que nada , no hagas doble post , segundo busca aunque sea dos segundos ,el foro no es un lugar donde quieres algo sin esfuerso y que otros boludos te lo entreguen .En los post con chincheta , en la ropilacion de codes hay uno hecho por mas >:(.
#339
Y para bloquear las combinaciones de teclas(cualquiera) hay muchas maneras , solo busca.
s4lu2!
#340
Cita de: Freeze. en 13 Junio 2008, 06:07 AM
Casi lo mismo, pero es original ;)
Bueno , un compiler como tal seria muyyyyyyy largo hacerlo y no tengo tanto tiempo, por eso hay que hacerlo parecido a los demas pero a la diferencia de la mayoria este no extrae tipo joiner que era algo que se quejaba mucha gente.