OldSchoolHack

Registrieren / Anmelden Deutsch

Benutzersuche: RedShakal

Such-Informationen
RedShakal
Themen im Forum
Thema Forum Letzter Beitrag Beiträge Zugriffe
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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?
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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.
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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|
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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.
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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.
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Exe vergrößern Erstellt am: Sa 3. Aug 2013, 13:47

RedShakal

preview Vorschau

Go To Post

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.
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 20:37

von SilverFire Go to last post
15 815
icon

Go to first new post [Coding] Assembler Erstellt am: Di 30. Jul 2013, 19:24

RedShakal

preview Vorschau

Go To Post

Hallo miteinander,

Ich arbeite seit langer Zeit an dem alten Spiel KKND2: Krossfire. Da ich den Quellcode des Spieles leider nicht besitze, programmiere ich die Funktion größtenteils auf eigene Faust um. Folgende Sachen habe ich bereits erreicht:

- NoCD Patch
- Singleplayer Suicid bei Checksum Change gepatcht (Memory Selfcheck)
- Random Crash bei Checksum Change gepatcht (CreateFileA)
- Win/Lose Trigger fail bei Checksum Change gepatcht (Memory Selfcheck)
- alle Daten werden Lokal von der Festplatte geladen
- Die Werte des Einheiten Editors wurden erhöht
- Die Registry wird nichtmehr beim Spielstart abgefragt (Diverse Probleme innerhalb der Community)
- Im Multiplayer zeigt er eine kleine Messagebox über das Ingame Chat System an das der Modloader aktiv ist (Kleine Spielerei nur)


Zum verständnis: Es handelt sich hierbei nicht um einen Hack sondern um einen Mod welchen jeder Spieler auf seinem Rechner installiert hat. Demnächst mit Autoupdate


Bevor ich allerdings anfange das Spiel mit diversen Mods zu versehen, möchte ich noch einige Probleme beheben bei dennen ich derzeit nicht weiter weiß.

meine Todo List:

- Auflösung erhöhen
- Alternative lösung für mehr Maps in Multiplayer
- DSound Hooken für MP3 Support
- Startkapital ändern


Lange rede kurzer Sinn, ich zeige euch am besten einfach meine Probleme:

Problem 1: Höhere Auflösung

In KKND sind genau 3 Auflösungen vorgegeben: 640x480 | 800x600 | 1024x768
Ich habe über OllyDBG in den Hex Werten die Angaben auf: 1024x768 | 1280x1024 | 1440x 900 geändert. (Höhere Auflösungen sehen unschön aus und bereiten Probleme z.b. das der Mauszeiger flackert und ein paar cm versetzt zu der eigentlichen Position dargestellt wird. Ausserdem zoomt durch eine FullHD Auflösung die Karte viel zu sehr raus... aber das nur als Randinfo .) Sobald jedoch die Auflösung höher als 1024x768 geht treten Ingame Probleme auf:

Das Spiel startet ganz normal. Die neue Auflösung wurde korrekt übernommen. Wenn ich jetzt jedoch versuche mit der Maus über die Bauleiste zu fahren die bei jedem Spiel rechts am Rand zu sehen ist, stürzt das Spiel genau an der Stelle ab wo die Bauleiste normalerweise sein müsste mit 1024x768.


Es handelt sich also um eine "unsichtbare" weitere Bauleiste. Wenn ich ganz unten am Rand mit der Maus entlang fahre kann ich problemlos auf die eigentliche Bauleiste navigieren und benutzen. Das passiert eben weil die "unsichtbare" Bauleiste immernoch mit 768 Pixeln berechnet wird und nicht mit 900 Pixeln.

Jetzt aber das Problem:

TEXT Code:
  1. 0043B9B0 /$ E8 2B4DFEFF CALL 004206E0 ; [noregkey.004206E0
  2. 0043B9B5 |. 85C0 TEST EAX,EAX
  3. 0043B9B7 |. 74 09 JZ SHORT 0043B9C2
  4. 0043B9B9 |. 8178 1C 80164 CMP DWORD PTR DS:[EAX+1C],00401680 ; Entry point
  5. 0043B9C0 |. 75 02 JNE SHORT 0043B9C4
  6. 0043B9C2 |> 33C0 XOR EAX,EAX
  7. 0043B9C4 \> C3 RETN

Bei dem Punkt 43B9B9 Bleibt der Code hängen da er über den EAX einen ungültigen Parameter übergeben bekommen hat. Dieser Codefetzen ist dafür zuständig zu Überprüfen ob die Maus über der Bauleiste ist. Wenn ich den CMP Befehl mit NOP ersetze wird die "unsichtbare" Bauleiste durch die änderung des Mauszeigers sichtbar wie er normal nur direkt über der Bauleiste sich ändert. Wenn ich den "unsichtbaren" Button anklicke dann stürzt das Spiel ebenfalls ab.

Der Check Code callt in der Ersten Zeile direkt die folgende Prozedur:

TEXT Code:
  1. 004206E0 /$ 85C9 TEST ECX,ECX ; noregkey.004206E0(guessed void)
  2. 004206E2 |. 7C 28 JL SHORT 0042070C
  3. 004206E4 |. 85D2 TEST EDX,EDX
  4. 004206E6 |. 7C 24 JL SHORT 0042070C
  5. 004206E8 |. 3B0D 8C9A4E00 CMP ECX,DWORD PTR DS:[4E9A8C]
  6. 004206EE |. 7D 1C JGE SHORT 0042070C
  7. 004206F0 |. 3B15 889A4E00 CMP EDX,DWORD PTR DS:[4E9A88]
  8. 004206F6 |. 7D 14 JGE SHORT 0042070C
  9. 004206F8 |. C1F9 05 SAR ECX,5
  10. 004206FB |. 8D0449 LEA EAX,[ECX*2+ECX]
  11. 004206FE |. C1E0 05 SHL EAX,5
  12. 00420701 |. C1FA 05 SAR EDX,5
  13. 00420704 |. 8B8490 807E4E MOV EAX,DWORD PTR DS:[EDX*4+EAX+4E7E80]
  14. 0042070B |. C3 RETN
  15. 0042070C |> 33C0 XOR EAX,EAX
  16. 0042070E \. C3 RETN

Die Funktion macht im prinzip nichts weiter als den Wert von einer dritten Funktion zu übernehmen, zu Überprüfen ob die Maus auf der Bauleiste ist, dann die Werte mit 2 Variablen vergleichen, und über die SAR befehle einfach so lange 0'en davor zu schieben bis das Programm auf einen 3-4 Stelligen Wert kommt der dann an die oben genannte CMP Funktion zur weiterverarbeitung übergeben wird.

Meine erste Theorie war das durch den SAR Befehl ggf. eine Stelle zuviel verschoben wird da ja auch die Auflösung in der Breite erheblich größer ist. Diese Theorie brauchte mich dann letztendlich zu der Hauptfunktion. Das hier ist die Funktion die den CMP Befehl anruft:

Diese wird hier nur in Teilen angegeben um nicht den ganzen Beitrag vollzumüllen:

TEXT Code:
  1. 00442FB0 /$ 55 PUSH EBP
  2. 00442FB1 |. 8BEC MOV EBP,ESP
  3. 00442FB3 |. 83EC 14 SUB ESP,14
  4. 00442FB6 |. A1 78AA4F00 MOV EAX,DWORD PTR DS:[4FAA78]
  5. 00442FBB |. 53 PUSH EBX
  6. 00442FBC |. 56 PUSH ESI
  7. 00442FBD |. 57 PUSH EDI
  8. 00442FBE |. 8B40 08 MOV EAX,DWORD PTR DS:[EAX+8]
  9. 00442FC1 |. 8BF9 MOV EDI,ECX
  10. 00442FC3 |. 83C0 18 ADD EAX,18
  11. 00442FC6 |. 8955 F4 MOV DWORD PTR SS:[LOCAL.3],EDX
  12. 00442FC9 |. 8B4F 24 MOV ECX,DWORD PTR DS:[EDI+24]
  13. 00442FCC |. 8945 FC MOV DWORD PTR SS:[LOCAL.1],EAX
  14. 00442FCF |. 33C0 XOR EAX,EAX
  15. 00442FD1 |. 897D F8 MOV DWORD PTR SS:[LOCAL.2],EDI
  16. 00442FD4 |. 8947 24 MOV DWORD PTR DS:[EDI+24],EAX
  17. 00442FD7 |. 8947 30 MOV DWORD PTR DS:[EDI+30],EAX
  18. 00442FDA |. 8947 2C MOV DWORD PTR DS:[EDI+2C],EAX
  19. 00442FDD |. 8B35 E8B14F00 MOV ESI,DWORD PTR DS:[4FB1E8]
  20. 00442FE3 |. 81FE E8B14F00 CMP ESI,OFFSET 004FB1E8
  21. 00442FE9 |. 894D F0 MOV DWORD PTR SS:[LOCAL.4],ECX
  22. 00442FEC |. BB 03000000 MOV EBX,3
  23. 00442FF1 |. 74 73 JE SHORT 00443066
  24. 00442FF3 |> 66:8B46 10 MOV AX,WORD PTR DS:[ESI+10]
  25. 00442FF7 |. 66:85C0 TEST AX,AX
  26. 00442FFA |. 0F8F 040E0000 JG 00443E04
  27. 00443000 |. 0FBF56 08 MOVSX EDX,WORD PTR DS:[ESI+8]
  28. 00443004 |. 8B5E 04 MOV EBX,DWORD PTR DS:[ESI+4]
  29. 00443007 |. B9 88B24F00 MOV ECX,OFFSET 004FB288
  30. 0044300C |. 8915 89B24F00 MOV DWORD PTR DS:[4FB289],EDX
  31. 00443012 |. C705 8DB24F00 MOV DWORD PTR DS:[4FB28D],4
  32. 0044301C |. C605 88B24F00 MOV BYTE PTR DS:[4FB288],0E
  33. 00443023 |. E8 88CBFFFF CALL 0043FBB0 ; [noregkey.0043FBB0
  34. 00443028 |. 8B06 MOV EAX,DWORD PTR DS:[ESI]
  35. 0044302A |. 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
  36. 0044302D |. 8948 04 MOV DWORD PTR DS:[EAX+4],ECX
  37. 00443030 |. 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
  38. 00443033 |. 8B06 MOV EAX,DWORD PTR DS:[ESI]
  39. 00443035 |. 8902 MOV DWORD PTR DS:[EDX],EAX
  40. 00443037 |. 8B0D 00B24F00 MOV ECX,DWORD PTR DS:[4FB200]
  41. 0044303D |. 890E MOV DWORD PTR DS:[ESI],ECX
  42. 0044303F |. A0 10B34F00 MOV AL,BYTE PTR DS:[4FB310]
  43. 00443044 |. 8935 00B24F00 MOV DWORD PTR DS:[4FB200],ESI
  44. 0044304A |. 8BF3 MOV ESI,EBX
  45. 0044304C |. 84C0 TEST AL,AL
  46. 0044304E |. 74 07 JZ SHORT 00443057
  47. 00443050 |. FEC8 DEC AL
  48. 00443052 |. A2 10B34F00 MOV BYTE PTR DS:[4FB310],AL
  49. 00443057 |> BB 03000000 MOV EBX,3
  50. 0044305C |> 8B36 MOV ESI,DWORD PTR DS:[ESI]
  51. 0044305E |. 81FE E8B14F00 CMP ESI,OFFSET 004FB1E8
  52. 00443064 |.^ 75 8D JNE SHORT 00442FF3
  53. 00443066 |> 8BCF MOV ECX,EDI
  54. 00443068 |. E8 631F0000 CALL 00444FD0
  55. 0044306D |. 8B47 20 MOV EAX,DWORD PTR DS:[EDI+20]
  56. 00443070 |. 6A 01 PUSH 1 ; /Arg3 = 1
  57. 00443072 |. 68 000000C0 PUSH C0000000 ; |Arg2 = C0000000
  58. 00443077 |. 50 PUSH EAX ; |Arg1
  59. 00443078 |. E8 13C10200 CALL 0046F190 ; \noregkey.0046F190
  60. 0044307D |. 83C4 0C ADD ESP,0C
  61. 00443080 |. E8 AB05FFFF CALL 00433630 ; [noregkey.00433630
  62. 00443085 |. 85C0 TEST EAX,EAX
  63. 00443087 |. 75 73 JNZ SHORT 004430FC
  64. 00443089 |. B9 C8B04F00 MOV ECX,OFFSET 004FB0C8
  65. 0044308E |. E8 0DC7FFFF CALL 0043F7A0 ; [noregkey.0043F7A0
  66. 00443093 |. B9 0B000000 MOV ECX,0B
  67. 00443098 |. E8 A388FFFF CALL 0043B940 ; [noregkey.0043B940
  68. 0044309D |. 8A48 12 MOV CL,BYTE PTR DS:[EAX+12]
  69. 004430A0 |. 80E1 06 AND CL,06
  70. 004430A3 |. 80F9 06 CMP CL,6
  71. 004430A6 |. 75 1C JNE SHORT 004430C4
  72. 004430A8 |. 33D2 XOR EDX,EDX
  73. 004430AA |. 8915 48B24F00 MOV DWORD PTR DS:[4FB248],EDX
  74. 004430B0 |. 8915 4CB24F00 MOV DWORD PTR DS:[4FB24C],EDX
  75. 004430B6 |. 8915 50B24F00 MOV DWORD PTR DS:[4FB250],EDX
  76. 004430BC |. 8915 54B24F00 MOV DWORD PTR DS:[4FB254],EDX
  77. 004430C2 |. EB 0A JMP SHORT 004430CE
  78. 004430C4 |> B9 48B24F00 MOV ECX,OFFSET 004FB248
  79. 004430C9 |. E8 22EAFEFF CALL 00431AF0 ; [noregkey.00431AF0
  80. 004430CE |> 8B45 F4 MOV EAX,DWORD PTR SS:[LOCAL.3]
  81. 004430D1 |. 85C0 TEST EAX,EAX
  82. 004430D3 |. 74 27 JZ SHORT 004430FC
  83. 004430D5 |. E8 06DBFDFF CALL 00420BE0 ; [noregkey.00420BE0
  84. 004430DA |. 85C0 TEST EAX,EAX
  85. 004430DC |. 75 1E JNZ SHORT 004430FC
  86. 004430DE |. 8B15 DCB04F00 MOV EDX,DWORD PTR DS:[4FB0DC]
  87. 004430E4 |. 8B0D D8B04F00 MOV ECX,DWORD PTR DS:[4FB0D8]
  88. 004430EA |. C1FA 08 SAR EDX,8
  89. 004430ED |. C1F9 08 SAR ECX,8
  90. 004430F0 |. E8 BB88FFFF CALL 0043B9B0 ; [noregkey.0043B9B0
  91. 004430F5 |. 85C0 TEST EAX,EAX
  92. 004430F7 |. 74 03 JZ SHORT 004430FC

Meine Theorie schien mit dieser Prozedur garnichtmehr so falsch zu sein. Er errechnet die beiden X Y Werte, schreibt sie auf 004430DE in die Variablen und schiebt sie dann über SAR einfach 8 Stellen nach rechts. Dadurch das der Wert jetzt größer ist kommt am ende Datenmüll dabei raus. In der Praxis kann das aber eigentlich auch nicht sein denn sonst hätte ich vermutlich garnicht erst die unsichtbare Bauleiste.



Da ich hier keine Warez verbreiten möchte gebe ich die EXE nur auf Anfrage heraus. Ich würde mich allerdings sehr freuen wenn mir jemand helfen kann. Die anderen Probleme sind erstmal nebensächlich und darauf komme ich später nocheinmal zu sprechen



Ich bin für jede Idee oder Tipp dankbar.
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 18:31

von RedShakal Go to last post
1 560
icon

Go to first new post [Coding] Assembler Erstellt am: Di 30. Jul 2013, 19:24

RedShakal

preview Vorschau

Go To Post

Ich habe das Problem selbst gelöst, ich habe den Speicher überschritten. Nachdem ich die Variablen auf den neu gewonnenen freien Speicher referenziert habe liefs dann auch. Danke nochmal an KN4CK3R
VB, C/C++, Delphi, etc

Sa 3. Aug 2013, 18:31

von RedShakal Go to last post
1 560