basm

    5热度

    2回答

    我想要做的是,使用汇编,创建一个类实例,调用其中一个方法,然后释放该实例。 我知道我失去了一些东西很重要,可能很简单,但我不知道是什么。 program Project2; {$APPTYPE CONSOLE} uses SysUtils; type TSomeClass = class(TObject) private FCreateDateT

    3热度

    2回答

    我有以下功能在Delphi 2006中工作,但在Delphi XE2下,它在处理RET时给出访问冲突错误或特权指令错误。 function Q_TrimChar(const S: string; Ch: Char): string; asm PUSH ESI MOV ESI,ECX TEST EAX,EAX JE @@qt MOV

    6热度

    3回答

    我有一个问题。我有以下用ASM编写的x86 delphi代码。我需要把它移植到AMD64上? type TCPUID = array[1..4] of Longint; function GetCID : TCPUID; assembler; register; asm push ebx push edi mov edi, eax mov eax,

    5热度

    1回答

    如何实现用非常快的英特尔POPCNT指令16/32/64位字中的1位的计数,在德尔福XE或XE2?是否有一个库函数直接访问这条指令?有人可以写一个演示asm部分说明它的使用吗? 最后,有什么选择64位德尔福(没有asm可用)? 在此先感谢 t

    4热度

    1回答

    我正在研究一个JIT编译器,并试图弄清楚如何为托管类型(如字符串)输出适当的清理块。 对于具有string类型的一个局部变量的函数清理块的拆卸是这样的: 0044333C 648910 mov fs:[eax],edx 0044333F 6854334400 push $00443354 00443344 8D45FC lea eax,[ebp-$04] 00443347 E818

    3热度

    1回答

    为了更好地解释我正在努力完成的任务,我将从一些有用的东西开始。 说,我们有可以调用其他程序并传递一个字符串参数给它一个过程: procedure CallSaySomething(AProc: Pointer; const AValue: string); var LAddr: Integer; begin LAddr := Integer(PChar(AValue));

    2热度

    2回答

    我试图将CrapWOW散列从http://www.team5150.com/~andrew/noncryptohashzoo/CrapWow.html转换为delphi或宁可basm。我的ASM技能非常有限,但我认为它不会太难... 无论如何,在一些关于asm转换的网页的帮助下,我来到这个,但它不工作...尤其是,对于最后一部分我不知道如何转换。这是寄存器赋值给参数和返回参数吗? function

    4热度

    1回答

    我一直在使用IDA中的一些德尔福组件。 我注意到很多系统调用,我不明白,并且无法找到任何关于它们的文档。例如:我注意到了很多对未知函数LStrClr(void *)的调用。 我能找到的最好的是这个网站http://www.delphibasics.co.uk/ByLetter.asp?Letter=A 但它缺少很多函数调用,包括LStrClr。 非常感谢您的回复, Michael Engstler

    5热度

    3回答

    我希望能够将一行ASM转换为shellcode。即: CALL EBX 我如何去这样做,也能够正确执行这种转换的shellcode,这样我可以将其存储在一个Delphi应用程序中的变量。即: var ShellCodeArray: array[0..3] of Byte = ($55,$8B,$EC,$81);

    2热度

    2回答

    我遇到一个问题,同时移植德尔福BASM32代码FPC: program MulTest; {$IFDEF FPC} {$mode delphi} {$asmmode intel} {$ELSE} {$APPTYPE CONSOLE} {$ENDIF} function Mul(A, B: LongWord): LongWord; asm MU