根据函数名获取函数地址

时间:2022-11-26 20:14:08
想做个脚本系统,如果能通过字符串就自动映射到函数地址该多爽

如果这个函数是在导出列表中的,那还好办。

关键是,如果我根本没有的导出过这个函数,那这个PE文件内部会保存这个函数的名字吗?或者已经在链接的时候,已经丢掉了函数名字的信息了?直接在符号处填了函数地址?

如果我另外提供pdb文件会不会有办法呢?隐约记得,所有信息都在pdb里面了,该不会让我去解析PDB文件吧?


求高人指点。

6 个解决方案

#1


如果只是由标题说,强制转换为函数指针,再打印

#2


没有导出过的函数,不能直接得到其地址,
但是网上有使用:暴力搜索 的方式实现,搜一搜

#3


引用楼主  的回复:
想做个脚本系统,如果能通过字符串就自动映射到函数地址该多爽

如果这个函数是在导出列表中的,那还好办。

关键是,如果我根本没有的导出过这个函数,那这个PE文件内部会保存这个函数的名字吗?或者已经在链接的时候,已经丢掉了函数名字的信息了?直接在符号处填了函数地址?

如果我另外提供pdb文件会不会有办法呢?隐约记得,所有信息都在pdb里面了,该不会让我去解析PDB文件吧?


求……

pdb当然可以了。
最简单的是用map文件

#4


如果已经是PE文件了,那么在链接的时候已经将符号重定位成地址了。PE文件还没有去研究过,看雪里有将,你可以去看看。

#5


有 PDB 的情况下可以用 SymFromName 函数试试

#6


谢谢以上。

#1


如果只是由标题说,强制转换为函数指针,再打印

#2


没有导出过的函数,不能直接得到其地址,
但是网上有使用:暴力搜索 的方式实现,搜一搜

#3


引用楼主  的回复:
想做个脚本系统,如果能通过字符串就自动映射到函数地址该多爽

如果这个函数是在导出列表中的,那还好办。

关键是,如果我根本没有的导出过这个函数,那这个PE文件内部会保存这个函数的名字吗?或者已经在链接的时候,已经丢掉了函数名字的信息了?直接在符号处填了函数地址?

如果我另外提供pdb文件会不会有办法呢?隐约记得,所有信息都在pdb里面了,该不会让我去解析PDB文件吧?


求……

pdb当然可以了。
最简单的是用map文件

#4


如果已经是PE文件了,那么在链接的时候已经将符号重定位成地址了。PE文件还没有去研究过,看雪里有将,你可以去看看。

#5


有 PDB 的情况下可以用 SymFromName 函数试试

#6


谢谢以上。