>>88 の追加

3、データ領域にもコードを置いて実行させる事が出来る。
 文字列の場合、元と同じサイズまでなら同じアドレスに配置されるので、文字列にコードを埋め込んでおいて
 そのアドレスに分岐することも出来る。 


その検証コード
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
type TGetSP=function:Integer;
begin
 s:='XPテ';
 caption:=IntToHex(TGetSP(PChar(s)),4);
end;

これで 文字列中の XPテ を実行してかえってくる

X: POP EAX
P: PUSH EAX
テ: RET