Autor Beitrag
root_at_localhost
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 191



BeitragVerfasst: Sa 10.06.06 01:11 
Man kann ja auch bei Start des Programms das PW überprüfen und wenn falsch aussteigen. Später im Programm prüft man noch ein paar mal, wenn das Programm nicht modifiziert wurde is das dann immer OK, aber PW-Testroutinen zu finden, die das Programm nach 10-15 Minuten Betrieb, bei Speichern von Dokumenten, etc. mit einer nichtssagenden Access-Violation abstürzen lassen is doch schon unangenehmer...
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 10.06.06 01:21 
Lasst doch einfach über den Prüfroutinen Code nen brauchbaren Obfuscator drüberlaufen ... Weiterhin mitten im Programm als Code-Blöcke die CRCs verstecken Back-Referenz-JMP-SHORTs einbinden, die Cross-Procedure Inter-Instruction die Proceduren anspringen ... (Ist aber leider nur für die Schutzroutinen machbar, da ansonstn das gesamte Programm ASM sein müsste) ...

Also in der Art: Wenn man eine Routine anspringt an Label A wird Pi berechnet, springt man sie dagegen an Labelö B an, wird e berechnet und wenn man sie an Label C anspringt und das richtige PW angegeben hat, erzeugt der Source dieser Procedure einen SMC-Block im RAM, der den Anwendungssource im RAM entpackt ... Ach ja: Mit entsprechend vielen asm DB $CC ends dazwischen, schön vielen Quersprüngen in der Routine und auch sonst dem besten C-Style (Spaghetti-Source mit Unlesbarkeitsgarantie) und man sollte bei Release-Zyklen von 14 Tagen, die jeweils nominale Enhancements enthalten, keine Probleme mehr mit Crackern haben ;-)

Ach ja: Die korrekte Prüfsumme des Serials ist dabei in dem SMC-Block so unterzubringen, dass eine Falscheingabe die Ausführung des MOV CR0, EAX-Befehls hervorruft oder per SSDT-Hook ein Bluescreen on Demand (gibt's echt!!! Ist ein Feature von Windows!!!) initiiert wird ;-)

Lassen wir also der kreativen Ader kurz freien Lauf und sehen dann: Noch schöner wird das ganze, wenn man sich Techniken aus der Demo-Szene zu nutze macht, und nicht die eigentlichen Programmdaten speichert, sondern die Aufbau-Vorschrift um die gewünschte Datenfolge zu generieren ... Heißt: Wenn man in 3D nen Würfel darstellen will, speichert man nicht die 8 Eckpunkte, sondern eine Vorschrift, wie man diese 8 Eckpunkte erhält ;-)

Naja, die Liste ist fortsetzbar :P Wichtig ist nur, dass jegliche Sources selbstmodifizierend und vom PW bzw. dessen Prüfsumme abhängig sein müssen ... Eine Verteilung der Aufrufe für die Prüf-Codes auf möglichst viele Stellen ist ratsam *g*

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
root_at_localhost
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 191



BeitragVerfasst: Sa 10.06.06 01:29 
user profile iconBenBE hat folgendes geschrieben:
... dass eine Falscheingabe die Ausführung des MOV CR0, EAX-Befehls hervorruft oder per SSDT-Hook ein Bluescreen on Demand (gibt's echt!!! Ist ein Feature von Windows!!!) initiiert wird ;-)

Das interessiert mich jetzt, was bewirkt MOV CR0, EAX und was ist ein BSOD on Demand, bzw. wie und wozu generiert man sowas??
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Sa 10.06.06 01:37 
user profile iconroot_at_localhost hat folgendes geschrieben:
user profile iconBenBE hat folgendes geschrieben:
... dass eine Falscheingabe die Ausführung des MOV CR0, EAX-Befehls hervorruft oder per SSDT-Hook ein Bluescreen on Demand (gibt's echt!!! Ist ein Feature von Windows!!!) initiiert wird ;-)

Das interessiert mich jetzt, was bewirkt MOV CR0, EAX und was ist ein BSOD on Demand, bzw. wie und wozu generiert man sowas??


MOV CR0, EAX wird genutzt, um zwischen Real Mode und Protected Mode hin und Herzuschalten ... Die Erwähnung von SSDT-Hooks an dieser Stelle ist notwendig, da dieser Befehl nur auf Ring0 (Kernel-Modus unter Windows) ausgeführt werden kann.

@BSOD on Demand: Zum Testen von Treibern unter Windows, kann man über die Registry eine Tasten-Kombination (IIRC Strg+Alt+Break\Break) aktivieren, die dafür sorgt, dass Windows einen Bluescreen auslöst ... Damit kann man bei Treibern die Fehlerbehandlung testen ... (Ich glaub, M$ hat dieses Feature nie selbst genutzt ...)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
root_at_localhost
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 191



BeitragVerfasst: Sa 10.06.06 23:28 
Danke für die Infos, wieder was gelernt...
Hack Gott
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Fr 07.07.06 16:04 
HÄHÄ

Ich hab ne neue Idee. Schauts euch doch mal an, ich denke das hier zu knacken ist ein Ding der unmöglichkeit (denke/hoffe ich zumindestens).
Einloggen, um Attachments anzusehen!
_________________
"Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
Hack Gott
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Fr 07.07.06 16:08 
Achja, für die jenigen dis unbedingt schaffen wollen startet es einfach mit dem paramenter schwach 8) dann werden die punkte falls sie richtig sind markiert.

Wenns richtig ist öffnet sich ein fenster mit dem inhalt korrekt.

_________________
"Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 07.07.06 16:17 
Zwei mal kreisen.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 07.07.06 16:17 
Vom Grundprinzip ne nette Idee, je nach Umsetzung aber sicherlich im Bereich von ner halben Stunde machbar ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Hack Gott
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Fr 07.07.06 16:29 
user profile iconBenBE hat folgendes geschrieben:
Vom Grundprinzip ne nette Idee, je nach Umsetzung aber sicherlich im Bereich von ner halben Stunde machbar ...


Stimmt, aber das kann man ja um sehr viele weitere Punkte ergänzen, ich überprüfe bis jetzt nur 4. Und umso mehr, umso komlizierter wird es ja. Und knacken kann man es ja nicht mehr auf die herkömmliche weise.

_________________
"Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
root_at_localhost
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 191



BeitragVerfasst: Fr 07.07.06 16:34 
eben, was hindert mich daran per programm einfach jeden punkt abzufahren?
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 07.07.06 16:57 
Oder was hindert mich daran es zu cracken?
Einloggen, um Attachments anzusehen!
_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
LLCoolDave
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win XP
Delphi 2005
BeitragVerfasst: Fr 07.07.06 16:59 
Is ja völlig umsonst, da wackelt man bischen mit der Maus drüber und fertig...
Hack Gott
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Fr 07.07.06 17:00 
user profile iconroot_at_localhost hat folgendes geschrieben:
eben, was hindert mich daran per programm einfach jeden punkt abzufahren?


kann man ja eine kleine sperre einbauen, das es nach ca. 200 (oder mehr) punkten die falsch waren zurücksetzt.

user profile iconuall@ogc hat folgendes geschrieben:
Oder was hindert mich daran es zu cracken?


Verdammt, ist die selbe schwachstelle wie oben, nachdenken bevor posten! (ist an mich gerichtet)

_________________
"Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
rizla
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 417
Erhaltene Danke: 2

XP
FPC mit Lazarus
BeitragVerfasst: Fr 07.07.06 19:47 
grüße an HG,
ich dachte, das thema wäre durch :gruebel:
.:rizla:.

_________________
if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Locke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win 2000
Delphi 7 PE
BeitragVerfasst: Do 20.07.06 12:29 
user profile iconHack Gott hat folgendes geschrieben:
Ich hab mich mal kurz hingesetzt und auch einen kleinen Passwortdialog zusammen geschustert, schaut mal ob ihr des passwort ändern, oder zumindestens knacken könnt.

Ich bin gespannt.


Passwort: Gut!
Benötigte Zeit: nicht mehr als 10 Sekunden :P

Also ich denke nicht das jemand eine unknackbare Passwortabfrage hinkriegt, zumahl es nicht mal die Software Firmen wie z.B. Adobe, Steinberg, etc. schaffen. Wird immer wieder geknackt ;)

mfg Locke
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Do 20.07.06 13:42 
Ich hab hier auch mal ne recht simple Passwortabfrage gebastelt.
Wer kann mir am schnellsten das Passwort sagen ? :-)
Wenn's geklappt hat gibts ne entsprechende Meldung, sonst passiert nix.

PS: Mit welchen Werkzeugen arbeitet ihr so um zu Cracken (Hexeditoren, ResEditoren...)?
Einloggen, um Attachments anzusehen!
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Fr 21.07.06 10:32 
10 mal runtergeladen und keiner hats geschafft ?

Scheint wohl doch nicht so einfach zu sein. :wink:

Also nochmal : Wer stellt sich der Herausforderung ? :lupe:
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 21.07.06 12:11 
Die Frage bei sowas ist weniger "Wie lautet das Passwort?", sondern "kommt man auch ohne an's Ziel?" ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Fr 21.07.06 12:40 
ok, dann formulieren wir das mal um :
wer schafft es die Paswortabfrage zu umgehen ?