使用汇编语言编写注入代码

OD载入asmtest.exe,在程序开头0x00401000处修改代码如下:

在地址0x401033处Ctrl+E修改Ascii值,以00结尾

此部分代码如选中部分所示

此时按下Ctrl+A对代码进行分析,修改的ASCII已经分析出来

出现以上所谓的乱码和分析是因为OD无法完全区分代码和数据,分不出是字符串还是指令。

可以使用右键 — 分析 — 从模块中删除分析 来还原以前代码内容

地址0x0040103F输入call指令

然后在接下来地址0x00401044输入字符串,注意00结尾

接下来地址输入如下命令

至此全部汇编代码输入完成,保存全部修改到可执行exe文件。

接下来主要提取保存的可执行文件指令以及数据内容Hex值

OD载入保存的文件,数据窗口中跟随修改的区域0x401000-401061

将此段内容复制输出为txt文件,打开调整格式

推荐使用sublime,删除不需要的数据,使用Ctrl+Shift+L  出现光标选中多行同一位置,可以快速添加0xFF,

将此shellcode添加到codeinjection2.cpp中,注意去掉最后一个分号

运行代码保存为1.exe程序

运行notepad.exe程序,根据pid值运行 1.exe pid,出现弹窗,内容为我们设置的字符串,表明代码注入成功。

您可能还喜欢...