小编har*_*ngt的帖子

在加载之前检查Linux共享对象的签名

目标:加载.so或已经过验证签名的可执行文件(或针对任意算法进行验证).

我希望能够验证.so /可执行文件,然后使用dlopen/...加载/执行该.so /可执行文件

这里的扳手是,似乎没有编程方式来检查然后加载.可以手动检查文件,然后加载它.但是有一个机会窗口,有人可以将该文件替换为另一个文件.

我能想到的一个可能的解决方案是加载二进制文件,检查签名然后dlopen/execvt /proc/$PID/fd....但是我不知道这是否是一个可行的解决方案.

由于文件系统锁在Linux中是建议性的,因此它们对于此目的并不是那么有用......(好吧,有mount -o mand......但这是针对用户级别而不是root用户).

linux dll digital-signature

8
推荐指数
2
解决办法
3247
查看次数

C中的编译时LCM/GCD

有谁知道一个机制,在编译时计算至少两个号的LCM(最小公倍数)和/或GCD(最大公约数)Ç(不是C++,我知道模板魔法可有)?

我通常使用GCC并回想一下,当所有输入都已知时,它可以在编译时计算某些值(例如:sin,cos等等).

我正在寻找如何在GCC中执行此操作(最好以其他编译器可以处理的方式)并希望相同的机制可以在Visual Studio中工作.

c gcc visual-c++

2
推荐指数
1
解决办法
1968
查看次数

标签 统计

c ×1

digital-signature ×1

dll ×1

gcc ×1

linux ×1

visual-c++ ×1