delphi – 如何在编译时获取汇编指令的机器代码?

delphi – 如何在编译时获取汇编指令的机器代码?,第1张

概述我希望能够将单行ASM转换为 shellcode.即: CALL EBX 我该怎么做,并且能够正确转换这个shellcode,以便我可以将它存储在delphi应用程序的变量中.即: var ShellCodeArray: array[0..3] of Byte = ($55,$8B,$EC,$81); 如果我说得对,你想使用Delphi内置的汇编程序获得单个汇编程序指令CALL EBX的机器代码 我希望能够将单行ASM转换为 shellcode.即:

CALL EBX

我该怎么做,并且能够正确转换这个shellcode,以便我可以将它存储在delphi应用程序的变量中.即:

var ShellCodeArray:  array[0..3] of Byte = (,B,$EC,);
解决方法 如果我说得对,你想使用Delphi内置的汇编程序获得单个汇编程序指令CALL EBX的机器代码.

function CodeSize: Integer;asm    lea EAX,@@end    lea EDX,@@start    sub EAX,EDX    JMP @@end@@start:    call EBX@@end:end;procedure Code;asm    call EBXend;function CodetoBytes: TBytes;var  I,N: Integer;  P: PByte;begin  N:= CodeSize;  SetLength(Result,N);  P:= @Code;  for I:= 0 to N - 1 do begin    Result[I]:= P^;    Inc(P);  end;end;
总结

以上是内存溢出为你收集整理的delphi – 如何在编译时获取汇编指令的机器代码?全部内容,希望文章能够帮你解决delphi – 如何在编译时获取汇编指令的机器代码?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1265333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存