Bewegen innerhalb eines Speicherbereiches

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Bewegen innerhalb eines Speicherbereiches

Beitrag von R3booz »

Wie kann man das machen? Gibt es sowas wie MemorySeek()? Oder wie würdet ihr das machen?
Anders gesagt ich will nur einen bestimmten Speicherbereich Auslesen.

MfG R3booz
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von STARGÅTE »

Wozu soll MemorySeek() gut sein?

Du gibst bei allen Memory-Funktionen doch eh immer explizit die Adresse/Zeiger im Speicher an.
Also einfach PeekL(BestimmteSpeicheradresse) ließt dir eine Long aus der bestimmten Speicheradresse.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von R3booz »

Nein ich meine wenn ich z.b. eine exe in den Speicher lade und da nur ein Stück 'rausschneiden' will ;)
MemorySeek() sollte wie FileSeek() funktionieren einfach den lese/schreib Zeiger verschieben wenn es einen gibt bei dem Speicher ich hab nicht sooooviel. Ahnung davon :oops:
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von cxAlex »

R3booz hat geschrieben:Nein ich meine wenn ich z.b. eine exe in den Speicher lade und da nur ein Stück 'rausschneiden' will ;)
MemorySeek() sollte wie FileSeek() funktionieren einfach den lese/schreib Zeiger verschieben wenn es einen gibt bei dem Speicher ich hab nicht sooooviel. Ahnung davon :oops:
IO_Memory() aus meiner IO.pbi liefert genau sowas.
http://purebasic.fr/german/viewtopic.php?t=26600

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von R3booz »

kann ich auch irgendwie die funktion alleine benutzen?
weil ich mag es nicht abhängig von code von anderen zu sein :/
übrigens schau mal ^^ ich glaube ich hab den kopf zu deinem schicken anzug :lol:
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von ts-soft »

Eine einfache Variante wäre es, einfach die aktuelle position im Verhältnis zum Anfang festzuhalten.

Code: Alles auswählen

Define Position.i = 0

a = PeekL(*mem + Position)
Position + SizeOf(Long)
b = PeekA(*mem + Position)
Position + SizeOf(ascii)
...
Evtl. mit Macros noch automatisieren und schon wird alles schön :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von R3booz »

jaaa...
aber wie erwähnt sind es nicht nur zahlen die ich auslesen will sondern dateien (exe,dll,...) was halt nicht aus zahlen strings oder so besteht :roll:
und bitte fragt mich jetzt nicht für was ich es brauche :wink:
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von shadow »

Wenn man schon Software cracken möchte, muss man schon mehr Eigeninitiative an Tag legen. Vor allem fehlt dir seeehr viel Grundwissen was die Computertechnik und vor allem Programmierung angeht.
Grund für meine "harsche" Art: Mir scheint, du möchtest hier eine bereits fertige Lösung präsentiert bekommen, die du dann einfach durch Copy&Paste verwenden und als dein eigenes Werk präsentieren möchtest. Mal davon abgesehen, dass sowas moralisch verwerflich wäre, so ist das sehr gefährlich. Dir könnte man (mangels deines Wissens) einen Virus übermitteln, den du noch SELBST auf deinem Rechner kompilieren würdest :freak:

Aber wie gesagt, soll kein persönlicher Angriff sein. So what :allright:
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von R3booz »

1. ich möchte keine software cracken sondern einfach nur in meinem speicher hin und her swaggen
2. nein fehlt mir nicht (woher willst du das wissen?)
3. nein ich möchte keine fertige lösung sondern einfach eine möglichkeit so etwas durchzusetzen da ich auf keine komme und bis jetzt keine gefunden habe
4. so doof bin ich nun wirklich nicht ^^

:bounce:

EDIT:
ok hast du nicht aber wer hat so wenug wissen und würde es nicht erkennen?
sorry aber du hast mich komplett miss verstanden
ich rede von speicher den ich ganz normal in pb reserviert habe
und wo ich nur einen teil 'ausschneiden' möchte mehr nicht
und cracken ist was anderes du meinst injizieren
Zuletzt geändert von R3booz am 09.04.2013 21:30, insgesamt 3-mal geändert.
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Bewegen innerhalb eines Speicherbereiches

Beitrag von shadow »

R3booz hat geschrieben: 4. so dumm bin ich nun wirklich nicht ^^
Sowas habe ich nun wirklich nie behauptet :?

Das was du vorhast nennt sich nunmal "cracken". Du möchtest die Speicherbereiche einer Drittanwendung beeinflussen. Das ist für gewöhnlich nicht erlaubt/erwünscht. Aber gut, ich möchte nicht zu sehr Offtopic gehen und überlasse das Feld denjenigen, die dir bei deinem Problem helfen können.
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Antworten