Autor Beitrag
Schalla Threadstarter
Hält's aus hier
Beiträge: 9

WinXP, Ubuntu Linux
Borland Delphi 7, Borland C++(5.02), Notepad ++, PHP, HTML, MySQL,...
BeitragVerfasst: Fr 03.04.09 10:43 
Hehe nice... wieder was gelernt ;)

Also @ user profile iconjaenicke

Sone Seite gibts bereits xD
Ich habe Sie gleichzeitig mit auf den Server geladen um zu testen ob das Eintragen in die MySQL-Db überhaupt funktioniert... Machich bei fast jeder Datenbank die ich erstelle als erstes... wundert euch net^^

Vielmehr fand ich eure anderen Antwort interessant. Mit dem Hexeditor habe ich erst 2-3 mal gearbeitet, dann aber recht schnell die Hoffnung aufgegeben ... zu unübersichtlich ohne "logische" Erklärung. Und diese anderen Methoden á la Memhack oder T-Search find ich sehr nice :>

EDIT: Nein user profile iconSylvus, leider muss ich dich direkt wieder herauslöschen xD
Ich hoffe du strengst dich mal an und versucht nen "echten" 600er Score zu schaffen... is ganz schön schwer ;)
Die Scores, die da drin stehen sind alle "echt"... die Leute wüssten nicht ansatzweise wie man sowas manipuliert, weder mit HTML Script noch mit einem noch komplizierteren Programm.

Vielen Dank für Eure Antworten ;-)

Grüße - Kevin
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 03.04.09 14:39 
user profile iconSchalla hat folgendes geschrieben Zum zitierten Posting springen:
Mit dem Hexeditor habe ich erst 2-3 mal gearbeitet, dann aber recht schnell die Hoffnung aufgegeben ...
Ok, anders: Nimm Notepad oder einen anderen normalen Editor, öffne damit die Exe und such nach http:// ;-)
Schalla Threadstarter
Hält's aus hier
Beiträge: 9

WinXP, Ubuntu Linux
Borland Delphi 7, Borland C++(5.02), Notepad ++, PHP, HTML, MySQL,...
BeitragVerfasst: Fr 03.04.09 14:47 
oh lawl.... -.-"

Das is ja wirklich zu einfach O_o

Danke dir, jaenicke ;)

Grüße - Kevin
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 03.04.09 15:16 
Du kannst zum Beispiel einfach eine einfache Verschlüsselung benutzen. Schon Cäsar oder sowas reicht ja. Das ist zwar leicht knackbar, man muss aber erstmal den richtigen String finden und der sieht ja dann nicht mehr nach einer Internetadresse aus. Nach http oder so suchen geht also nicht mehr.

Natürlich kann man es trotzdem finden oder eben auf anderem Wege manipulieren, aber zumindest ist es nicht mehr ganz so einfach. Eine andere Idee wäre einen Schlüssel vom Server anzufordern, der dann auf bestimmte Weise manipuliert und an das Skript mit übergeben wird. Dieser kann z.B. auf der aktuellen Serverzeit basieren.

All das sind nebenbei auch nette Übungen. :D
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 10.04.09 21:05 
Hey!
Tolles Spiel, gefällt mir.

Ich habe die dritte Variante verwendest, um den Highscore zu manipulieren:
Programm disassembliert, entsprechende Variablen-Adresse herausgesucht ($473F00) und anschließend deren Startwert geändert. Fertig. :)
Gefunden habe ich die Variable allerdings nur über den Text "Du hast schon ... gefressen", wäre der so nicht lesbar gewesen, wäre es um Längen schwerer geworden.
Aber dieses Lücke wurde ja bereits angesprochen.

Grüße
Schalla Threadstarter
Hält's aus hier
Beiträge: 9

WinXP, Ubuntu Linux
Borland Delphi 7, Borland C++(5.02), Notepad ++, PHP, HTML, MySQL,...
BeitragVerfasst: Di 28.04.09 18:33 
Hallo nochmal liebe Delphi-Community,
ich muss euch hier und jetzt direkt nochmal nerven xD

Und zwar geht es darum, dass ich ein großes Problem festgestellt habe in dem Programm, welches ich tunlichst noch beheben möchte vor der Abgabe.
Ich habe auch schon in sehr vielen Foren und natürlich auch hier die Suchfunktion genutzt, jedoch keine gnaue Antwort auf mein Problem gefunden, da nach meinem Wissenstand alles richtig gemacht ist.

Es geht um folgendes Problem:
Wenn ich die Snake.exe starte, jedoch keine Internetverbindung besteht, und versuche über das Programm mir den Highscore anzeigen zu lassen oder einen Highscore einzutragen, dann spuckt das System einen schwerwiegenden Fehler aus:
Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.

Der Fehler wird in Zeile 21 der folgenden function ermittelt.

ausblenden volle Höhe 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:
31:
32:
33:
34:
function TForm1.SendPostData(Ahttp: TIdHTTP; const AtoURL: string;
const aParams: TStrings): string;
  //Ahttp: Die HTTP Komponente von Indy 9.0
  //AtoURL: An diese URL werden die Informationen gesendet
  //Result: Allgemein: Rückgabe/Resultat - Hier: die HTML-Antwort
Var
  lStream: TMemoryStream; //HTML-Result des PHP-Scripts
  lParams: TStringStream;
  I: Integer;
begin
  Result:='';
if not Assigned(aHttp) then
  exit;
  lStream := TMemoryStream.create;
  lParams := TStringStream.create('');
try
  AHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
for I:=0 to aParams.Count-1 do
  lParams.WriteString(aParams[I] + '&');       //Streamdaten erzeugen
try
  AHTTP.Post(AtoURL, lParams, lStream);        //Stream mit php verknüpfen
except
  MessageBox(Self.Handle, 'Es konnte nicht auf die Online ' +
  'Highscoreliste zugegriffen werden. Bitte stellen sie sicher, ' +
  'das eine Verbindung zum Internet besteht.''Fehler', MB_OK or MB_ICONSTOP);
end;
  SetLength(Result,lStream.Size);
  lStream.Position:=0;
  lStream.ReadBuffer(Result[1],lStream.Size);
finally
  lParams.Free;
  lStream.Free;
end;
end;


Nun die Frage: Warum zur Hölle, fängt der den Fehler nicht ab. Ich hab da ja nicht umsonst try/except/finally benutzt. Und soviel wie ich jetzt mitlerweile erfahren habe, ist das genau die richtige Art und Weise einen solchen fehler zu catchen und eine Fehlermeldung entsprechend auszugeben.

Ich hoffe ihr könnt mir weiterhelfen.

Achso: Wer den fehler einmal reproduzieren möchte einfach eine der lten exen nehmen (müsste in jeder so sein) oder HIER die neuste Version herunterladen.

Grüße - Kevin


//EDIT: Habe auch gerade probiert unter uses IdException mit einzubinden und dann mittels "on EIdSocketError do" den Fehler abzufangen -> Ohne erfolg :(
Ich dachte ich wäre stark eingeschränkt mit meinen -16 Diopthrin aber das Programm is ja noch schlimmer wennichs doch sogar vorhersage welcher Fehler kommen wird xD

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Sorry für den Doppelpost - aber ich war so dreist und habe um die Übersicht ein wenig zu behalten kein edit machen wollen.

Problem ist gelöst und weil ich es selbst hasse wenn jemand so nen Problem postet und die Lösung nirgends steht erklär ich meinen Fehler schnell:

Die Exception wurde vom Debugger der IDE (in meinem Fall Delphi 7) gefunden bevor das Programm die Exception überhaupt erst abfangen konnte. Kompiliert als exe datei funktioniert es (fast) einwandfrei.(-> Fehler an anderer Stelle gemacht)

Grüße - Kevin
Einloggen, um Attachments anzusehen!
>M@steR<
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 288
Erhaltene Danke: 3



BeitragVerfasst: Sa 09.05.09 14:01 
Gelöscht


Zuletzt bearbeitet von >M@steR< am Di 17.09.13 02:15, insgesamt 1-mal bearbeitet
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 09.05.09 15:20 
Hi :)

Wie soll das denn funktionieren? :gruebel: Jemand, dem das unbekannt ist, würde dann einfach einen um 34 falschen Score bekommen - was bei 600 Punkten ja nicht so schmerzhaft wäre :?

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
>M@steR<
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 288
Erhaltene Danke: 3



BeitragVerfasst: Sa 09.05.09 15:51 
Gelöscht


Zuletzt bearbeitet von >M@steR< am Di 17.09.13 02:15, insgesamt 1-mal bearbeitet
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Sa 09.05.09 16:41 
Aber man kann immer noch gefakede Scores an den Server senden: Einfach die URL mitschneiden und selber senden :wink:

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
>M@steR<
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 288
Erhaltene Danke: 3



BeitragVerfasst: Sa 09.05.09 19:12 
Gelöscht