AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Assembler -> HexCode

Ein Thema von Boombuler · begonnen am 11. Mai 2005 · letzter Beitrag vom 17. Mai 2005
 
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

Re: Assembler -> HexCode

  Alt 16. Mai 2005, 15:26
ein call/jmp (e8, e9) ist relativ

d.h. du musst das vroher berechnen,

E8 = call, dann nen integer/cardinal für die distanz, wobei die berechnung zuadresse-vonadresse-5 ist

du musst auch noch die relocations alle fixen, bzw einfach keine benutzen

nen call bzw jump würdest könntest auch noch durch ne relocation fake jmp/call hinbekommen

Delphi-Quellcode:
mov eax, adresse
call eax
d.h. adresse würde dann bei deiner kompilierten exe in der relocation tabelle vorkommen, dann mussu net mehr nach den distance calls/jumps suchen

wenn du parameter über register übergibst kannste nen call/jmp auch so machen:

Delphi-Quellcode:
push adresse // unterfunktion oder jump
push @@ret1 // weglassen wenns nen jump sein soll, bei nem call brauchste das
ret
@@ret1:
du könntest aber auch alle funktionen die du benutzt in eine funktion auslagern dann brauchste dich eigentlich gar nicht mehr drum kümmern

Delphi-Quellcode:
procedure programstart; stdcall;
  procedure unterfunktion1(a,b: integer); stdcall;
  begin
  end;
  procedure unterfunktion2(a,b: integer); stdcall;
  begin
  end;
begin
  unterfunktion1(1,2);
  unterfunktion2(1,2);
end;
dann kopierste die ganze funktion in deine neue exe, aber auch hier musste noch die relcos zu den strings fixen
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz