AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Zugriff auf Speicher meines Programms verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Speicher meines Programms verhindern

Ein Thema von Cybersurfer · begonnen am 20. Jan 2004 · letzter Beitrag vom 21. Jan 2004
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#21

Re: Zugriff auf Speicher meines Programms verhindern

  Alt 20. Jan 2004, 18:21
Zitat:
Muß er nicht. Wenn er eine Variable hat, sucht er alle Stellen im Speicher (die mit dem Programmablauf zu tun haben), die dem Inhalt der Variable entsprechen. Danach sucht er im Programmablauf, wo auf diese Stellen zugegriffen wird und überprüft, ob sie tatsächlich eine Variable sein könnten. Wieso also 3 Tage warten, was in einem Abwasch geht?
Das funktioniert NUR wenn im Code des Programmieres direkt auf diese Schattenvariablen zugegriffen wird. Ich gehe aber bei solchen Spielereien immer davon aus das solche Variablen indirekt addressiert werden. D.h. in diesem Moment wird per Program in anderen Variablen die reale Adresse der Schattenvariable dynamisch berechnet. Nun funktioniert dein obiger Vorschlag nicht mehr so einfach. Eine einfache Methode wäre die Anwendung von OOP. Bei dynamischen Objecten werden deren Felder ja immer indirekt adressiert.

Zitat:
Aber um es auf den Punkt zu bringen: Was ich sagen will und was ich oben schon gesagt habe, nicht so viel Zeit und Elan in Sachen stecken, die eh nicht den 100%igen Erfolg haben, sondern eher in die Funktionalität des Spiels. Was nützt es, wenn keiner einen Trainer proggen kann, aber das Spiel keiner spielt, weil es Sch...ße ist.
Da stimme ich dir voll zu, der Aufwand sollte gerechtfertigt sein. Grundsätzlich bin ich aber der Meinung das der normale Programmierer bei komplexen und großen Anwendungen durch seine enorme Entwicklungsgeschwindigkeit den Vorteil auf seiner Seite hat. Mit wenigen Mausklicks erzeugen wir ganze Programme die der Cracker mit recht "primitiven" Werkzeugen in "unverständlichem" Assembler vor sich sieht. Im Grunde dürften es garnicht so viele Cracks geben, wenn die Cracker nicht so verdammt gut wären. Programme erstellen ist heute Fließband-Arbeit, Programme cracken dagegen manuelle Hand-Arbeit.

Gruß Hagen
  Mit Zitat antworten Zitat
Mikko

Registriert seit: 23. Jan 2003
Ort: Baden
65 Beiträge
 
#22

Re: Zugriff auf Speicher meines Programms verhindern

  Alt 20. Jan 2004, 19:16
Zitat von negaH:
Das funktioniert NUR wenn im Code des Programmieres direkt auf diese Schattenvariablen zugegriffen wird. Ich gehe aber bei solchen Spielereien immer davon aus das solche Variablen indirekt addressiert werden. D.h. in diesem Moment wird per Program in anderen Variablen die reale Adresse der Schattenvariable dynamisch berechnet. Nun funktioniert dein obiger Vorschlag nicht mehr so einfach. Eine einfache Methode wäre die Anwendung von OOP. Bei dynamischen Objecten werden deren Felder ja immer indirekt adressiert.
Stimmt. Da hätte der Cracker Mehrarbeit und es ist eine relativ einfach zu verwirklichende Methode.

Zitat von negaH:
Im Grunde dürften es garnicht so viele Cracks geben, wenn die Cracker nicht so verdammt gut wären. Programme erstellen ist heute Fließband-Arbeit, Programme cracken dagegen manuelle Hand-Arbeit.
Genau. Es ist auch immer eine Frage Aufwand zu Nutzen. Wenn niemand ein Programm haben will, wird sich auch kaum ein Cracker mit ihm beschäftigen. Ist aber ein Programm sehr gefragt, dann sieht das schon anders aus. Da ist der Elan weit höher, auch wenn der Schutz noch so hoch ist.
  Mit Zitat antworten Zitat
Cybersurfer

Registriert seit: 7. Sep 2003
6 Beiträge
 
#23

Re: Zugriff auf Speicher meines Programms verhindern

  Alt 21. Jan 2004, 00:36
Vielen dank für die vielen schnellen antworten

1. Meine erkenntnis der speicher ist nicht sicher man kann nur hindernisse einbauen!

2. Unter google danach zu suchen is blöd weil ich kein Russisch kann und von den 3 seiten sind die meisten auf russisch oder japanisch sind! Aber was ich bisher nun dazu finden konnte sagt mir das ich mit der funktion nur prüfen kann ob das prog selbstständig läuft oder ob es von einem anderen prog aufgerufen wurde! Stimmt das so?

Danke auch für die anderen anregungen ich denke ich werde einige davon umsetzen!

Was ich noch sagen wollte. Es ist leicht zu sagen derjenige der schummelt beschummelt sich nur selber und wäre es so würde ich ihm das auch gönnen denn er kann ja dadurch mehr spaß am game haben aber wenn es um online oder netzwerk spiele geht sieht es anders aus! Dort beschummelt derjenige nämlich seine gegner und denen kann so die lust am spielen vergehen!!

edit: hab noch was vergessen.

Das man mit der funktion einen debugger finden kann ok aber ein einfaches trainer programm das den speicher liest und beschreibt gilt das auch als debugger und wird dadurch gefunden?
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#24

Re: Zugriff auf Speicher meines Programms verhindern

  Alt 21. Jan 2004, 06:58
Zitat:
... um online oder netzwerk spiele geht sieht es anders aus! Dort beschummelt derjenige nämlich seine gegner und denen kann so die lust am spielen vergehen!!
Das verändert die Situation total. Netzwerkspiele sind wesentlich sicherer zu bekommen als reine PC Spiele. Das liegt daran das der Spiele-Server kein Interesse hat einen Vollzugriff auf die Server-Scripte/Datenbanken/CGI's oder eben DLL's zuzulassen. Somit kann man die Server Software wie einen einbruchsicheren Safe konstruieren. Auf dem Server selber werden die Spieler-Informationen wie Passwort/Lebenszähler/Levels usw. gespeichert. Die Kommunikation zwischen Server und PC-Spiele ist relativ einfach sicher zu bekommen.

Zitat:
Das man mit der funktion einen debugger finden kann ok aber ein einfaches trainer programm das den speicher liest und beschreibt gilt das auch als debugger und wird dadurch gefunden?
Natürlich nicht. Es können nur "Debugger" gefunden werden die dem OS als Debugger bekannt gegeben wurden. Leider hat das OS-API nicht sehr viel mit echtem Debuggen zutun. D.h. IsDebuggerPresent() unterstützt 1. nur eine ganz spezielle Form des Debuggings von Windows Programmen, 2. kann diese Funktion aus Sicht deines Programmes modifiziert werden und liefert FALSE und 3. ist es der ideal Startpunkt für einen Cracker seinen Angriff zu starten.

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr.
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