Gcc中在main前和后执行的函数
¶gcc在主函数前后运行的函数
逆向的时候我们直到elf文件在start函数中有main函数、init和fini函数,init就是初始化,即在主函数前运行的函数,fini就是在主函数之后执行的函数
那么我们怎么实现呢,windows下我没找到好方法
但是linux下则可以,我们需要用到gcc编译器
¶实现
gcc支持_attribute_((constructor)) void FunctionName(),这样这个函数就是在主函数运行前的函数,_attribute_((destructor)) void FunctionName{}是在主函数运行之后执行的。
¶代码
1 |
|
效果
¶利用
我们可以定义全局变量的密钥,然后在init中修改密钥,进而阻碍他人的静态分析