LyScript
项目描述
A powerful automatic disassembly control module developed for x64dbg improves the efficiency of reverse analysis.项目介绍
x64dbg 自动化控制插件
一款 x64dbg 自动化控制插件,通过 Python 控制 x64dbg 的行为,实现远程动态调试,解决了逆向工作者分析程序,反病毒人员脱壳,漏洞分析者寻找指令片段,原生脚本不够强大的问题,通过与 Python 相结合利用 Python 语法的灵活性以及其丰富的第三方库,加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析。
Python 包请安装与插件一致的版本,在 cmd 命令行下执行 pip 命令即可安装,推荐两个包全部安装。
- 安装标准包:
pip install LyScript32
或者pip install LyScript64
- 安装扩展包:
pip install LyScriptTools32
或者pip install LyScriptTools64
其次您需要手动下载对应x64dbg
版本的驱动文件,并放入指定的plugins
目录下。
插件下载好以后,请将该插件复制到 x64dbg 的 plugins 目录下,程序运行后会自动加载插件。
当插件加载成功后,会在日志位置看到具体的绑定信息以及输出调试,该插件并不会在插件栏显示。
如果需要远程调试,则只需要在初始化MyDebug()
类时传入对端 IP 地址即可,如果不填写参数则默认使用127.0.0.1
地址,请确保对端放行了6589
端口,否则无法连接。
运行 x64dbg 程序并手动载入需要分析的可执行文件,然后我们可以通过connect()
方法连接到调试器,连接后会创建一个持久会话直到 python 脚本结束则连接会被强制断开,在此期间可调用is_connect()
检查该链接是否还存在,具体代码如下所示。
from LyScript32 import MyDebug
if __name__ == "__main__":
# 初始化
dbg = MyDebug()
# 连接到调试器
connect_flag = dbg.connect()
print("连接状态: {}".format(connect_flag))
# 检测套接字是否还在
ref = dbg.is_connect()
print("是否在连接: ", ref)
dbg.close()