引擎下载地址:http://www.3800hk.com/Soft/zhly/28969.html
调用方式:uses AsmServ, DisAsm,procedure xxxxx();
var
da : TDisAsm;
begin
ideal := True; islowercase := False; putdefseg := 1; da.Result := '';
da.Dump := '';
DisasmCode(#$81#$05#$E0#$5A#$47#$00#$01#$00#$00#$00#$11#$22#$33#$44#$55#$66,
11, $400000, @da, DISASM_CODE); ShowMessage(Format('%.24s %.24s', [da.Dump, da.Result]));
end;
但我发现函数返回回来的只有一句,并没有全部反汇编完请哪位大哥能帮忙写个DEMO。
选择一个文件以后,将指定一个地址,指定一个大小的数据反汇编完进行返回,谢谢了。
调用方式:uses AsmServ, DisAsm,procedure xxxxx();
var
da : TDisAsm;
begin
ideal := True; islowercase := False; putdefseg := 1; da.Result := '';
da.Dump := '';
DisasmCode(#$81#$05#$E0#$5A#$47#$00#$01#$00#$00#$00#$11#$22#$33#$44#$55#$66,
11, $400000, @da, DISASM_CODE); ShowMessage(Format('%.24s %.24s', [da.Dump, da.Result]));
end;
但我发现函数返回回来的只有一句,并没有全部反汇编完请哪位大哥能帮忙写个DEMO。
选择一个文件以后,将指定一个地址,指定一个大小的数据反汇编完进行返回,谢谢了。
解决方案 »
- 验证码认别中的图像分割是如何实现的(字符尺寸不固定的)
- ListView问题?
- fastreport 如何设置 连续打印相同几份报表再打印下份报表!
- ReportBuilder中怎么实现金额大写
- 带参数的ms sql server的扩展存储过程,怎么传递参数?
- 高手问题——idhttp如果屏蔽#10053错误
- win2000下怎么自定义纸张大小,怎么我自定义的纸张大小只能打印出一半
- 请问关于用MSComm实现串口通讯的问题,
- 请教关于TImageList中存储多幅图片的问题
- 请问c中的getch()在pascal中如何表示?!
- TClientDataSet.Locate内存泄漏
- 打包时怎样将msde打进去 且不弹出数据库的安装界面
var
da: TDisAsm; p: Pchar;
s :string;
begin
ideal := True; islowercase := False; putdefseg := 1; da.Result := '';
da.Dump := ''; p := #$81#$05#$E0#$5A#$47#$00#$00#$00#$81#$05#$E0#$5A#$47#$01#$01#$01; while p<>NIL do
begin
DisasmCode(p,
11, $400000, @da, DISASM_CODE);
if da.FixupSize=0 then
break;
s := s + Format('%.24s %.24s', [da.Dump, da.Result]) + #13#10;
p := @p[da.FixupSize];
end; ShowMessage(s);
end;似乎每一次调用DisasmCode,只返回第一句汇编代码
要多次调用该函数