linux下SO中INIT函数中添加自己的代码

转载自:http://0nly3nd.sinaapp.com/?p=642

0×1

so文件是一个elf格式的文件

通过对elf文件格式的了解。so在被加载之前,会执行init段的代码。在结束的时候,会执行fini段的代码。

上次分析过360的加固,他们采用的就是在init中执行代码的解密函数。(这也是为什么在jni_onload中无需解密的原因)

今天就展示一下怎么将自己的函数放入init段,并执行。

0×2

so代码

s.c

编译生成so:

0×3

调用so

ts.c

s.h

编译生成可执行文件:

0×4

指定程序加载so的路径

新建名为e的文件:

0×5

运行

终端中输入:./e &

可以看出,最新执行的是Init,最后执行的是Fini。

今天了解到一种动态调试手法,据说能够断在init中,明天再来试试。

 

参考文章:mypyg.iteye.com/blog/845915


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值