Skip to main content

xanalyzer

English

简单分析文件和url,python3下运行。
python3.11.8测试可用。

TODO

  1. 文件
    • md5/sha256
    • 文件类型
    • 文件大小
    • 字符串扫描
    • PE文件
      • PE大小
      • 编译时间
      • pdb路径
      • 版本信息
      • 证书验证
      • 节区名称
      • DLL名称
      • EXE导入表检查
      • 查壳
      • 资源段扫描
    • ELF文件
      • ELF大小
      • 查壳
    • JPG文件
      • 结尾是否异常
    • 建议使用的工具
  2. url(website)
    • 域名解析ip
    • 获取robots.txt文件
    • 站内链接扫描(--deep)
    • 站内子域名扫描(--deep)

安装

使用pipx安装:

# pipx: https://pypa.github.io/pipx/  
pip install pipx
pipx ensurepath
pipx install xanalyzer
# 还可以用来升级,但是不能检查新版本
pipx upgrade xanalyzer

如果系统是 Debian/Ubuntu,需要安装依赖:

sudo apt-get install libmagic1

使用帮助

usage: xanalyzer [-h] (-f FILE [FILE ...] | -u URL | --version) [-s] [--deep]
                 [--minstrlen MINSTRLEN]

Process some files and urls. 'xa' can be used instead of 'xanalyzer'

optional arguments:
  -h, --help            show this help message and exit
  -f FILE [FILE ...], --file FILE [FILE ...]
                        analyze one or more files, can be a folder path
  -u URL, --url URL     analyze the url
  --version             print version info
  -s, --save            save log and data
  --deep                analyze deeply
  --minstrlen MINSTRLEN
                        minimum length of the string to be extracted, default
                        4, not less than 2

使用示例

xanalyzer -f hello.exe
xanalyzer -u "https://www.baidu.com/s?wd=hello"
xa -f hello.exe

开发

git clone https://github.com/qux-bbb/xanalyzer
cd xanalyzer
python -m venv venv
# windws使用虚拟环境: .\venv\Scripts\activate
# linux使用虚拟环境: source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.my.txt
python setup.py develop

这样就可以用pycharm或vscode开发,之后调用main.py调试

打包发布

该步骤仅本人使用

打包前确保VERSION和CHANGELOG.md已更新,README、README-en已添加新功能说明,dist文件夹已清空

安装依赖、通过测试项、打包:

# windws使用虚拟环境: .\venv\Scripts\activate
# linux使用虚拟环境: source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.my.txt
pytest
python -m build

重新打开一个命令行,转到dist文件夹下本地安装,检查基本功能,举例:

pipx uninstall xanalyzer
pipx install ./xanalyzer-0.2.3.tar.gz
xanalyzer --version
xanalyzer -f ./xanalyzer-0.2.3.tar.gz

在github创建Release

  1. 标题为xanalyzer <version>,如: xanalyzer v0.2.0
  2. 内容基于CHANGELOG.md做一些修改
  3. 将dist文件夹下所有文件传到Release页面
    然后发布即可

将文件传到pypi(需要token)

python -m twine upload --repository pypi dist/*
# username: "__token__"
# password: "pypi-"开头的token字符串

其它

这个项目的有些功能可能会用到:
https://github.com/mitre/multiscanner

参考链接:

Metadata

Release files for xanalyzer 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xanalyzer 1.2.1
File Size Uploaded
xanalyzer-1.2.1.tar.gz 114.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xanalyzer 1.2.1
File Interpreter ABI Platform
xanalyzer-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 236.8 kB

Release files / xanalyzer-1.2.1.tar.gz

Download URL xanalyzer-1.2.1.tar.gz
Size 114.8 kB
Tags Source
SHA-256 checksum
How to use checksums
347b101bc6f5343632d7151137add0bd9b3295a1e2caf5ee724cd64041971cf4
BLAKE2b-256 checksum
How to use checksums
1f202568398b7cc5c93f4c710014f95cde790da443e7594a3e7c95c9b08a7eba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/44.0 requests/2.32.4 requests-toolbelt/1.0.0 urllib3/2.6.3 tqdm/4.67.1 importlib-metadata/8.7.1 keyring/25.7.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.8

Release files / xanalyzer-1.2.1-py3-none-any.whl

Download URL xanalyzer-1.2.1-py3-none-any.whl
Size 122.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3411a204ea3ba5e98eff64bfa0d7a1ffd19cc931eb8272c6a69f9c9e66b0f5a1
BLAKE2b-256 checksum
How to use checksums
3ad2091f51d567082bc56b0a878845a19912d70cc3b2e0e6c6abdb47f799b61f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/44.0 requests/2.32.4 requests-toolbelt/1.0.0 urllib3/2.6.3 tqdm/4.67.1 importlib-metadata/8.7.1 keyring/25.7.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.8

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page