Assembler – die besten Beiträge

ASSEMBLY UND NASM C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm:36: error: operation size not specified?

hi leute ich bedanke mich schon mal im voraus , denn dass hier bringt meinen kopf zum qualmen:

section .data

  window_class_name db "BlackScreenClass", 0

  window_title db "", 0

  WM_CLOSE equ 0x0010 ; Define WM_CLOSE

section .bss

  hwnd  resd 1

  hInstance resd 1

  lpMsg  resb 24

section .text

  global _start

  extern GetModuleHandleA, CreateWindowExA, ShowWindow, UpdateWindow, GetMessageA, TranslateMessage, DispatchMessageA, DefWindowProcA, ExitProcess, SetBkColor, GetSystemMetrics

_start:

  push  0

  call  GetModuleHandleA

  mov   [hInstance], eax

  push  0

  push  window_title

  push  window_class_name

  push  dword (WS_POPUPWINDOW | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)

  push  0

  push  0

  push  SM_CXSCREEN

  call  GetSystemMetrics

  push  eax

  push  SM_CYSCREEN

  call  GetSystemMetrics

  push  eax

  push  0

  push  0

  push  [hInstance]

  push  0

  call  CreateWindowExA

  mov   [hwnd], eax

  push  0

  push  [hwnd]

  call  SetBkColor

  push  SW_SHOWNORMAL

  push  [hwnd]

  call  ShowWindow

  push  [hwnd]

  call  UpdateWindow

message_loop:

  lea   esi, [lpMsg]

  push  0

  push  0

  push  0

  push  esi

  call  GetMessageA

  cmp   eax, 0

  je   exit

  push  esi

  call  TranslateMessage

  push  esi

  call  DispatchMessageA

  jmp   message_loop

window_proc:

  cmp   dword [esi + 0], WM_CLOSE

  je   handle_close

  push  dword [esi + 4]

  push  dword [esi + 0]

  push  dword [esi + 8]

  push  dword [esi + 12]

  call  DefWindowProcA

  ret

handle_close:

  push  0

  call  ExitProcess

  ret

exit:

  push  0

  call  ExitProcess

WS_POPUPWINDOW equ 80000000h

WS_CAPTION equ 00C00000h

WS_SYSMENU equ 00080000h

WS_THICKFRAME equ 00040000h

WS_MINIMIZEBOX equ 00020000h

WS_MAXIMIZEBOX equ 00010000h

SW_SHOWNORMAL equ 1

SM_CXSCREEN equ 0

SM_CYSCREEN equ 1

ich bin erst anfänger und möchte wenn mit nasm versuchen den asm code zu obj zu machen aber dort kommt ganze zeit dieser fehler:

C:\Users\Rocke\Desktop\CoptixMW\Services>set FILEPATH=C:\Users\Rocke\Desktop\CoptixMW\Services\

C:\Users\Rocke\Desktop\CoptixMW\Services>C:\Users\Rocke\Desktop\CoptixMW\Services\nasm.exe -f win32 C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm -o boot_window.obj

C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm:36: error: operation size not specified

C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm:42: error: operation size not specified

C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm:46: error: operation size not specified

C:\Users\Rocke\Desktop\CoptixMW\Services\boot_window.asm:49: error: operation size not specified

C:\Users\Rocke\Desktop\CoptixMW\Services>pause

Drücken Sie eine beliebige Taste . . .

naja wie es so ist habe ich ki um rat gefragt MEHRMALS, sie konnte mir nicht weiterhelfen

, dieses skript soll vor dem login fenster in windows, ein anderes fenster drücber einblenden , es soll oben rechts ein kreuz haben zum schliessen , einen schwarzen hintergrund haben und im vollbild, natürlich teste ich es auf einer vm

DANKE IM VORAUS

PC, Computer, Anfänger, programmieren, System, compiler, Assembler, Bug, Error, Operation, Privat, ASM, hartnäckig, Operating System, nervig

Sollte das AA Script normalerweise funktionieren?

Habe extra jede Zeile kommentiert(Ehrlich jetzt, jede Zeile)

[ENABLE]

alloc(Hase, 2048, "tutorial-x86_64.exe"+4D213) Fügt die Bezeichnung Hase hinzu. 2048 Bytes werden reserviert für den Code des AA Scripts. Der exakte Prozessname ist tutorial-x86_64.exe"+4D213

label(Gans) Fügt die Bezeichnung Gans hinzu...

label(Ente) Ebenfalls eine Bezeichnung

label(Huhn) ....

label(Fuchs) ...

Hase: Bindet die Bezeichnung Hase in den Code ein

 cmp rax, EnteLeben prüft ob sich EnteLeben im rax Register befindet

 je Ente Wenn rax mit 0160ABB0 übereinstimmt springt es zu Ente weiter

Huhn: Bindet die Bezeichnung Huhn in den Code ein

 mov ecx, [rax+60] verschiebt das Register [rax+60] in Register ecx

 cmp ecx, 1 Überprüft ob sich im Register ecx der Wert 1 befindet

 jle Schaden       Springt zu Fuchs, wenn sich im Register ecx der Wert 1 oder niedriger befindet

 mov [rax+60], 1    Verschiebt den Wert 1 in Register [rax+60]. Dies trifft nur zu, wenn sich im Register ecx der Wert 2 oder höher befindet(Weil ansonsten direkt zu Fuchs gesprungen wird

Fuchs: Bindet die Bezeichnung Fuchs in den Code ein

 sub [rax+60], edx   Originaler Code der Schaden verursacht

 jmp Gans Hier endet der Code für den Gegner und es wird zu Gans: gesprungen. Ansonsten würde es sich mit den weiteren Code von Ente: vermischen.

Ente: Bindet die Bezeichnung Ente in den Code ein

 add [rax+60], 1    Spieler erhält pro Treffer 1 Lebenspunkt. Alles über Spieler: und unter Gegner: wird ignoriert., wegen der je Anweisung.

 jmp Gans Hier endet der Code für den Spieler und es wird zu Gans: gesprungen. Ansonsten vermischt er sich mit den Gans: Code

EnteLeben: Bindet die Bezeichnung EnteLeben in den Code ein

 dq 0160ABB0      EnteLeben hat die Adresse 0160ABB0 Erspart das ständige abtippen der Adresse, indem man einfach die Bezeichnung EnteLeben verwendet. Eignet sich auch gut für Pointer Adressen

"tutorial-x86_64.exe"+4D213:

 jmp Hase Springt zu alloc(Hase, 2048, "tutorial-x86_64.exe"+4D213) und arbeitet sich runter Zeile für Zeile

 nop Die übrigen Bytes werden durch eine leere Anweisung ersetzt

Gans: Das ist das Ende vom Script. Danach läuft das Spiel ganz normal weiter

[DISABLE] Solange das Script aktiviert ist, werden die unteren Zeilen ignoriert. Das dient nur dazu, falls man das Script deaktiviert, damit der ursprüngliche Code wieder benutzt werden kann. Ansonsten wird das Spiel abstürzen.

"tutorial-x86_64.exe"+4D213:

 sub [rax+60], edx Hier steht der Originale Code, der jetzt deaktiviert ist.

dealloc(Hase) Ist ebenfalls solange deaktiviert, bis man dass Script deaktiviert. Es gibt den ursprünglichen Speicherplatz wieder frei, der für das geschriebene Script verwendet wurde

Assembler, Cheat Engine, Code, Script

Warum nutzen wir alle nicht wieder alte Software?

Jetzt mal Hand aufs Herz. Wir wollen doch alle Geschwindigkeit oder nicht. Warum das also wegwerfen? Man könnte ja zumindest nutzen was schon erreicht wurde.

Ich weiß gleich kommen die folgenden Argumente:

- Es lohne sich nicht, da Hardware günstiger sei:

-> Das stimmt nicht. Milliarden Nutzer * 1500€ sind mehr als die Entwicklungskosten einee optimierung. Außerdem wäre das Wirtschaft und es heißt ja ComputerSCIENCE

- Es sei nicht nötig sich die Mühe zu machen da Computer das heute alles packen:

-> Das sah bei GTA6 jetzt nicht so aus! Und was ist mif skalierungsmöglichkeiten, Multitasking und Massendatenverarbeiting, Ernergiekosten, Überlastungen von Rechensystemen... Umweltschutz und Die Herstellung neuer Computerbauteile?

- Es liegt alles an OOP und Web:

-> Das gibts es schon ewig. Es erklärt nicht so wirklich viel davon.

- Geplante Alterung sei Notwendig da die Firmen sonst Pleite gehen:

-> Den Firmen die das tun platzt das Geld aus den Hosentaschen. Und außerdem geht das auch anders. Man kann auch alle paar Jahre eine Lizens erneuern oder es teuerer machen, aber ich denke nicht das Geld das Problem ist? Selbst wenn - Es wird immer zwischen den Themen herumgeschaukelt. Ich sehe das schon, Ich bin nicht auf den Kopf gefallen.

- Zeit zur Veröffentlichung und Marketing sei wichtiger:

-> Ich sprach nicht von dem Azubi nem Becker seine Webseite erstellt.

- Es war früher nicht schneller:

-> Doch war es erinnere dich bitte

- Die Hardware kann nicht mehr:

-> Doch kann Sie, alte Software beweißt es.

- Linux sei die Lösung

-> Schön wärs. Leider nur leichter aber nicht schneller.

- Treiber kann man nicht schreiben:

-> Wenn man sich nicht drüber unrerhällt kann man auch nichts gewinnen. Nicht versucht ist schon verloren.

Ds wird immer ständig zwischen diesen Punkten herumgereicht.

Hab ich was vergessen? Nun Realtalk mal bitte, es muss sich doch was ändern! Ihr könnt mir nicht erzählen das ihr das so wollt...

Computer, Computerspiele, Software, Windows, Microsoft, Studium, Technik, Linux, CPU, Grafikkarte, Hardware, Elektronik, HTML, programmieren, Business, RAM, Wissenschaft, Gaming, Anwendungsentwicklung, Assembler, developer, Industrie, Informatik, Python, Softwareentwicklung, Treiber, Software Update, Technologie und Wirtschaft

Meistgelesene Beiträge zum Thema Assembler