怎样把一段指令或者一个pe文件(exe,dll)加载到内存运行?upx,aspack之类的怎么做的?

stanely 2004-04-29 01:15:29
rt
...全文
241 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eastunfail 2004-05-13
  • 打赏
  • 举报
回复
搜索UPX源码
stanely 2004-05-13
  • 打赏
  • 举报
回复
...
stanely 2004-05-12
  • 打赏
  • 举报
回复
oh my god...
yansea 2004-05-11
  • 打赏
  • 举报
回复
www.pediy.com上有一款带源码的加壳软件。你找找看吧,不过是用MASM写的。
stanely 2004-05-10
  • 打赏
  • 举报
回复
有没有知道的阿。。。
visual_cjiajia 2004-05-06
  • 打赏
  • 举报
回复
说的容易!你们看问题都太简单了!
CloneCenter 2004-05-06
  • 打赏
  • 举报
回复
这个我还真的不是很清楚呢,帮你顶吧。

不过应该需要了解 PE 的结构,可能会好做一些。
stanely 2004-05-06
  • 打赏
  • 举报
回复
哦?
pankun 2004-05-06
  • 打赏
  • 举报
回复
"因为不是简单的调用PE中代码代的代码就可以了"写错了,应为代码段
pankun 2004-05-06
  • 打赏
  • 举报
回复
加载指今到内存中并运行比较简单,用VirtualAllocEx函数以PAGE_EXECUTE_READWRITE标志申请可执行可读写的虚拟内存,并写代码到其中,再call就可以了。
可以参考:
http://www.csdn.net/develop/read_article.asp?id=21079
这里面的例子在其它进程中动态申请了内存并加载了代码运行。

加载PE文件到内存中并运行有点麻烦,因为不是简单的调用PE中代码代的代码就可以了,涉及到了PE文件中API及资源的重定位问题。
对加载PE文件到内存中运行我有个想法,可以用内存文件映射试试,现在太晚了,晚天我试试,如果可以就贴代码上来。
mscrack 2004-05-06
  • 打赏
  • 举报
回复
看病毒代码的介绍...
先学会函数的重定位, 也许对写壳有很大的帮助.
ly_liuyang 2004-05-05
  • 打赏
  • 举报
回复
UPX是有代码的,去研究了
stanely 2004-05-05
  • 打赏
  • 举报
回复
真没人知道阿?
Eastunfail 2004-05-05
  • 打赏
  • 举报
回复
我只能说说原理,除非教我一些PE结构和压缩解压算法,我还真的写不出来,呵呵~~:)

他修改了PE头信息,加入了自己的一个节,并将入口指针指向了自己的解压代码,并修改了其他所有节的属性,将所有只读的都设为可写,程序执行的时候,跳到解压代码来了,解压代码根据解压算法将原本保存在个自节中的压缩代码解压后并重新写入节里面(这也是为什么前面要将节属性改为可写的原因),解压完毕后在跳转到原来的入口地址
stanely 2004-05-05
  • 打赏
  • 举报
回复
我记得好像看过可以创建一块可以有执行权限的内存的办法,不是道是不是works
stanely 2004-04-30
  • 打赏
  • 举报
回复
中国真没人知道吗?
bottom 2004-04-29
  • 打赏
  • 举报
回复
压缩EXE很复杂 中国没几个人写清楚 有看一个 不过写的太烂了 删除了!
stanely 2004-04-29
  • 打赏
  • 举报
回复
有没有知道的?
bottom 2004-04-29
  • 打赏
  • 举报
回复
不知道 外老外去!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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