本帖最后由 冥界3大法王 于 2022-11-18 12:21 编辑
Delphi版OllyDbg脚本转x64dbg脚本生成器
[Pascal] 纯文本查看 复制代码 unit Unit5;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Menus;
type
TForm5 = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
GroupBox2: TGroupBox;
Memo2: TMemo;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.N2Click(Sender: TObject);
var
i: Integer; //Memo1的总行数
s: string; //读取到的每行内容
begin
for i := 0 to Memo1.lines.count - 1 do
begin
//ShowMessage(Memo1.Lines[i]); //每行读取到内容
s := Memo1.Lines[i];
===============================>把这里需要处理的各种类型处理下
if pos(':', s) > 0 then //按行读取到的字符串与 调试器相关命令字符串进行比较(不用处理,直接写入的那些命令)需要搜集整理
begin
Memo2.Lines.Add(s);
ShowMessage('临时弹框打断1')
end;
===============================>把这里需要处理的各种类型处理下
if pos('未知的某命令', s) > 0 then //需要处理,再写入的那些命令)需要搜集整理
begin
Memo2.Lines.Add(s);
ShowMessage('临时弹框打断2')
end;
end;
end;
end.
群里有人提出了需求:所以我先编一个抛砖引玉。
基本框架完成,难点在于,必须精通Ollydbg 和 x64dbg两种脚本的编写,前者咱不精通,后者还算自给自足了解掌握95%
每行各自对比,按各自所需的命令进行转换,输出到Memo2控件中。。。;没啥难点,就是细节处理有些麻烦。
所以送与有缘人解决。
2.rar
(1.6 KB, 下载次数: 48)
|