| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: [C++] Crackme -> Passwort dynamisch ändern im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi HaBo, ich arbeite momentan an einem crackme, habe bereits einige sicherungen implementiert nur jetzt hänge ich an folgendem: ...
![]() |
| | #1 (permalink) |
| Registriert seit: 27.12.07 ![]() Likes: 39 | Anzeige Hi HaBo, ich arbeite momentan an einem crackme, habe bereits einige sicherungen implementiert nur jetzt hänge ich an folgendem: Ich wollte eine passwort abfrage erstellen die nach einer bestimmten zeit (z.B 10 sekunden) das passwort ändert. innerhalb dieser 10 sekunden soll das passwort eingegeben werden. Mein quellcode sah bisher so aus: Code ihr sehts wahrscheinlich schon, während wait(); kann der user nichts eingeben und wenn wait zuende ist ist der zeitraum für die eingabe zu kurz. daher die frage: wie kann der user parallel zu wait() eine eingabe machen? weder in büchern noch in google konnte ich geeignetes finden. dankbar für jede hilfe, bad_alloc PS: man soll zwar keine crackmes erstellen, die man ohne fremde hilfe nicht fertigkriegt, aber hier interessierts mich einfach mal ;)
__________________ You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte. |[A]| = p(·,|[A]|)+1 |
| | |
| | #2 (permalink) |
| Registriert seit: 28.07.08 ![]() Likes: 1 | also mit cin hast du da keine chance, da der aufruf solange blockiert, bis ne eingabe da ist. Ich glaube auch nicht, dass dir die stdlibs von cpp da weiterhelfen können. Ich denke hier must du die os-API verwenden. Unter windows ginge das grob so: Code: #include <windows.h>
#pragma comment(lib,"kernel32.lib")
/* ... */
HANDLE console = GetStdHandle(STD_INPUT_HANDLE);
time_t startTime = time(NULL);
char* pwdBuf = new char[BUFSIZE];
while(time(NULL) - startTime <= 10)
{
if(WaitForSingleObject(console,0) == WAIT_OBJECT_0)
{
// hier mit ReadConsole() den input an deinen buffer anhhängen und prüfen, ob nen enter dabei war, wenn ja -> break;
}
}
//hier hast du dann entweder die eingabe im buf oder die zeit ist abgelaufen
edit:
beim WaitForSingleObject() bitte nicht unbedingt 0 als timeout nehmen, das würde ne eingabe mit 100% cpu-last bedeuten, 50 ms wären da wohl besser. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Das wait() oder die Eingabe in einen extra Thread packen sollte doch gehen.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #4 (permalink) | |
| Themenstarter Registriert seit: 27.12.07 ![]() Likes: 39 | Zitat:
edit: (bitmuncher war schneller) mit threads hab ich zwar noch garnichts am hut aber ich werds mir mal ansehen. (damit wäre eine plattformunabhängige lösung dahin)
__________________ You shoot yourself in somebody else's foot.|Dann gabs da noch den Mathematiker der P?=NP in O(1) erklärte. |[A]| = p(·,|[A]|)+1 | |
| | |
| | #5 (permalink) | |
| Registriert seit: 28.07.08 ![]() Likes: 1 | Zitat:
Der Vorschlag von bitmuncher war auch meine erste idee, aber hat einen entscheidenen nachteil. cin blockiert solange bis nen enter kommt. und wenn man dann nach 10s die eingabe abbrechen möchte geht das nur mit TerminateThread(), was dazu führt, dass der Thread brutal beendet, ohne dass man noch irgendwelche aufräumarbeiten machen kann, wodurch laufzeitfehler vorprogrammiert sind. | |
| | |
| | #6 (permalink) | |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Zitat:
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Bilder dynamisch mit Wasserzeichen einbinden | reaLInsanity | (Web-) Design und webbasierte Sprachen | 4 | 03.04.07 14:24 |
| Port 80 dynamisch öffnen/schließen | Epic | Network · LAN, WAN, Firewalls | 4 | 23.12.06 23:07 |
| mac os x login passwort ändern | karuna | Mac OS & Co. | 4 | 06.10.06 07:24 |
| CS Statistik für Website dynamisch | Mechanius | Games | 1 | 04.06.06 23:24 |
| Passwort durch dass ändern der Sam Datei ändern | Xalon | (In)security allgemein | 3 | 08.01.06 18:54 |