Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Patchen einer While Schleife

Diskussion: Patchen einer While Schleife im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo in meinem C Programm gibt es folgende Zeilen (auszüge) Code: namespace { // Anzahl der Seiten die ausgegeben ...

Antwort
Alt 10.11.10, 13:24   #1 (permalink)
 
Registriert seit: 28.12.07
MrFreeze Leistung: Facit NTK
Likes: 0
Standard Patchen einer While Schleife

Anzeige

Hallo

in meinem C Programm gibt es folgende Zeilen (auszüge)

Code:
namespace {
// Anzahl der Seiten die ausgegeben werden sollen
const size_t maxsitestosee = 8;
}  // namespace
Code:
size_t oi = 0;
  while (oi < maxsitestosee ) {
   ...........
}

genau dazu möchte ich einen Patch schreiben der dannden Wert 8 anhebt auf sagen wir 20. Da ich Anfänger bin was Dissambler angeht stehe ich auf dem Schlauch zumal ich da sehr viele weitere while Schleifen nutze...
Wie finde ich diese eine richtige? Tipps und Ideen sind gesucht


ps: Es gibt keine Strings nach denen gesucht werden kann!
MrFreeze ist offline   Mit Zitat antworten
Alt 17.11.10, 11:52   #2 (permalink)
Themenstarter
 
Registriert seit: 28.12.07
MrFreeze Leistung: Facit NTK
Likes: 0
Standard

Keiner einen Tipp für mich wie ich das mache bzw vor allem die richtige Whileschleife finde?
MrFreeze ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.11.10, 00:44   #3 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Welchen Debugger verwendest du denn? Im GDB kannst du z.B. mittels 'set var foobar = value' einer Variable (foobar) einen Wert (value) zuweisen. Siehe z.B. http://stupefydeveloper.blogspot.com...variables.html
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Alt 18.11.10, 13:40   #4 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

Es gibt keinen "geheimen" Trick .
Schau Dich einfach (statt Strings) nach möglichst "einzigartigen" Aktionen in der Nähe der Whileschleife um - z.B Aufrufe der Funktionen in Standardbibliotheken (fopen, atoi) oder auch Kombinationen der häufig gebräuchlichen Aufrufen (z.B malloc/realloc in Verbindung mit anderen). Damit lässt sich die Suche meistens gut eingrenzen.

Zudem kannst Du auch nach Initialisierungsroutinen suchen.
In OllyDbg 1.10:
Einmal direkt nach Konstanten: Rechtsklick, "Search for" -> Constants

oder unscharfe Suche:
Strg+F für Suchmaske:
MOV dword ptr [R32+CONST],8

sollte die lokalen Variablen finden, die mit 8 initialisiert werden
(statt R32 kann man auch EBP angeben)
da man allerdings nie sicher sein kann, was der Compiler aus dem Code letzendlich macht, wären auch andere Suchmuster erwähnenswert:
MOV DWORD PTR[R32],8
oder
MOV R32, 8

mit etwas Pech generiert der Compiler allerdings auch sowas:
Code:
mov REG, dword ptr [constantenspeicheradresse]
mov [EBP-X], REG
oder ähnliches (also Code, in dem der gesuchte Wert nicht direkt vorkommt). Da bleibt eben die oben erwähnte Suche über die "Umgebung".
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 19.11.10, 19:47   #5 (permalink)
Themenstarter
 
Registriert seit: 28.12.07
MrFreeze Leistung: Facit NTK
Likes: 0
Standard

Das einzige was pregnatn direkt unter der while Schleife steht im QuellCode ist:

Code:
bool finding = false;
bool marked = false;

sowie direkt über der schleife:
Code:
size_t dat_idx = 0;
size_t out_idx = 0;
size_t pop_idx = 0;
Aber in diesem Bereich in Olly gibt es zwar paar Einträge die "MOV dword ptr [R32+CONST]," ähnlich sind aber leider nicht mit einer 8

Na ich werd mal weiter suchen. Muss erst einmal rausfinden wie BOOL Werte aussehen...
MrFreeze ist offline   Mit Zitat antworten
Alt 21.11.10, 21:05   #6 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

0 und -1
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Patchen einer While Schleife
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61