OldSchoolHack

Register / Login English

Exe vergrößern


icon Exe vergrößern #1

Join Date: Jul 2013

Posts: 10

Moin nochmal,

Ich arbeite derzeit an einem Projekt von dem ich den Sourcecode nicht habe. Daher füge ich die benötigten Funktionen über ASM ein. Leider habe ich keinen Platz mehr um einen Code Cave zu bauen, daher meine Frage:

Kann ich die EXE so vergrößern das ich diese mit festen Strings adressieren kann? Wenn ich die Bytes mit dem Hex Editor am ende der Datei anhänge, dann kann ich diesen nicht auslesen. Schreibe ich es aber so ans ende der Datei das ich zwar hinter dem Programmcode, aber noch vor den File Informationen bin, dann kann ich den neuen Bereich zwar schreiben aber leider zerschieße ich mir u.a. damit das Icon und die Dateiinformationen die ich im MP zum versionsabgleich brauche.

Ebenfalls würde ich zusätzlich zur Laufzeit ein paar mehr KB im Arbeitsspeicher adressieren um dort Variablen zu schreiben ohne andere Funktionen zu zerstören.
Kann ich da einfach über Ollydbg den bereich von KERNEL32.HeapAlloc mit neuen Werten versehen oder muss ich noch auf andere Dinge achten?

Für Hilfe bin ich Dankbar

icon #2

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
Du kannst auch einfach im PE Header ne beliebige Section größer machen. Musst nur drauf achten, dass du dann auch den Bereich in der exe entsprechend vergrößerst.

__________________

Hallo
icon #3

Join Date: Jul 2013

Posts: 10

Hallo KN4CK3R, ich hatte auch schon die Idee eine neue Section anzuhängen mit LordPE aber leider ist mir das Spiel dann immer gecrasht. Habe vor 5 Minuten auch rausgefunden wieso... Ich hatte die ImageSize falsch berechnet.. Jetzt hab ich durch die Sektion nochmal 50KB an Daten hinten angehängt. Vielen Dank

Kann ich den Speicher der neuen Sektion jetzt auch für Variablen benutzen? Bestimmte Variablen im Spiel sind schlichtweg zu klein für meine Zwecke, daher möchte ich andere Deklarieren die mehr erfassen können. Diese müssten dann aber zur Laufzeit beliebig beschreibbar sein.

Ein Beispiel:

Es sind 20 Blöcke a 64 Byte für Maps deklariert. Das bedeutet jedesmal wenn ich in den Multiplayer gehe, berechnet er die ersten 20 Karten. Mehr geht einfach nicht, da der Platz nicht ausreicht. Könnte ich also jetzt statt z.b. 20x64 etwa 50x64 adressieren? Oder wäre dieser Bereich ausserhalb des schreibbaren bereiches?
Last edited by RedShakal (Sat 3. Aug 2013, 14:33)

Reason: no reason given

icon #4

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
Was hindert dich dran Speicher vom Heap zu benutzen? Da kannste dir ja (theoretisch) beliebig viel Speicher dynamisch holen.

__________________

Hallo
icon #5

Join Date: Jul 2013

Posts: 10

Der Heap wurde mit VirtualAlloc auf 4096 gesetzt, wenn ich ihn verdoppeln will dann passiert garnichts und bei 16000 crasht das Spiel einfach mit einem Heap fehler. Ich habe leider noch nicht so recht rausgefunden wie ich den Heap erhöhen kann.
icon #6

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
Du sollst den Heap nicht erhöhen, du wolltest doch einfach Variablen zur Laufzeit in einen Speicher schreiben. Den Speicher kannst du dir zur Laufzeit im Heap reservieren. Höchstwahrscheinlich fehlen aber ein paar Infos, was du genau machen willst, ohne die dir keiner richtig weiterhelfen kann.

__________________

Hallo
icon #7

Join Date: Jul 2013

Posts: 10

Das Spiel selber ist schon sehr alt daher sind viele Methoden nicht richtig ausgereift. In diesem Konkreten Fall geht es darum, das im Multiplayer nur maximal 20 Maps geladen werden können, alle anderen werden einfach Ignoriert. Beim betreten der Lobby werden die Maps dann in den Speicher geschrieben das sieht dann so aus:

Erste_Map.............................................Zweite_Map

Und so weiter. Für jede Map sind exakt 64 Zeichen reserviert (61 Dateiname+4 für die Endung).

Im Speicher selber ist aber nur genug Platz für 20x64. Ich möchte die Adressierung auf eine andere Stelle im Speicher ändern die ich selbst angelegt hab um z.b. 50 Maps parallel Laden zu können.

Der Speicherbereich enthält ausschließlich den Mapnamen mehr nicht.


Genauer Dump:

TEXT Code:
  1. 004F54D0 61 00 72 00|65 00 61 00|5F 00 46 00|61 00 79 00| a r e a _ F a y
  2. 004F54E0 74 00 5F 00|35 00 31 00|00 00 00 00|00 00 00 00| t _ 5 1
  3. 004F54F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  4. 004F5500 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  5. 004F5510 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  6. 004F5520 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  7. 004F5530 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  8. 004F5540 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  9. 004F5550 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  10. 004F5560 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  11. 004F5570 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  12. 004F5580 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  13. 004F5590 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  14. 004F55A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  15. 004F55B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  16. 004F55C0 42 00 72 00|69 00 64 00|67 00 65 00|77 00 61 00| B r i d g e w a
  17. 004F55D0 72 00 73 00|00 00 00 00|00 00 00 00|00 00 00 00| r s
  18. 004F55E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  19. 004F55F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  20. 004F5600 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  21. 004F5610 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  22. 004F5620 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  23. 004F5630 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  24. 004F5640 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  25. 004F5650 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  26. 004F5660 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  27. 004F5670 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  28. 004F5680 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  29. 004F5690 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  30. 004F56A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  31. 004F56B0 42 00 75 00|6E 00 6B 00|65 00 72 00|48 00 75 00| B u n k e r H u
  32. 004F56C0 6E 00 74 00|00 00 00 00|00 00 00 00|00 00 00 00| n t
  33. 004F56D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  34. 004F56E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  35. 004F56F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  36. 004F5700 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  37. 004F5710 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  38. 004F5720 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  39. 004F5730 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  40. 004F5740 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  41. 004F5750 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  42. 004F5760 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  43. 004F5770 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  44. 004F5780 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  45. 004F5790 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  46. 004F57A0 43 00 65 00|6E 00 74 00|65 00 72 00|57 00 61 00| C e n t e r W a
  47. 004F57B0 72 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00| r
  48. 004F57C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  49. 004F57D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  50. 004F57E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  51. 004F57F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  52. 004F5800 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  53. 004F5810 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  54. 004F5820 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  55. 004F5830 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  56. 004F5840 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  57. 004F5850 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  58. 004F5860 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  59. 004F5870 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  60. 004F5880 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  61. 004F5890 44 00 61 00|73 00 5F 00|50 00 6C 00|61 00 74 00| D a s _ P l a t
  62. 004F58A0 65 00 61 00|75 00 00 00|00 00 00 00|00 00 00 00| e a u
  63. 004F58B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  64. 004F58C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  65. 004F58D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  66. 004F58E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  67. 004F58F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  68. 004F5900 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  69. 004F5910 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  70. 004F5920 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  71. 004F5930 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  72. 004F5940 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  73. 004F5950 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  74. 004F5960 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  75. 004F5970 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  76. 004F5980 44 00 69 00|65 00 5F 00|53 00 61 00|6E 00 64 00| D i e _ S a n d
  77. 004F5990 75 00 68 00|72 00 00 00|00 00 00 00|00 00 00 00| u h r
  78. 004F59A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  79. 004F59B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  80. 004F59C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  81. 004F59D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  82. 004F59E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  83. 004F59F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  84. 004F5A00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  85. 004F5A10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  86. 004F5A20 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  87. 004F5A30 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  88. 004F5A40 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  89. 004F5A50 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  90. 004F5A60 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  91. 004F5A70 48 00 61 00|72 00 64 00|46 00 69 00|67 00 68 00| H a r d F i g h
  92. 004F5A80 74 00 43 00|6C 00 75 00|62 00 00 00|00 00 00 00| t C l u b
  93. 004F5A90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  94. 004F5AA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  95. 004F5AB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  96. 004F5AC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  97. 004F5AD0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  98. 004F5AE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  99. 004F5AF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  100. 004F5B00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  101. 004F5B10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  102. 004F5B20 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  103. 004F5B30 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  104. 004F5B40 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  105. 004F5B50 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  106. 004F5B60 48 00 61 00|75 00 70 00|74 00 66 00|65 00 6C 00| H a u p t f e l
  107. 004F5B70 64 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00| d
  108. 004F5B80 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  109. 004F5B90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  110. 004F5BA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  111. 004F5BB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  112. 004F5BC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  113. 004F5BD0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  114. 004F5BE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  115. 004F5BF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  116. 004F5C00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  117. 004F5C10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  118. 004F5C20 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  119. 004F5C30 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  120. 004F5C40 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  121. 004F5C50 48 00 6F 00|63 00 68 00|6C 00 61 00|6E 00 64 00| H o c h l a n d
  122. 004F5C60 2D 00 50 00|6C 00 61 00|74 00 65 00|61 00 75 00| - P l a t e a u
  123. 004F5C70 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  124. 004F5C80 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  125. 004F5C90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  126. 004F5CA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  127. 004F5CB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  128. 004F5CC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  129. 004F5CD0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  130. 004F5CE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  131. 004F5CF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  132. 004F5D00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  133. 004F5D10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  134. 004F5D20 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  135. 004F5D30 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  136. 004F5D40 49 00 72 00|6F 00 6E 00|5F 00 4D 00|6F 00 75 00| I r o n _ M o u
  137. 004F5D50 6E 00 74 00|61 00 69 00|6E 00 00 00|00 00 00 00| n t a i n
  138. 004F5D60 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  139. 004F5D70 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  140. 004F5D80 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  141. 004F5D90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  142. 004F5DA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  143. 004F5DB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  144. 004F5DC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  145. 004F5DD0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  146. 004F5DE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  147. 004F5DF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  148. 004F5E00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  149. 004F5E10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  150. 004F5E20 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  151. 004F5E30 4B 00 72 00|65 00 75 00|7A 00 66 00|65 00 75 00| K r e u z f e u
  152. 004F5E40 65 00 72 00|00 00 00 00|00 00 00 00|00 00 00 00| e r
  153. 004F5E50 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  154. 004F5E60 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  155. 004F5E70 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  156. 004F5E80 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  157. 004F5E90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  158. 004F5EA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  159. 004F5EB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  160. 004F5EC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  161. 004F5ED0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  162. 004F5EE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  163. 004F5EF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  164. 004F5F00 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  165. 004F5F10 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  166. 004F5F20 4B 00 72 00|6F 00 73 00|73 00 66 00|69 00 72 00| K r o s s f i r
  167. 004F5F30 65 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00| e
  168. 004F5F40 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  169. 004F5F50 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  170. 004F5F60 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  171. 004F5F70 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  172. 004F5F80 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  173. 004F5F90 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  174. 004F5FA0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  175. 004F5FB0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  176. 004F5FC0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  177. 004F5FD0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  178. 004F5FE0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  179. 004F5FF0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  180. 004F6000 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  181. 004F6010 6D 00 6C 00|74 00 69 00|5F 00 30 00|31 00 00 00| m l t i _ 0 1
  182. 004F6020 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  183. 004F6030 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  184. 004F6040 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  185. 004F6050 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  186. 004F6060 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  187. 004F6070 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  188. 004F6080 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  189. 004F6090 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  190. 004F60A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  191. 004F60B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  192. 004F60C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  193. 004F60D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  194. 004F60E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  195. 004F60F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  196. 004F6100 6D 00 6C 00|74 00 69 00|5F 00 30 00|32 00 00 00| m l t i _ 0 2
  197. 004F6110 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  198. 004F6120 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  199. 004F6130 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  200. 004F6140 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  201. 004F6150 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  202. 004F6160 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  203. 004F6170 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  204. 004F6180 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  205. 004F6190 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  206. 004F61A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  207. 004F61B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  208. 004F61C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  209. 004F61D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  210. 004F61E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  211. 004F61F0 6D 00 6C 00|74 00 69 00|5F 00 30 00|33 00 00 00| m l t i _ 0 3
  212. 004F6200 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  213. 004F6210 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  214. 004F6220 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  215. 004F6230 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  216. 004F6240 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  217. 004F6250 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  218. 004F6260 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  219. 004F6270 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  220. 004F6280 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  221. 004F6290 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  222. 004F62A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  223. 004F62B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  224. 004F62C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  225. 004F62D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  226. 004F62E0 6D 00 6C 00|74 00 69 00|5F 00 30 00|34 00 00 00| m l t i _ 0 4
  227. 004F62F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  228. 004F6300 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  229. 004F6310 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  230. 004F6320 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  231. 004F6330 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  232. 004F6340 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  233. 004F6350 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  234. 004F6360 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  235. 004F6370 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  236. 004F6380 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  237. 004F6390 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  238. 004F63A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  239. 004F63B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  240. 004F63C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  241. 004F63D0 6D 00 6C 00|74 00 69 00|5F 00 30 00|35 00 00 00| m l t i _ 0 5
  242. 004F63E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  243. 004F63F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  244. 004F6400 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  245. 004F6410 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  246. 004F6420 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  247. 004F6430 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  248. 004F6440 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  249. 004F6450 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  250. 004F6460 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  251. 004F6470 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  252. 004F6480 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  253. 004F6490 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  254. 004F64A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  255. 004F64B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  256. 004F64C0 6D 00 6C 00|74 00 69 00|5F 00 30 00|36 00 00 00| m l t i _ 0 6
  257. 004F64D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  258. 004F64E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  259. 004F64F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  260. 004F6500 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  261. 004F6510 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  262. 004F6520 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  263. 004F6530 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  264. 004F6540 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  265. 004F6550 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  266. 004F6560 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  267. 004F6570 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  268. 004F6580 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  269. 004F6590 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  270. 004F65A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  271. 004F65B0 6D 00 6C 00|74 00 69 00|5F 00 30 00|37 00 00 00| m l t i _ 0 7
  272. 004F65C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  273. 004F65D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  274. 004F65E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  275. 004F65F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  276. 004F6600 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  277. 004F6610 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  278. 004F6620 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  279. 004F6630 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  280. 004F6640 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  281. 004F6650 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  282. 004F6660 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  283. 004F6670 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  284. 004F6680 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  285. 004F6690 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  286. 004F66A0 6D 00 6C 00|74 00 69 00|5F 00 30 00|38 00 00 00| m l t i _ 0 8
  287. 004F66B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  288. 004F66C0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  289. 004F66D0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  290. 004F66E0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  291. 004F66F0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  292. 004F6700 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  293. 004F6710 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  294. 004F6720 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  295. 004F6730 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  296. 004F6740 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  297. 004F6750 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  298. 004F6760 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  299. 004F6770 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  300. 004F6780 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  301. 004F6790 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  302. 004F67A0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
  303. 004F67B0 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00|
Last edited by RedShakal (Sat 3. Aug 2013, 16:59)

Reason: no reason given

icon #8

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
aso...warum überhaupt ein Codecave? Wäre normale DLL Injection nicht einfacher, da du dich nicht mit ASM rumschlagne musst? In der DLL könntest du dann entsprechend Speicher reservieren und den originalen Zeiger zum Maparray durch deinen neuen ersetzen (+ wahrscheinlich irgendwo fixen, dass er mehr lädt wie nur 20).

__________________

Hallo
icon #9

Join Date: Jul 2013

Posts: 10

Weil ich so komisch das auch klingt mit ASM besser zu gange bin als mid DLL's. Ich habe nichteinmal rausbekommen wie ich die Funktion auf eine DLL umleite. Wenn ich allerdings nur das Ergebnis durch die DLL zurückgeben lassen würde, dann würde es in einem Multiplayer Match krachen, da die Strings beim Connect eines Spielers miteinander verglichen werden was dann am ende dafür sorgt, das nur die Maps auch tatsächlich angezeigt werden, die bei jedem Spieler vorhanden sind.
icon #10

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
egal ob Codecave oder DLL, Vorgehensweise ist doch:

1. zur Laufzeit Speicher im Heap reservieren
2. alte Arrayzeiger auf neue umleiten
3. 20 Konstante fixen

Oder spricht da was dagegen?

__________________

Hallo
icon #11

Join Date: Jul 2013

Posts: 10

wie genau müsste die dll denn aussehen wenn ich mir sagen wir 100KB Zusatzspeicher reservieren möchte?

Wie ich die Konstante ändere ist mir bewusst, wie ich die Arrays umleite auch. Das einzige wo ich auf dem Schlauch stehe ist das Reservieren des zusatzspeichers.
Eine DLL könnte ich über IIDKing fest implementieren, die ASM Lösung wäre mir allerdings lieber.

Hab nochmal nachgeprüft, das eigentliche Problem liegt hier:

TEXT Code:
  1. CPU Disasm
  2. Address Hex dump Command Comments
  3. 004CC9B8 . D0544F00 DD 004F54D0
  4. 004CC9BC . C0554F00 DD 004F55C0
  5. 004CC9C0 . B0564F00 DD 004F56B0
  6. 004CC9C4 . A0574F00 DD 004F57A0
  7. 004CC9C8 . 90584F00 DD 004F5890
  8. 004CC9CC . 80594F00 DD 004F5980
  9. 004CC9D0 . 705A4F00 DD 004F5A70
  10. 004CC9D4 . 605B4F00 DD 004F5B60
  11. 004CC9D8 . 505C4F00 DD 004F5C50
  12. 004CC9DC . 405D4F00 DD 004F5D40
  13. 004CC9E0 . 305E4F00 DD 004F5E30
  14. 004CC9E4 . 205F4F00 DD 004F5F20
  15. 004CC9E8 . 10604F00 DD 004F6010
  16. 004CC9EC . 00614F00 DD 004F6100
  17. 004CC9F0 . F0614F00 DD 004F61F0
  18. 004CC9F4 . E0624F00 DD 004F62E0
  19. 004CC9F8 . D0634F00 DD 004F63D0
  20. 004CC9FC . C0644F00 DD 004F64C0
  21. 004CCA00 . B0654F00 DD 004F65B0
  22. 004CCA04 . A0664F00 DD 004F66A0
  23.  

Die Dateinamen werden in diese Variablen eingelesen. Die Frage wäre also: Wie bring ich diese Variablen an eine andere Stelle? Ich finde nirgens eine Referenz welche diese Variablen ausliest.

Last edited by RedShakal (Sat 3. Aug 2013, 17:52)

Reason: no reason given

icon #12

Join Date: Aug 2007

Posts: 8646

User-Rating:

199 positive
33 negative
Wenn ich von Speicher reservieren rede, dann meine ich damit ein new Maps[50] in C++.
Wenn du den Zeiger auf das originale Array umleitest, "bringst" du die Variablen doch an eine andere Stelle?!

__________________

Hallo
icon #13

Join Date: Jul 2013

Posts: 10

Ich hab das schon verstanden, allerdings weiß ich nicht so genau wie das Funktioniert. Wie ich den Platz freiräume den ich bräuchte um alle in den Speicher zu laden weiß ich mittlerweile. Das Problem was neu aufgetreten ist sind die 20 DD Variablen. Laut Ollydbg werden die von nirgenswo her addressiert. Theoretisch müsste ich die Variablen nur an eine neue freie Stelle schieben, die DD Variablen auf die neuen Werte aktualisieren und die Konstante ändern. Praktisch geht das aber nicht da ich um die DD Variablen zu verschieben ersteinmal Wissen müsste von wo aus sie geladen werden
icon #14

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
breakpoint auf das maparray und gucken von wo drauf zugegriffen wird.

Dann alle stellen wo drauf zugegriffen wird fixxen, dass se auf dein selbst erstelltes array zugreifen anstatt aufs originale, musste wahrscheinlich auch noch zusehen, dass se nach mehr als 20 maps suchen.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
Last edited by SilverFire (Sat 3. Aug 2013, 20:21)

Reason: no reason given

icon #15

Join Date: Jul 2013

Posts: 10

Ist OllyDbg überhaupt in der Lage die DD Variablen zu erstellen? Irgentwie klappt das bei mir nicht, auch dann nicht wenn ich es Binär tue.
icon #16

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
im irc kann dir btw. evtl. schneller/zeitnaher geholfen werden.
irc.oldschoolhack.de channel: #OldSchoolHack
kommste z.b. mit nem online clienten wie Only registered and activated users can see links. oder einem irc clienten wie z.b. mirc oder nettalk drauf.

DD Variablen sind ganz normale DWORD (4 byte) speicherstellen.
die musst du dir per heapalloc selber allokieren, wenn du neue brauchst und wenn es keine geeigneten caves dafür gibt.
Du scheinst ja sehr große änderungen am spiel durchführen zu wollen, ich würde dir empfehlen dich mit der programmiersprache C ein wenig auseinanderzusetzen, per codecave bei programmstart eine von dir in C geschriebene dll zu laden, in der du dann alle änderungen vornimmst.
Das hat den vorteil, dass du keine codecaves mehr brauchst, da dein code in deiner selbsterstellten DLL steht die du selbst definieren kannst.
Speicher zu allokieren, etc. ist in C auch einfacher.
in C kannste btw. auch inline assembler benutzen, also praktisch alles möglich was du da mit codecaves machst/machen möchtest.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif