Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Mauscode generator?!
huhn - So 03.04.05 14:55
Titel: Mauscode generator?!
Hi leute! :D
hab mal ne frage bezüglich der programme, die einen code erstellen bei dem man die maus bewegen muss. Meine frage ist jetzt wie die mauskoordinaten verarbeitet werten (bsp,oder link,methoden etc) .ich hab schon gegoogelt und hier im forum geguckt,aber nicht so des richtige gefunden(weiß net wie des heißt).
des habich mal gefunden
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| var gone:boolean=false;
procedure tform1.onmousemove; begin Goon:=true; end;
procedure tform1.button1click(); var i: Integer; b,c: Byte; S: String; begin S:=Memo1.Text; Button1.Caption:='Bitte Maus bewegen'; for i:=1 to Length(S) do begin repeat Application.ProcessMessages; until Goon; Goon:=false; for j:=0 to Mouse.CursorPos.X div Mouse.CursorPos.Y do b:=Random(255); WriteLn(f,b); c:=Ord(S[1]); Delete(S,1,1); Memo2.Text:=Memo2.Text+'#'+IntToHex(c xor b,2); Progress.Position:=Progress.Position+1; end; end; |
da wird man aber doof wenn man en größeren schlüssel braucht :lol:
mfg huhn
uall@ogc - So 03.04.05 15:26
teil doch einfach x durch y sollte ein rest bleiben, nimmste die nachkommastellen dazu
bsp.:
233/51 = 4,5686274509803921568627450980392 -> da haste dann genug zahlen
ich wieß jetzt net genau wie du das gemacht hast aber denke mal so ähnlich funktioniert das ;>
wird jetzt die maus nach oben bewegt ->
233/52 = 4,4807692307692307692307692307692 -> man sollte dann halt nur die nachkommstellen nehmen, die 4 ist gleib geblieben ^^
toms - So 03.04.05 15:47
Für Fortgeschrittene ist ein Journal Record Hook geeigneter.
huhn - So 03.04.05 20:31
@uall@ogc:Danke is ne gute idee, :D leider will ich später zufalls bytes generiern und da helfen mir die nachkommastellen net so viel(auser wenn ich irgendwie die wieder weiter bearbeite) :(
@toms:gut danke!Kannste mal en Link zu einen kurzen hook tutorial posten
die wo ich hatte waren immer sehr lang(bei nem maushook kann ich ja dann auch über den gesammten bildschirm die maus abfragen)*g*
mfg huhn
MSCH - So 03.04.05 20:39
huhn hat folgendes geschrieben: |
@uall@ogc:Danke is ne gute idee, :D leider will ich später zufalls bytes generiern und da helfen mir die nachkommastellen net so viel(auser wenn ich irgendwie die wieder weiter bearbeite) :(
...
mfg huhn |
tja, dann eliminierst du die Nachkommastellen, z.b. durch Multiplikation mit 10 * (anzahl der Nachkommastellen) und schon haste eine nette Ganzzahl.
grez
msch
huhn - Mo 04.04.05 15:42
@toms:mmh hab mir des tutorial durchgelesen und ich muss zugeben dass es mir zu viel text und dass es mir zu umständlich ist :) .trotzdem danke!
So hab mal en bissle geproggt und des is herrausgekommen(ist schon besser und man kann über den gesamten Bildschirm):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var Form1: TForm1; last:integer;
procedure TForm1.Timer1Timer(Sender: TObject); var z:integer; begin label1.Caption:=inttostr(mouse.CursorPos.X)+'-'+inttostr(mouse.CursorPos.y); z:=(mouse.cursorpos.X) mod (mouse.CursorPos.y+1); if z>255 then z:=z div 10; if z=last then exit; label2.Caption:=inttostr(z); last:=z; end; |
vielleicht hat einer noch en optimierungsvorschlag? zb wie ich nochmehr zahlen bekomme? :D
mfg huhn
BenBE - Mo 04.04.05 20:45
QPC (QueryPerformanceCounter) abfragen, QPF (QueryPerformanceFrequency) einmalig, Auslesen von RAM-Adresszellen (wenn ungleich 0 weiternutzen),
http://www.random.org (wenn Inet-Verbindung nutzbar\Reaktionszeiten einbeziehen), Aktive Prozesse, Prüfsummen zufällig gewählter Festplattensektoren, Hardware-Seriennummern, ...
Lass Dir einfach neue Dinge einfallen ;-)
huhn - Di 05.04.05 16:46
Jo danke war schon auf random.org habt ihr noch mehr(werd mal nach den sachen gucken wo du gesagt hast!)
@BenBe:kannste noch mehr über die sachen sagen(QPC (QueryPerformanceCounter) abfragen, QPF (QueryPerformanceFrequency))?
mfg huhn
BenBE - Di 05.04.05 19:29
QPC und QPF sind zwei Funktionen zur Präzisionszeitmessung, die man zum Gewinnen zusätzlicher Bytes nutzen kann, da (z.B. besonders bei Rechnern mit ner QPF von 1.4 GHz wie meiner) die letzen Beiden Bytes sehr unberechenbar sind, d.h. zumindest sehr schlecht manuell nachgebaut werden können, da hier Microzeiten reinspielen. QPF nimmt zwar immer (auf jedem Rechner) nur einen Wert an (entweder die CPU Taktung oder einen Wert um 30MHz, wenn kein QPC vorhanden), kann aber trotzdem als einer der Initialisierungswerte mit genutzt werden. Hinweis: QPC pro Mausbewegungsabfrageereignis NUR selten anwenden, da sonst das Delta der Werte bestimmten Gesetzmäßigkeiten (nämlich den Taktzyklen der Routine zwischen den Aufrufen) folgt.
Für Initialisierungen von kryptographisch sicheren Systemen muss man einfach etwas kreativ sein ... (und kombinieren und ineinader verschlingen sollte man die Dinge auch möglichst gut).
huhn - Do 07.04.05 14:29
Danke!
dann mich ich mal ans werk (*kreativarbeit*)!
werd wahrscheinlich au en pseudozufallscode von random.org benützen!
mfg huhn
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!