大家给看看,这个该如何完成。PE文件修改!

sunshinetrue 2007-08-31 04:39:37
更改PE文件程序执行入口RVA,指向一个新的位置,在这里写入自己的代码。例如该代码完成以下功能:WinExec("c:\\windows\\system32\\notepad.exe",1)。请各位看看这个参数:c:\windows\system32\notepad.exe,该如何传递进去。直接传字符串的方法就不要说了。先谢了。
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我啃 2007-09-06
  • 打赏
  • 举报
回复
打开PE文件,找到IMAGE_NT_HEADERS结构
然后修改其中EntryPoint的数值指向你注入的代码开始(事先已经将代码注入到块间的空白区域)
同时在你的代码最后添加一句:
jmp oldEntryPoint
oldEntryPoint就是曾经的entryPoint
大致的流程:
Open a pe file
inject your shell code
locate nt_headers
nt_headers.entrypoint saved
nt_headers.entrypoint = address of your shell code
find last opcode in your shell code
modify 'E8 oldEntryPoint'
last_day 2007-09-04
  • 打赏
  • 举报
回复
push xxxxxxxxxxx
JMP yyyyyyyyyyy
.
.
.
yyyyyyyyyyy:
cout<<"HELLO,WORLD"<<endl;
retn
大熊猫侯佩 2007-08-31
  • 打赏
  • 举报
回复
找到pe文件中的空白处,植入。

罗云彬的win32汇编程序设计和加密与解密都有提及。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧