Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Luckies "myIsDebuggerPresent" liefert immer true (https://www.delphipraxis.net/150049-luckies-myisdebuggerpresent-liefert-immer-true.html)

TheMiller 6. Apr 2010 18:00

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Ok, das erklärt alles...

Diesen Abschnitt

Zitat:

Schon besser, aber es geht noch besser. Auch dieser Funktionsaufruf ist mit einem CALL verbunden, den man rauspatchen kann. Deswegen ist es besser die Funktion im Code "hardzucoden"
hatte ich nicht ganz verstanden gehabt. Durch den oberen Abschnitt habe ich angenommen, dass dieser Quelltext auch in eine Funktion gehört. Jetzt, nachdem du mir das eben erklärt hast, weiß ich, dass du mit CALL den Aufruf der Funktion meinst - das klingt jetzt auch logisch. Ich wusste damit heute Morgen/Mittag nix anzufangen.

Gut, dann entschuldige ich mich auch, habe es jetzt verstanden und nehme auch deine Entschuldigung an :cheers:

Achso - und meinen Quelltext werde ich in der Hinsicht auch abändern...

brechi 6. Apr 2010 19:58

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Wenn du glaubst es brignt irgendetwas ggn AntiDebugging -> es bringt rein gar nichts.

TheMiller 6. Apr 2010 20:03

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Nein das glaube ich natürlich nicht. Jetzt kommt wieder - d e r - Satz, der in jedem dieser Threads zu lesen ist:

Klar, alles ist crackbar - aber es sollen wenigesten die Gelegenheitscracker / Kiddies abgehalten werden.

Mehr will ich ja garnicht.

brechi 6. Apr 2010 20:12

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Es wird niemanden abhalten, nicht mal den Gelegenheitscracker. Jedes billige Ollydbg Plugin umgeht das direkt und man kann das Flag auch einfach selbst entfernen.
Man geht unter XP nach $7ffde000 entweder ist das 3. Byte ne 1 oder wenn nicht geht man an die Adresse die bei $7ffde030 steht, dann ist dort das 3. Byte ne 1.
Das setzt man au 0 und schon kann man das Programm debuggen. Und jemand der Debuggen kann (um überhaupt was zu erreichen) der kann Assembler und kann das dann selbst entfernen.

Außerdem hangelst du dir da Probleme ein wenn MS irgendwas ändert (und z.b. der Offset in Win9x auf Rechnern vill China etc. anders ist)

Btw. ist die Aussage mit dem call Schwachsinn, man patched das byte bzw. eben den code direkt. Und wenn du es doch mehrmals im Code verteilen willst nimm dir ne prozedure und markier sie als inline.

Luckie 7. Apr 2010 01:50

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Nun ja, das müsstest du dann mit Oliver klären. Ich habe damit nicht sehr viel Erfahrung.

TheMiller 7. Apr 2010 02:39

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Ehm okay. Ich wusste von der API-Funktion zB nichts. Und ich bin weiß Gott keiner, der keine Ahnung von der EDV etc hat - aber ok, man lernt ja nie aus.

Was könnte man denn machen, um wenigstens die Gelegenheits-Cracker abhalten zu können und so die Raubkopiererei in einem überschaubaren Maß zu halten? Was ist dein Vorschlag?

Wenn du was erklärst, wäre ich froh, wenn du etwas mehr ausholen könntest - wie gesagt, der AntiCracking-Kram ist für mich Neuland. Und das du Ahnung hast musst du nicht unbedingt mit lauter Fremdworten beweisen. Viel besser ist es, wenn du es ausführlich erklären würdest.

Vielen Dank im Voraus und gute Nacht

himitsu 7. Apr 2010 06:56

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Olli hatte aber auch nie gesagt, daß es ein "supersicher" Schutz ist.
Aber es gibt bestimmt so einige "Scriptkiddies" (jaja, es paßt nicht, aber das Wort beschreibt es soooo gut), welche daran scheitern (es sei denn sie sind so intelligent und finden so schöne Erklärungen, wie jetzt bei und hier, wie man etwas umgehnt :roll: )

PS: Im Endeefekt kann man doch alle Anti-Cracking-Maßnahmen umgehen, egal wie gut sie sind,
also wozu überhaupt noch schützen? Schaffen wir einfach Close-Source ab und stellen alles auf OpenSource-Freeware um und schon gibt es keine Probleme mehr.

schöni 7. Apr 2010 09:36

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Zitat:

Zitat von himitsu
Olli hatte aber auch nie gesagt, daß es ein "supersicher" Schutz ist.
Aber es gibt bestimmt so einige "Scriptkiddies" (jaja, es paßt nicht, aber das Wort beschreibt es soooo gut), welche daran scheitern (es sei denn sie sind so intelligent und finden so schöne Erklärungen, wie jetzt bei und hier, wie man etwas umgehnt :roll: )

PS: Im Endeefekt kann man doch alle Anti-Cracking-Maßnahmen umgehen, egal wie gut sie sind,
also wozu überhaupt noch schützen? Schaffen wir einfach Close-Source ab und stellen alles auf OpenSource-Freeware um und schon gibt es keine Probleme mehr.

Erstends kann OpenSource genauso für den unbedarften geschützt sein, denn der Unbedarfte steigt bei der Komplexität dieser Quelltexte nicht durch. Zweitens könnte man bei dieser Sichtweise prinzipiell alle Sicherheitsmaßnahmen abschaffen, da sie ja umgangen werden können.

Fragt sich dann halt nur, wie groß der Aufwand zur Umgehung ist und ob der Craker diesen Aufwand betreiben will.

Wenn jeder Schutz von ClosedSource umgangen werden kann, warum dann überhaupt OpenSource. Der Cracker kann doch den Code so auch bei Closed Souce analysieren, wie er es braucht.

Bei ner 50 Euro Software muss der Schutz weniger aufwendig sein, als bei ner 1000 Euro Software. Bei ner Industriesoftware, wo jede Arbeitsstund bezahlt werden muss, muss ja der illegale Nutzer die Arbeitsstunden für das Cracken bezahlen. Da reicht es, wenn der finanzielle Aufwand zum Crcken den Anschaffungsprei um ein Vielfaches übersteigt. Bei ner Konsumentensoftware muss halt der Aufwand zum Cracken unverhältnismäßig hoch sein bezügleich der benötigten Zeit, gegnüber dem Anschaffungspreis.

Allerdings funktioniert der Zeitschutz (Zeiaufwand zum Cracken) für den Gelegenheitsprogrammierer wegen der Komplexität heutiger OpenSource Programme auch beim OpenSource Konzept. Möglich das beim Profiprogrammierer Komplexe OpenSource Quellen kein wirksamer Schutz sind und der Profi dagegen beim Cracken von Closed Source auch einen ordentlichen Zeitaufwand hat, aber der Zeitaufwand, der zum Cracken nötig ist, entscheidet letztlich darüber, ob der Scutz wirksam ist. Denn wieviel Zeit ist der Cracker letzlich bereit, zu investieren, um das Programm möglichst billig zu kriegen.

Bei OpenSource kommt noch der Aufwand für das Compilieren dazu, wenn es keine vernäünftigen Make Dateien oder Konfigurationsdateien gibt.

Neutral General 7. Apr 2010 09:42

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Zitat:

Zitat von schöni
Erstends kann OpenSource genauso für den unbedarften geschützt sein, denn der Unbedarfte steigt bei der Komplexität dieser Quelltexte nicht durch.

Anmerkung dazu: Jemand der den Anti-Cracking Schutz umgehen kann, wird denke ich auch meistens den Code halbwegs verstehen ;)

himitsu 7. Apr 2010 10:08

Re: Luckies "myIsDebuggerPresent" liefert immer tr
 
Vielleicht ist es nicht richtig rübergekommen. :angel2:

Es war genau andersrum gemeint...
Zitat:

Zweitens könnte man bei dieser Sichtweise prinzipiell alle Sicherheitsmaßnahmen abschaffen, da sie ja umgangen werden können.
Es kann zwar alles umgangen werden, aber vieles mit etwas Aufwand und auch hier ist es mit etwas Aufwand verbunden, welche "einige" auch genug abschrecken mag.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz