Большой Воронежский Форум
» Программирование>Требуется помошь с прогой
Wazup 00:08 16.11.2005
Народ, мне нужно написать прогу, которая считает время нажатия клавиши, во время того как кто-то печатает. Потом нужно вывести среднее значения для каждой клавиши. Помогите найти литературу или просто подкиньте идею. [Ответ]
Ray79 07:26 16.11.2005
А чего тут думать. Как только нажалась клавиша, запоминаешь время нажатия. И так для каждой. А потом все это делишь на сумму, и получаешь среднее. Если что-то конкретно интересует - спрашивай, отвечу подробнее. [Ответ]
Pengvin 07:35 16.11.2005
Обработчики сообщений wm_KeyDown и wm_KeyUp А вот как время измерять точно не знаю нажате клавиши меньше секунды погрешность измерения высокая Я бы использовал RDTSC это счетчик который увеличивается на один при каждом такте проца Точность измерения интервала получается очень высокой Если интерсно могу выложить пример получения тактов правда он на Delphi [Ответ]
Kerish 09:41 16.11.2005
Wazup Опознавание пользователя по набору текста? [Ответ]
Wazup 14:02 16.11.2005
Кериш Да типа того..
Pengun выложи пожалуйста мне и нужно на дельфи)) [Ответ]
Kerish 14:38 16.11.2005
Wazup Уже были известные попытки реализовать это. Вряд ли пролучится, что-то стоящее. Если в базе записано больше 5-10 пользователей, то определение нужного пользователя становится минимальным. [Ответ]
Pengvin 21:42 16.11.2005
const
D32 = $66;
function RDTSC: comp;
var
TimeStamp: record
case byte of
1: (Whole: comp);
2: (Lo, Hi: Longint);
end;
begin
asm
db $0F; db $31;
{$ifdef Cpu386}
mov [TimeStamp.Lo], eax
mov [TimeStamp.Hi], edx
{$else}
db D32
mov word ptr TimeStamp.Lo, AX
db D32
mov word ptr TimeStamp.Hi, DX
{$endif}
end;
Result := TimeStamp.Whole;
end;

function CompToStr(N: comp): String;
begin
Result := Format('%.0n', [N]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := CompToStr(RDTSC) + ' тактов';
end;

типа такого В принцеипе я думаю можно без заморочек использовать GetTickCount -при нажатии присвоить после отпуска вычесть А то со счетчиком тактов я загнался [Ответ]
Wazup 02:05 19.11.2005
Pengvin Спасибо за помошь. [Ответ]
maximn 12:41 20.11.2005
да почему не получится!? все эти идентификации - чистый DSP. Если по голосу идентифицировать получается, почему не получится по нажатиям клавиш? [Ответ]
-=Женек=- 12:53 20.11.2005
Во-во! Только средние значения которые ты собираешься вычислять - это примитив. Почитай мат. статистику - там столько всяких параметров. [Ответ]
maximn 13:07 20.11.2005
имхо, статистика там - это последние шаги идентификации, сначала эти ряды (периоды нажатий) по всяким фурье раскладывать, нейросети лепить (или любой другой способ из сотен возможных) итд.

Просто посчитать цифирку средних значений и сказать, Петя - это "21", Вася - это "12", было бы ЛОЛ =) Я бы за такое нобелевки не пожалел =) [Ответ]
maximn 13:12 20.11.2005
Тьфу ёлки-палки, какой нафик нобелевки!? =) Тюринга, конечно же! [Ответ]
Kerish 22:33 20.11.2005
Если у кого-нибудь будет, что-то стоящее,выложите...
Если кто-интересуется, могу выложить свою прогу (опыт) для выявления юзера по нажиманию. [Ответ]
Wazup 23:18 20.11.2005
-=Женек=-
maximn Я конечно не собираюсь сделать все так просто, и мат статистику изучаю итд и тп. НО для меня сначала проще сделать на уровне Вася=12 МАША=906090)).
А потом уже усложнять. Я не так сильно искушен в программировании, как здесь присутсвующие, так что буду идти по пути наименьшего сопротивления)).
Kerish
Если че-то есть выкладывай буду только признателен. [Ответ]
maximn 15:50 21.11.2005
могу вам посоветовать погуглить на тему "keystroke dynamics authorization", "keystroke dynamics identification" [Ответ]
-=Женек=- 21:58 21.11.2005

Сообщение от :
Просто посчитать цифирку средних значений и сказать, Петя - это "21", Вася - это "12", было бы ЛОЛ =) Я бы за такое нобелевки не пожалел =)

Полная фигня! Тогда, чтобы система распознавала тебя как Васю, тебе нужно очень постараться делать все одинаково и похоже на себя. Ты что не работал с программами распознавания голоса? Чуть икнешь, или с бодуна что-нить скажешь - система в непонятках. [Ответ]
maximn 23:06 21.11.2005

Сообщение от -=Женек=-:
Полная фигня! Тогда, чтобы система распознавала тебя как Васю, тебе нужно очень постараться делать все одинаково и похоже на себя. Ты что не работал с программами распознавания голоса? Чуть икнешь, или с бодуна что-нить скажешь - система в непонятках.

женя. ты бы хоть писал к кому ты обращаешься.

ну процитировал ты меня, наверное ко мне. если так, то тогда:
1. гугли слова "сарказм" и "юмор"
2. речь об идентификации по нажатиям клавиш а не по голосу
3. "Ты что не работал с программами распознавания голоса?" покажи мне парочку с достаточно малым процентом ошибки, которым можно в качестве тренировки дать "трезвую речь", а они потом "угадают" того же человека по его "пьяной" речи. [Ответ]
yujanin 09:08 22.11.2005
вот вы даёте. админы наоборот стремятся сделать так, чтобы злоумышленник не мог угадать даже имени пользователя, а вы всё так легко делаете. админы сразу такую прогу на свалку вывалят [Ответ]
Kerish 11:39 22.11.2005
yujanin Смысл не использовать эту технологию в чистом виде, а комбинировать с вводом пароля, и.т.д. [Ответ]
Pengvin 17:24 24.11.2005
проще в клавиатру сканер встроить и производить дактилоскопический анализ пальцев [Ответ]
Kerish 20:27 24.11.2005
Pengvin На это больше затрат. [Ответ]
Pengvin 19:23 30.11.2005
технических затрат Никто ведь не учитывает сколько нервов потратит программер на реализацию и погрешность определения сводится к миниму [Ответ]
Вверх