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 - noele1995

#61
Programación C/C++ / Re: Hooks sin dll
12 Septiembre 2013, 22:35 PM
Oh vale ahi esta el problema jeje, bueno los hooks aunque los pase a un proyecto aparte los pensaba incluir en el troyano que estoy programando, pero yo ya tengo un bucle que esta procesando el envio y recibo de los sockets, ¿deberia crear un thread aparte para el bucle de los mensajes verdad? Muchas gracias no habia caido en eso XD
#62
Programación C/C++ / Hooks sin dll
12 Septiembre 2013, 21:25 PM
Se que algunos me vais a decir que no se puede, dado que en la MSDN pone esto:
CitarA global hook procedure can be called in the context of any application in the same desktop as the calling thread, so the procedure must be in a separate DLL module.

Bueno por mucho que en la información de la MSDN diga que no se pueden hacer hooks globales sin una dll es mas que posible y algo real. Ya lo hice antes en otro lenguaje (VB6).

El problema es el siguiente aunque se parece ser que se instalan bien los hooks mi callback fuction nunca es llamada y ademas el ordenador se ralentiza. Estoy intentado hacer los hooks desde un programa de consola, y creo que es aqui donde reside el problema ya que encontre un codigo donde enseñaba a hacer los hook sin dll pero usaba tambien una interfaz grafica, al modificar ese codigo para que el programa fuese simplemente de consola empezo a dar los mismos problemas que mi programa.

Aqui el code para hacer el hook sin dll: http://www.mpcforum.com/showthread.php?78344-SRC-Global-Hook-without-dll-(C-)

Aqui mi code:
Código (cpp) [Seleccionar]
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include <iostream>

HHOOK hook;

__declspec(dllexport) LRESULT CALLBACK KeyboardHookProc (int nCode,WPARAM wParam,LPARAM lParam)
{
   if  ((nCode == HC_ACTION) && ((wParam == WM_KEYDOWN) || (wParam == WM_SYSKEYDOWN)))
   {
       KBDLLHOOKSTRUCT hookstruct = *((KBDLLHOOKSTRUCT*)lParam);

//............. codigo manejador del hook

   }
   return CallNextHookEx(hook, nCode, wParam, lParam);
}

int main()
{
hook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)KeyboardHookProc,GetModuleHandle(NULL),NULL);

system("pause");

UnhookWindowsHookEx(hook);

return 1;
}


Basicamente hace lo mismo que el codigo que habia en el link solo que sin la interfaz asique estoy un poco confundido de porque no funciona y como arreglarlo. Primero crei que habia que crear el callback como si fuese una funcion de una DLL  y he definido la funcion como lo hacian en el otro code pero eso sigue sin funcionar. ¿Alguna idea? Gracias por adelantado, llevo mas de una semana comiendome el coco con esto XD
#63
Esto no es VB6 subforo equivocado.
#64
Deberias usar DoEvents para que no se trabe si encriptas cadenas muy largas
#65
Pues claro, ya lo estoy codeando yo solo en c++ con qt el cliente para la interfaz y el servidor en c++, voy poco a poco essolhe hecho las conexiones, la shell con pipes y estoy con el keylogger. Si alguien se anima al proyecto mandarme un mp
#66
VC++, Code::Blocks, Dev-cpp y si quieres hacer aplicaciones con interfaz grafica yo te recomiendo usar librerias Qt con el QtCreator, ademas estas son multiplataforma.
#67
Programación C/C++ / Linkear ws2_32
22 Agosto 2013, 12:44 PM
Hola a todos, tengo varias preguntas. ¿Porque tengo que linkear la libreria de ws2_32 directamente? con otras apis de windows las puedo usar simplemente incluyendo cabezeras. Esque me he dado cuenta que mi ejecutable en version release y sin apenas codigo, pues solo tiene hecha una conexion basica sockets ocupas casi 500kb, que me parece excesivo, estoy linkeando la libreria del winsock en las opciones del linker con code::blocks y me perguntaba si es por esto que el programa es tan grande. Si es asi ¿Hay alguna forma para no tener que linkearla? o para reducir el tamaño del programa.

Saludos y gracias 10^6
#68
Code::Blocks, aunque dev-cpp ha sido actualizado hace poco lo he probado y tiene bastantes bugs, si te interesa crear interfaces graficas de manera mas sencilla como en vsc++ tambien puedes usar qtcreator con las librerias qt, es tambien muy bueno, y gratuito como todas las librerias.
#69
Con las apis del winsock

Código (vb) [Seleccionar]
Option Explicit

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Private Declare Function GetHostByName Lib "ws2_32" Alias "gethostbyname" (ByVal hostname As String) As Long
Private Declare Function WSAStartup Lib "ws2_32" (ByVal wVersionRequired As Long, lpWSAData As WSADATA) As Long
Private Type WSADATA
    wversion                                As Integer
    wHighVersion                            As Integer
    szDescription(0 To 256)  As Byte
    szSystemStatus(0 To 128)  As Byte
    iMaxSockets                             As Integer
    iMaxUdpDg                               As Integer
    lpszVendorInfo                          As Long
End Type
Private Type Hostent
  h_name          As Long
  h_aliases       As Long
  h_addrtype      As Integer
  h_length        As Integer
  h_addr_list     As Long
End Type

Public Function IPHost(Host As String) As String
Dim sHostName   As String * 256
Dim lpHost      As Long
Dim Hostent     As Hostent
Dim dwIPAddr    As Long
Dim tmpIPAddr() As Byte
Dim i           As Integer
Dim sIPAddr     As String
Dim WSA         As WSADATA

WSAStartup 257, WSA
lpHost = GetHostByName(Host)
If lpHost <> 0 Then
    CopyMemory Hostent, lpHost, Len(Hostent)
    CopyMemory dwIPAddr, Hostent.h_addr_list, 4
    ReDim tmpIPAddr(1 To Hostent.h_length)
    CopyMemory tmpIPAddr(1), dwIPAddr, Hostent.h_length
    For i = 1 To Hostent.h_length
        sIPAddr = sIPAddr & tmpIPAddr(i) & "."
    Next
    IPHost = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)
End If
End Function



EJEMPLOS DE USO
Código (vb) [Seleccionar]

Sub form_load()
'ASI SE USA
MsgBox IPHost("www.google.es")
MsgBox IPHost("foro.elhacker.net")

'ASI NO SE USA
MsgBox IPHost("http://www.google.es/")
MsgBox IPHost("http://foro.elhacker.net")
End Sub
#70
1. Explicate mejor no entiendo que quieres hacer.
2. Pon el codigo que tienes para ver donde fallas.

Saludos