于是从exe上的createprocess入手

CreateProcessA,od调试给断点

createprocess创建进程,createflag使用创建即挂起主线程,writeprocessmemory写进程内存,修改entrypoint
然后suspendthread唤醒主线程
在writeprocessmemory后dump SnailMail.RWG的内存下来

运行发现依然Error,这次可以给messagebox下断了

来到这里,再看看堆栈,找到返回函数

cmp eax,801
jge 大于等于跳转
断点发现运行messagebox的call前eax=800
跟入前面的call看看