AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kleines Übersetzungsproblem C-->Pascal
Thema durchsuchen
Ansicht
Themen-Optionen

Kleines Übersetzungsproblem C-->Pascal

Ein Thema von Neutral General · begonnen am 24. Mär 2007 · letzter Beitrag vom 24. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 12:32
Hi,

Code:
char buff1[5];
char buff2[9];
int *res;
res=buff1+12;
*res=*res+10;
Ich bekomm das auf Teufel komm raus nicht übersetzt

also normal müsste das doch so Aussehn (das oben is ne procedure):

Delphi-Quellcode:
procedure Egal;
var Buff1: Array[0..4] of Char;
    Buff2: Array[0..8] of Char;
      res: PInteger;
begin
  res := Buff1[0] + 12;
  @res := @res+10;
end;
aber das haut natürlich nicht hin....

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 12:56
res^ := res^ + 10;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#3

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 13:06
Zitat von sniper_w:
res^ := res^ + 10;
Der * bei "*res" bedeutet in diesem Fall nicht, dass es ein Pointer ist, sondern, dass du das Objekt hinter dem Pointer haben willst.

int* i; //Pointer auf ein Integer

"*i" = Objekt auf das der Pointer zeigt. Jetzt kann man mit i arbeiten, als ob es eine normale Integer-Variable wäre.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 13:08
Habe ich etwas falsch übersetzt?
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 13:44
Delphi-Quellcode:
procedure Egal;
var
  Buff1: Array[0..4] of Char;
  Buff2: Array[0..8] of Char;
  res: PInteger;
begin
  res := PInteger(@Buff1[12]);
  res^ := res^ + 10;
end;
So sähe die komplette Pascal-Übersetzung aus.

Allerdings muss das Ganze nicht klappen (sofern es überhaupt einen Sinn hat): denn wo @Buff1[12] landet wenn das Array selbst nur 5 Zeichen lang ist, ist reiner Zufall.

@sniper_w: nein
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 13:53
Zitat von Flocke:
Allerdings muss das Ganze nicht klappen (sofern es überhaupt einen Sinn hat): denn wo @Buff1[12] landet wenn das Array selbst nur 5 Zeichen lang ist, ist reiner Zufall.
Das muss so sein
Danke für die Übersetzung

EDIT:

Zitat:
[Error] Project1.dpr(13): Constant expression violates subrange bounds
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 14:46
PInteger(Integer(@buf1)+12)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#8

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 16:13
Zufall ist es nicht wo man landet, aber man landet im Gelaende, sprich im Stack. Es duerfte nicht Buff2 sein, denn der steht auf dem Stack unterhalb von Buff1.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 16:29
Zitat von Robert Marquardt:
Zufall ist es nicht wo man landet, aber man landet im Gelaende, sprich im Stack. Es duerfte nicht Buff2 sein, denn der steht auf dem Stack unterhalb von Buff1.
Ja genau so soll das auch sein
Versuche grad hier das zu verstehen.

INFO: Das ist keine(!) Hackerseite und weder der Besitzer dieser Seite noch ich haben irgendwas "böses" vor...

Zitat:
Ich habe durch die "Hackerinfos" auf dieser Homepage einige Mails erhalten, in denen mir Leute geradezu Unterstützung zweifelhafter Aktivitäten unterstellen.
Sicherlich durch unterschiedliche Wahrnehmung der Worte "Hacker, Hacking etc.", das ist der Grund für diese Zeilen.

Ich halte nichts davon, Rechner dadurch sicher machen zu wollen, indem man die Verbreitung von Hackerwissen (klingt "Security-Infos" schöner?) behindert.
Es gibt wirklich schon genug mangelhafte Sicherheitsansätze, aber dieser schlägt wohl alle.

Wären sich die richtigen Personenkreise; insbesondere Applikationsentwickler, über elementare Hackertechniken wir buffer overflow und format-bugs seit jeher bewusst,
hätten wir heute nicht diesen Scherbenhaufen von abertausenden von Applikationen, die Sicherheitslöcher in Systeme bringen.

So gesehen kann ich einfach keinen Unterschied feststellen zwischen

* Tips zum sicheren Programmieren wie "Nimm strncpy statt strcpy"
* Hinweise für Security-Consultants wie "Im Code-Review schau nach strcpy"
* Infos, wie man seinen Rechner absichert wie "Achte bei deinen Serverdiensten auf strcpy"

und eben Hackerinfos wie "durch falschen Einsatz von strcpy können Sicherheitslöcher entstehen".

Die dahinter stehende Information ist immer die gleiche. Und solange es keinen Weg gibt, diese Information nur Programmierern und nicht Crackern zugänglich zu machen,
halte ich es für sinnvoll, diese Infos allen zur Verfügung zu stellen.

Es ist auch sehr zweifelhaft, dass jemand durch die hier veröffentlichten Infos fremde, gut geschützte Rechner hackt und es ohne meine Seiten nicht geschafft hätte.
Der Weg von diesen Hacker-Basics bis zu diesem Punkt ist noch sehr weit und erfordert ein Wissen und Können, gegenüber dem alles hier Veröffentlichte schlichtweg elementar ist.
Einen buffer overflow zu verstehen, braucht nicht viel. Aber einen in einem verbreiteten Programm (mit viel Code-Reviews) zu finden und auch noch einen Exploit hinzukriegen,
das ist dann gleich nochmal was ganz anderes. Solche Leute belächeln diese Seiten hier.

Sinn und Zweck dieser Pages ist, Leute zu sensibilisieren; in erster Linie Softwareentwickler.
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#10

Re: Kleines Übersetzungsproblem C-->Pascal

  Alt 24. Mär 2007, 16:36
Das ist die aktuelle "Sicherheitslogik". Schon das Erklaeren worum es geht ist verdaechtig.
Sei vorsichtig. Kurnaz hat diese Logik nach Guantanamo gebracht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:22 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