首页 > 数据库技术 > 详细

尝试去读SQLMAP源码(一)

时间:2017-06-16 09:21:09      阅读:359      评论:0      收藏:0      [点我收藏+]

本人python 小菜比 一枚。拜读业界典范~~

sqlmap.py 脚本中 72~83

def modulePath():
    """
    This will get us the program‘s directory, even if we are frozen
    using py2exe
    """

    try:
        _ = sys.executable if weAreFrozen() else __file__
    except NameError:
        _ = inspect.getsourcefile(modulePath)

    return getUnicode(os.path.dirname(os.path.realpath(_)), encoding=sys.getfilesystemencoding() or UNICODE_ENCODING)

modulePath 按照名字来看,应该是和路径相关的。

sys.executable 获取当前python 解释器路径。

__file__ 相对路径下执行获得相对路径,绝对路径下执行获得绝对路径。

weAreFrozen() 这个函数在这里,hasattr 获取sys 中是否存在这个frozen属性,返回一个布尔值。

技术分享

小技巧:Python获得自己的绝对路径
Python中有个魔术变量可以得到脚本自身的名称,但转换成exe后该变量失效,这时得改用sys.executable获得可执行程序的名称,可用hasattr(sys, "frozen")判断自己是否已被打包,下面是一个方便取绝对路径的。

 

为了搞明白,然后做了测试。

技术分享

技术分享

技术分享

 

 

太困了....下面一部分,晚上再读。

 

尝试去读SQLMAP源码(一)

原文:http://www.cnblogs.com/MiWhite/p/7021981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!