SQLMAP源码阅读之盖览sqlmap.py

整体上代码结构是这样的:
1.检查python运行版本:version 介于 2.6~3之间
from lib.utils import versioncheck
2.设置根目录路径及程序运行中所需要的一些存放运行信息的目录(包括输出目录等的配置)
paths.SQLMAP_ROOT_PATH = modulePath()
setPaths()
3.解析命令行参数,并对其进行分组和组合,便于程序理解(此时,系统也设置了一个参数的备份)设置程序输出
cmdLineOptions.update(cmdLineParser().__dict__)

initOptions(cmdLineOptions)

sys.stdout = StdDbOut(conf.taskid, messagetype="stdout")

sys.stderr = StdDbOut(conf.taskid, messagetype="stderr")

4.代码运行环境初始化
init()
5.程序主逻辑运行
start()
6.异常处理
except .....
今天也只是大过桥式的看了下代码,有很多细节都没有深究。自认为此代码阅读应该分3次,首次,知道其处理逻辑。而后,深究其实现逻辑。最后,知道其为何如此设计。


顺带说下:
2.path设置。各种坑爹,考虑什么weAreFrozen()和非ascii码路径的问题,主要是东亚文字的路径问题,如中文,日文。
   作者把python中的dic类封装改写后成为Attrdict类,但代码中也用到了原声dict类,目前还没来得及看这两种实例在运用中的区别。
3.解析命令行参数
   怎么说呢,这么多的参数我也是第一次看到,然后就觉得作者的分类的思想(把输入的参数分为数类,估计而后会根据每个类设置不同api接口调用)挺好的吧,如果是我,可能直接就全部放一堆了。。。菜鸟
   然后是,把默认参数和用户自定义参数的混合。
后面的还没看,下次继续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值