要去看埃菲尔铁塔的顶
欢迎关注本人微博:t.cn/RGSLVUk
自己动手写 程序外壳<一>
壳:包裹在正常程序外面的一个“外壳程序”,其先于正常程序执行的特性使得其可以「加密」程序段,「压缩」程序段,故可以有 加密壳,压缩壳。
本次讨论程序外壳编写时需要注意的一些地方, 程序外壳是由壳程序 「附加」 到正常程序上的,通常做法可以新建一个节区将壳程序拷贝到节内,我们以通常做法来考虑写壳。
外壳程序通常根据功能 需要解决 程序入口,自身重定位和API调用 问题。
1. 接管程序入口
2. 由于外壳程序脱离的自身运行环境,将其复制到 其他程序节中,导致加载基址发生变化,需要根据加载基址而动态获取程序某些数据的运行时地址(编译地址->运行时地址)
3. 壳程序需要动态获取自身需要的API地址。
4. 一些保护措施