Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 18:58

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Länge eines unbekannten Arrays?

Discussion on Länge eines unbekannten Arrays? within the C/C++ forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Länge eines unbekannten Arrays?

Hay, ich habe da ein Problem.
Ich hole mir einen Pointer auf ein Array mittels inline asm. Später brauche ich aber die Größe von dem array, was jedoch dann nicht mehr geht.

In Code ausgedrückt:
Code:
char *bufebx;
...
__asm
{
mov bufebx, EBX
}
Hat jemand eine Idee, bzw. einen anderen Lösungsweg wie ich die Länge bestimmen kann?

Edit: Es handelt sich übrigens um Dateien in dem Array, also Bilder etc.
Zwawo is offline  
Old 01/04/2013, 19:41   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Nein.

EDIT: Um es konkreter zu sagen: Solange du nicht sicher weißt, dass es eine Art Abschluss-Element in dem Array gibt und die Information der Länge des Arrays dir wirklich nicht zur Verfügung steht: Nein. In der Regel führt man die Information über die Länge aber mit, sofern man kein Abschluss-Element hat.
xNopex is offline  
Thanks
1 User
Old 01/04/2013, 20:10   #3


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
Ich bin mir über das, was ich jetzt sage, nicht ganz sicher und bitte daher um begründete Ablehnung, sollte es falsch sein.
Wenn das Array auf dem Heap liegt, also mit malloc / new Speicher dafür alloziert wurde, könnte man doch durch gehen und mit IsBadReadPtr abfragen, ob das Element noch mitalloziert wurde. Wenn die Funktion true zurückgibt, kann man davon ausgehen, dass das aktuell überprüfte Element nicht mehr zum Array gehört. Diese Methode könnte Probleme machen, wenn direkt "hinter" dem Array Speicher für irgendetwas anderes alloziert wurde, dann wird false zurückgegeben, obwohl das Array schon zu Ende ist. Nicht die perfekte Methode, aber sollte doch funktionieren, oder?
MfG
Jeoni
Jeoni is online now  
Old 01/04/2013, 20:36   #4
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Bei Textdateien geht es ja mit fstream...
Woher kann mein Programm denn eigentlich wissen, wie viel es in die Datei schreiben muss, welche mit fstream arbeitet.
Bzw. das funktioniert wunderbar :
Code:
files << bufebx;
"files" ist dabei i.eine erstellte neue Datei. Woher aber kennt mein Programm die Länge des Arrays von "bufebx"?

Bei Bildern wird es halt nur mit fwrite schwierig, da ich dort die Länge brauche.
Zwawo is offline  
Old 01/04/2013, 20:44   #5


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
Wenn das so ist, dürfte bufebx ein nullterminierter String sein. Dessen Länge kann man auch mit bestimmen.
Bei Bildern kannst du ja mal schauen, in welchem Format sie sind und dich damit vertraut machen. Es könnte sein, dass "am Anfang" oder eben bei Byte xy die Größe des Bildes hinterlegt ist.
Hoffe, dass das hilft
Jeoni
Jeoni is online now  
Thanks
1 User
Old 01/05/2013, 00:42   #6
 
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
Hm, die Dateien haben alle ein anderes Format. Zudem finde ich weder in den registern noch auf dem stack die Größe der Datei. Die Datenblöcke im Speicher sind genau so, als würde man sie im hex editor öffnen.
Gibt es nicht i.eine Möglichkeit schon die Größe aus EBX mit inline asm herauszufinden?

Edit: Okey, ich denke ich hab's gelöst. Die Größe war versteckt, aber habe sie nun gefunden.

#closerequest
Zwawo is offline  
Old 01/05/2013, 21:20   #7

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
#closed
Adroxxx is offline  
Closed Thread


Similar Threads Similar Threads
Hilfe bei meinem unbekannten Fehlercode.
08/25/2012 - Guild Wars 2 - 6 Replies
Hey, wie oben schon steht habe ich einen unbekannten fehlercode, nämlich Fehlercode: 122:4:5:1270 Im Internet finde ich nur 42...FehlerCodes. Ich habe den Key als Deluxe Edition vor ein paar monaten hier auf Elite PVP gekauft, by "It's Locat" und mir wurde versichter! das es ein 3 Tage Headtstart key ist. Kann es sein das es kein Headstart key ist bzw der Key irgendwie gebannt ist? :/ Help Pls!!!!
D3: Accounts von Unbekannten geplündert
06/02/2012 - Gaming News - DE - 70 Replies
Seit dem Wochenende häufen sich die Berichte in den Battlenet-Foren, bei welchen zahlreiche Diablo 3-Spieler behaupten, dass ihre Charaktere das vorher vorhanden gewesene Gold sowie ihre Gegenstände plötzlich nicht mehr besitzen. Selbstverständlich kann man solche Vorfälle auf das Hacken und das gezielte Durchsuchen nach wertvollen Gegenständen und Gold in diversen Accounts zurückführen. Sehr oft wurden bisher bei diesen Vorfällen High-Level-Charaktere ausgeraubt, ihre Ausrüstung wurde ihnen...
[How To]Ip von unbekannten Servern herausfinden
11/30/2009 - Metin2 PServer Guides & Strategies - 4 Replies
Hallo, Ich zeige euch hier wie ihr die Ip von unbekannten Servern herausbekommt. 1.Als Erstes öffnet ihr Cmd 2.Als zweites den Client vom Privat Server 3.Ihr loggt euch ein und während dem einloggen gibt ihr in Cmd Netstat ein. 4.Da stehen jetzt sehr viele Ips,die mit den Ports 11002 und 1300... sind die Serverips. 5.Viel Spaß und Thx
Verwendung der unbekannten Blume
11/18/2009 - Metin2 Private Server - 8 Replies
Hallo Community, ich möchte einen OX-Wettbewerb auf meinen Server machen. Also habe ich einen kleinen Test gemacht und versucht die unbekannte Blume zu bedienen. Leider habe ich immer noch nicht herausgefunden wie man Fragen stellt, weil die Blume immernoch in der Originalsprache ist und ich nicht weis wenn ich sie übersetzen würde was das alles bedeutet. Kurz: Könnt ihr mir sagen was ich bei der unbekannten Blume anklicken muss um die vorgefertigten Fragen stellen zu können? Ihr bekommt...



All times are GMT +2. The time now is 18:58.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.