如何在函数内部php获取当前函数名函数名

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
稍有积蓄, 积分 409, 距离下一级还需 91 积分
论坛徽章:0
最近用PYTHON写了几个函数,这些函数都要调用到同一个函数A,A函数需要调用者的函数名字串作为参数传入.不知有没有办法在函数内部得到函数名?
def abc(...):
& & A('abc')#此处传函数名
def asff(...):
& & A('asff')#此处传函数名
[ 本帖最后由 moatlzy 于
10:30 编辑 ]
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
稍有积蓄, 积分 455, 距离下一级还需 45 积分
论坛徽章:0
A是怎么实现的呢?
getattr(f, '__name__')
这样处理不行吗?
腰缠万贯, 积分 9015, 距离下一级还需 985 积分
论坛徽章:0
原帖由 moatlzy 于
22:39 发表
这些函数都要调用到同一个函数A,A函数需要调用者的函数名字串作为参数传入.不知有没有办法在函数内部得到函数名?
def abc(...):
& & A('abc')#此处传函数名
& & ... ...
这还用想什么办法?你定义的函数你不知道叫什么名字?
家境小康, 积分 1891, 距离下一级还需 109 积分
论坛徽章:0
当然是__name__比较方便和正规
稍有积蓄, 积分 409, 距离下一级还需 91 积分
论坛徽章:0
回复 #3 luffy.deng 的帖子
主要是有很多函数要调用A,我是这样想的,每次都写函数名字串给A作参数,以后可能会改函数名,这样的话,函数里面也要再去改一次,呵呵,想偷懒一下,改函数名时不对函数体有影响!
家境小康, 积分 1514, 距离下一级还需 486 积分
论坛徽章:0
def after_func_run(func):
& & def _func(*args,**kw):
& && && & result=func(*args,**kw)
& && && & print func.__name__
& && && & return result
& & return _func
@after_func_run
def printwords(s):
& && &print s
printwords(&test&)
复制代码
腰缠万贯, 积分 9015, 距离下一级还需 985 积分
论坛徽章:0
原帖由 moatlzy 于
11:47 发表
主要是有很多函数要调用A,我是这样想的,每次都写函数名字串给A作参数,以后可能会改函数名,这样的话,函数里面也要再去改一次,呵呵,想偷懒一下,改函数名时不对函数体有影响!
果然是为了改名问题。我一般是这样处理的,笨人笨办法。
class AA():
& & def __init__(self):
& && &&&pass
& & def aa(self,fn):
& && &&&print &nnnn&,fn
class F1(AA):
& & def __init__(self):
& && &&&print &f1&,
& && &&&self.aa(&__init__&)
class F2(AA):
& & def __init__(self):
& && &&&print &f2&,
& && &&&self.aa(&__init__&)
if __name__==&__main__&:
稍有积蓄, 积分 409, 距离下一级还需 91 积分
论坛徽章:0
顶一下,请问有没有办法在函数内部得到本函数的函数名啊?
家境小康, 积分 1613, 距离下一级还需 387 积分
论坛徽章:0
def p():
& & import sys
& & print sys._getframe(1).f_code.co_name
def f():
& & p()
& &
def f1():
& & p()
& &
if __name__ == '__main__':
& & f()
& & f1()
复制代码
白手起家, 积分 2, 距离下一级还需 198 积分
论坛徽章:0
最简单的方法是使用eval函数
将字符串作为eval的值,eval会帮你调用函数的
def abc(...):
& & A('abc')#此处传函数名
def asff(...):
& & A('asff')#此处传函数名
def A(func):
& && &eval('%s()' %func)
[ 本帖最后由 newrain 于
23:19 编辑 ]C++ 怎么获取Lua内调用C的函数名或者地址?|lua新手入门 - Luaer 中国官方论坛 - 中国lua开发者
查看完整版本: [--
C++ 怎么获取Lua内调用C的函数名或者地址?
C++函数导入到Lua内执行lua脚本 Lua内部调用导入的C++函数 在被调用的这个C++函数内可以通过lua_State*进行一些操作。我现在想获取这个函数在Lua的导入名或者地址什么的。。(希望是导入时的字符串 .0.0. )
[s:55]有这类的Lua API没有 求各位大大指点一下 谢谢啦源代码最好啦 嘎嘎
实际上就是 统一Lua的调用的意思 有没有大大实现过这样的想法没有。。 [s:56] 给个链接或者是思想
[s:37] 没有大大搞过这方面的么?
没太搞懂你的意思.lua 里函数是匿名的,所以不太可能从地址反查名字,除非一开始建一个对应的表.或者我还是弄错了你的意思?你还是举一个简单的例子吧.
在将C++库导入Lua的时候,一般是以包的形式动态加载的。在包里面就可以定义你C++函数在Lua中使用的名字,比如static struct luaL_reg mylib[] = {{luafunc, cfunc}, ...{NULL, NULL}}。其中的luafunc不就是该C函数在Lua中的导入名吗?ps:刚开始学习,不知道解释是否正确
是Lua调用时的函数啦。。 在运行lua时lua里面调用了一个C++导入函数。在这个C++导入函数中获取这个lua调用的函数的导入名字或者一个地址什么的。。。现在解决了。。 用的宏定义
#define LUA_FUNC(_NAME) \
int Lua##_NAME( lua_State* p) \{ \
int n = lua_gettop( p ); \
switch ( n ) \
val = g_funRecord.RunFunRecord0( #_NAME ); \ \
return g_script.PushLuaState( p, val );\}当声明一个函数后 调用这个宏。。。 声明一个对应的导入函数。。 就知道这个函数名字了。。 在这个声明的Lua##_NAME函数里面处理p的数据
你好像理解错意思了。。 你们好像都理解错了。。我语文成绩一向不及格。。 [s:40]
查看完整版本: [--
Powered by
Time 0.082034 second(s),query:0 Gzip enabledJava中获取当前函数名、类名、当前类的文件名_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Java中获取当前函数名、类名、当前类的文件名
上传于||文档简介
&&J​a​v​a​中​获​取​当​前​函​数​名​、​类​名​、​当​前​类​的​文​件​名
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢如何通过函数指针获取函数名呢? - 看雪安全论坛
该主题: "如何通过函数指针获取函数名呢?" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 19:57:17
如何通过函数指针获取函数名呢?
如果我知道了一个函数的地址,怎么通过这个地址来获取他的函数名呢?
r3通过函数名GetProcAddress()&函数来获取他的地址..
现在我想通过函数地址来获取函数名可以吗?/
我想在R0通过函数地址获取函数名?
请大大给点指示,谢谢!!!
注册日期: Sep 2007
现金: 408 Kx
获感谢文章数:4获会员感谢数:12
, 20:08:22
看这个地址落在哪个DLL内.......遍历这个DLL的导出表.....看哪个函数的地址==你的地址....
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 20:19:53
我的是R0的,函数地址属于SSDT表里的.我不想把代码写死,我想通过这个函数地址来获取他的函数名...
比如很多软件,冰刃啊,狙剑,RKU什么的,他们遍历SDT的时候,显出来的函数名不会是写死的吧??
注册日期: Sep 2007
现金: 408 Kx
获感谢文章数:4获会员感谢数:12
, 20:26:02
SSDT名字..NTDLL.....就OK咯
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 20:55:27
...........80以上的地址..和NTDLL好象没关系吧....
我也不懂了.&&
就比如&805a44bc这个地址,怎么取他的函数名...
注册日期: Mar 2007
现金: 486 Kx
获感谢文章数:0获会员感谢数:0
, 22:15:45
获取SSDT&函数名&比一般函数名方便多了&
只要获取他的服务号就可以&直接去NTDLL里面查了&&&
网上已经有很多例子了哦&&自己找找吧
注册日期: Feb 2008
现金: 419 Kx
获感谢文章数:0获会员感谢数:0
, 23:06:46
检查NTDLL导出表
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 23:08:42
哦,非常感谢....
意思就是我把地址给了r3以后,通过这个地址和NTDLL导出表地址对比,或者通过这个函数的服务号取到他的函数名对吧...谢谢了..
哦,只能通过服务号来找出NTDLL导出函数名,不能通过函数地址....
弱弱的问一句,我是菜鸟....
怎么查看NTDLL的导出表......我只会用工具看,自己写不知道怎么看他的函数名..........希望指点下..
MJ帮帮忙...呵呵...
被 六月 最后编辑
注册日期: May 2009
现金: 69 Kx
获感谢文章数:0获会员感谢数:0
, 23:48:42
hModule-&NTHeader-&DataDirectory-&exportedTable
看看pe结构
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 00:00:25
谢谢.......我去看看,感谢楼上..
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 23:38:50
看了某为大大写的SSDTHOOK里的代码,可以通过加载NTDLL,通过PE找出对应的函数名,函数地址,函数服号...
就可以实现了....
现在又碰到个问题,如果我想获取win32k.sys里的ShaDow的导出函数名呢?
还有不太明白,像冰刃这类软件,他们恢复SSDT,ShaDow等,他们获取原函数地址的呢?
我记得如果导出的切公开的函数定义一下,可以直接获取的函数地址,那么没公开的函数呢?怎么获取他们的原函数地址?不会通过特征码定位的吧?那工程也太大了吧?
况且SSDT&&加ShaDow2个表的函数+起来大概1000个左右吧,难道定义了1000个函数?分别获取他们的原函数地址?
如果是那样,那工程实在太大了呀,1000来个函数全定义好,当恢复的时候对应的恢复......................
被 六月 最后编辑
注册日期: Jun 2008
现金: 211 Kx
获感谢文章数:0获会员感谢数:0
, 08:52:06
我原来是利用符号包的,当时写了一个栈回溯,可以通过hook一个函数,进行回溯,并显示函数名,不过代码上有些技术问题,不过大概解决了。你也可以试试
注册日期: Dec 2007
现金: 128 Kx
获感谢文章数:1获会员感谢数:2
, 14:06:56
谢谢楼上的,我不太明白你的意思,HOOK一个函数是为了什么?能把原理讲一下吗?我听的不太明白...
注册日期: Jun 2008
现金: 211 Kx
获感谢文章数:0获会员感谢数:0
, 18:55:14
最初由 六月发布
谢谢楼上的,我不太明白你的意思,HOOK一个函数是为了什么?能把原理讲一下吗?我听的不太明白...
比如hook一个xxxx函数为function1,是什么函数调用的function1,这样可以显示出这个函数名,我的demo仅能回溯到ssdt函数
注册日期: Jun 2008
现金: 211 Kx
获感谢文章数:0获会员感谢数:0
, 19:01:17
其实建个索引,搜索导出表也是挺快的
该主题: "如何通过函数指针获取函数名呢?" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛论坛启用
用户控制面板
会员在线状态
『看雪众测/众包』
『Android 安全』
『Android 开发』
『iOS安全』
『求助问答』
『经典问答』
『资料导航』
『软件调试逆向』
『密码学』
『编程技术』
『C32Asm』
『MDebug』
『安全工具开发』
『加壳与脱壳』
『CrackMe&ReverseMe』
『资源下载』
『WEB安全』
『漏洞分析』
『外文翻译』
『招聘专区』
『职业生涯』
『15PB培训』
『麦洛克菲培训』
『茶余饭后』
『安全资讯』
『论坛活动』
6)PEDIY Crackme竞赛2009
7)看雪十周年专版
8)腾讯公司2010软件安全竞赛
9)2011 Exploit Me竞赛
『图书项目版』
《加密与解密(第三版)》
《C++反汇编与逆向分析技术揭秘》
《Android软件安全与逆向分析》
『论坛版务』
所有时间均为北京时间, 现在的时间是 .
&&& 看雪学院()
| 提供带宽资源
|&微信公众帐号:c语言 如何获取当前函数的上层函数名,即调用他的函数_百度知道}

我要回帖

更多关于 js 获取函数名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信