随便拿Delphi7,新建一个VCL窗体程序,画一个按钮,写两行代码。这一步骤讲究的是什么呢?率性而为,反正没什么卵用。比如,俺写的是这玩意。
<span style="color:#666666"><span style="background-color:#ffffff">procedure TForm1.Button1Click(Sender: TObject);
begin
MessageBox(0, '鸿雁在天鱼在水,惆怅此情难寄!', '', MB_ICONINFORMATION);
end;</span></span>
编译,打开,点按钮,确认一切无误。
给它套上一层UPX的外壳。
OllyDbg载入它,找到OEP不用我多说了吧?ESP定律干掉,或者往EP后面找popad,下面的jmp就是了。
中断在OEP后,随便找一个API调用语句,比如jmp dword ptr[xxxxxxxx],或者call dword ptr[xxxxxxxx]啦,具体是编译器来说话的。
比如我找到了这里。
在CALL上面按回车,跟进这个CALL看看。
转到DUMP窗口看看,用ADDRESS模式&#