c程序能否运行时修改代码

zhengda1936 2007-09-16 06:12:10
可能这个标题不能真正反映我要问的问题。
动态语言(Dynamic Language)的一个特性就是runtime code modiciation。
既然C语言作为静态语言应该是不能运行时修改代码才对。
但是binary translation是需要考虑runtime code modication的。
我知道的那些动态语言都是些脚本语言,binary translation肯定不需要考虑脚本语言写的程序。
能有哪种语言支持runtime code modification,又是需要编译成汇编代码的?
...全文
213 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengda1936 2007-09-16
  • 打赏
  • 举报
回复
那程序可不可能改变自身代码段的代码?
代码段的代码应该是只读的。但有没有存在这种可能性呢?能否给一个这样的例子呢?
zhengda1936 2007-09-16
  • 打赏
  • 举报
回复
加壳软件的工作原理应该是这样吧:
加载被压缩的代码,解压缩这些代码到相同的地址空间,然后运行解压缩的代码。
我觉得这个过程不是和UNIX里的exec()很象吗?
我在想类似于这种情况,dynamic binary translation是该怎么处理的。
呵呵,不过这个话题好像不太适合在这里讨论了
  • 打赏
  • 举报
回复
upx
加壳软件都可以
zhengda1936 2007-09-16
  • 打赏
  • 举报
回复
你能给个例子吗?
机器代码也能runtime code modification
星羽 2007-09-16
  • 打赏
  • 举报
回复
c语言本生不支持,但你要做到也可以,这里就不说这个了

对于动态语言 ASP、PHP、Perl、Python,Smalltalk、Ruby等等,好像都是脚本

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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