• SelfDelete程序之Delphi版本,终于搞定了


     //转贴者:以前看过陆麟先生翻译过一篇这样的文章,是c版本的,我用delphi改写了没成功,今天去清华bbs转悠看见了这篇delphi版本的,特贴出来
    发信人: Litoad (Rick), 信区: Delphi
    标  题: Self-Delete程序之Delphi版本,终于搞定了。 (转载)
    发信站: BBS 水木清华站 (Mon Jun  4 20:51:55 2001)
    【 以下文字转载自 Programming 讨论区 】
    发信人: Litoad (Rick), 信区: Programming
    标  题: Self-Delete程序之Delphi版本,终于搞定了。
    发信站: BBS 水木清华站 (Mon Jun  4 20:50:42 2001)

    到Borland的论坛去问了问,确实跟laoduan说得一样,要自己GetProcAddress。代码如下:

    现在有一点比较古怪,那就是必须把代码放在一个Procedure里,直接放在begin ... end.中间是不行的。也许是全局变量不能使用的缘故,但为什么不能使用,还是不是很清楚。还有,不GetProcAddress,直接如下写:
        PUSH  OFFSET  UnmapViewOfFile
    trace的结果是执行进入了KERNEL32.UnmapViewOfFile的,只是在函数内RET $4出就出错了,跳到了一个莫名其妙的地方。为什么会这样?难道是Delphi的编译器的问题吗?
    另外,Borland论坛上RE的代码不是上面的,不过效果跟我写的一样。但是FreeLibrary(p)跟UnmapViewOfFile(hModule)效果一样吗?

    代码如下:

    谢祥选【小宇飞刀(xieyunc)】
  • 相关阅读:
    一些总结与思考(聊聊最近,希望对大家有所帮助)
    操作符、语句、函数——Javascript高级程序设计
    Javascript高级程序设计——语法、关键字、保留字、变量、数据类型
    Javascript高级程序设计——Javascript简史+使用Javascript
    Angular.js!(附:聊聊非原生框架项目)
    JS事件绑定深入
    Javascript事件绑定及深入
    实现API管理系统的几个重要关键词
    实现API优先设计的重要性和实现方式
    对API进行版本控制的重要性和实现方式
  • 原文地址:https://www.cnblogs.com/xieyunc/p/2793668.html
Copyright © 2020-2023  润新知