| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: String löschen, nicht ersetzen im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hi, ich hätte mal eine kurze Frage und hoffe das sie hier reinpasst. :) In einem Programm steht vor ...
![]() |
| | #1 (permalink) |
| Registriert seit: 12.04.06 ![]() Likes: 0 | Anzeige Hi, ich hätte mal eine kurze Frage und hoffe das sie hier reinpasst. :) In einem Programm steht vor einem beliebigen String z.B. immer "Wort: ". Wenn ich das nun ändern will, muss ich ja eigentlich nur im Code nach "Wort: " suchen und das ersetzen. Dabei muss doch soweit ich weiss aber immer die Länge gleich bleiben. Wenn ich das nun einfach weghaben will ist es ja mit Leerzeichen nicht getan, weil dann ja der restliche Text zu weit rechts steht. Kann ich da dann einfach 00 oder ein Nullbyte oder wie das heisst einfügen? Ich hab gerade leider nicht die Möglichkeit es zu testen daher hoffe ich jemand kann mir das kurz beantworten. :) |
| | |
| | #2 (permalink) |
| Senior Member | Von welcher Programmiersprache sprichst du? C? Ohne diese Information könnst schwierig werden die Frage zu beantworten.
__________________ [HaBo] @ Facebook - Gefällt mir! |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 12.04.06 ![]() Likes: 0 | Achso sorry, ja C oder halt eine normale exe ohne java oder so.. |
| | |
| | #4 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Ist 'Wort' an sich nullterminiert oder folgen darauf andere Wörter? Wo wie ich es verstanden habe: 'Wort' ist ein Anhängsel und wird zu einem beliebigen String per concat (bzw Sprachspezifische Stringconcatfunktion) hinzugefügt. Nun kommt es darauf an, wie die Funktion arbeitet - kann nämlich sein, dass sie den Dienst bei 0-String verweigert Daher bleibt eher nur ausprobieren - entweder durch Nullbyte ersetzen (reicht aus, wenn man W ersetzt - also das erste Zeichen) oder eben statt W ein Leerzeichen und dann Nullbyte. Zitat:
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 12.04.06 ![]() Likes: 0 | Ja genau danke, so meinte ich es.. Ich hab es jetzt mal getestet und in dem Beispiel hat es tatsächlich einfach mit 00 geklappt ![]() Code: #include <iostream.h>
void main(){
char asd[20];
cin >> asd;
cout << "\nWort: " << asd << "\n";
} Was hat es denn damit auf sich? [Edit] Ich hab mal ein Screenshot gemacht... irgendwie scheint das ja irgendwo reinzugeraten. Aber wo? Und woher weiß man sowas? ![]() Achso ich benutze übrigens Visual C++ |
| | |
| | #6 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
Vor der Modifizierung stand hinter 'Wort: ' wohl ein 00 und 0A 00 (weitere 00) weitere 00 sind entweder irgendwelche (globalen) Variablen oder einfach Bytepadding (Auffüllbytes für schöneres Alignment ) Jedenfalls wird ja im Originalcode zuerst was eingelesen und der Inhalt des Buffers mit "\n" (also der überschriebenen 0A
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 12.04.06 ![]() Likes: 0 | Danke erstmal ![]() Also wenn ich jetzt "Wort: " durch sagen wir mal "WortWortWort: " ersetzen will muss ich herausfinden oder wissen an welcher Stelle die Länge des Strings "Wort: " steht und diese anpassen? Und dann warscheinlich sicherheitshalber auch gleich auf ein 2^n angepasst oder? |
| | |
| | #8 (permalink) | |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | Zitat:
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. | |
| | |
| | #10 (permalink) |
| Registriert seit: 28.05.08 ![]() Likes: 0 | Hallo blobbo, so ganz habe ich nicht verstanden was du vor hast. Möchtest du einen String aus deinem Programm zur Laufzeit löschen, einen Hex-Wert löschen oder den Quellcode ändern? Zudem denke ich, dass du hier falsch bist. Wäre es nicht sinnvoller den Thread hierhin zu verschieben: http://www.hackerboard.de/board.php?boardid=19 ? the_uxreal |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| kann ordner nicht löschen | GreenGecko | Die Problemzone | 3 | 21.02.07 15:21 |
| kann nicht löschen | Easyrider | Linux/UNIX | 6 | 10.11.04 09:08 |
| Kann .avi nicht löschen | -FL<>me- | Die Problemzone | 4 | 17.04.04 10:21 |
| VB - Registry String löschen | Darkmind | Code Kitchen | 0 | 06.11.03 18:48 |