LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 537|回复: 1

怎么能够找到此函数的定义

[复制链接]
发表于 2007-3-21 16:40:52 | 显示全部楼层 |阅读模式
struct evp_cipher_st
    {
    int nid;
    int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out,
             const unsigned char *in, unsigned int inl);/* encrypt/decrypt data */
    省略.....
    } /* EVP_CIPHER */;

另外一个函数使用这个structure去调用了 do_cipher这个函数,单不知道do_cipher再哪里定义

已经试过的方法

1. 在根目录grep do_cipher * -nr
    没有搜到有给该成员赋地址值的地方

2. 在调用出,printf出 do_cipher 的地址
    dump 可执行文件,查找地址,没有发现
    原因可能是地址被relocated的了,可执行文件调用的是一个库

大家还有什么方法能够得到定义的地方啊
先谢谢了
发表于 2007-3-22 00:59:36 | 显示全部楼层
do_cipher 只是一个函数指针,要被赋值才能使用。去找那个用struct evp_cipher_st声明的变量,找它是怎样被初始化的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表