LyScript
LyScript copied to clipboard
x64dbgpy automated testing plugin
这样一来除了您提供的API以外 我们还可以用内置命令获取64dbg的信息
测试脚本: from LyScript64 import MyDebug if __name__ == "__main__": dbg = MyDebug(address="127.0.0.1") connect_flag = dbg.connect() print("isok:{}".format(connect_flag)) rax = dbg.get_register("rax") RBX = dbg.get_register("RBX") rip = dbg.get_register("rip") # 检测套接字是否还在 ref = dbg.is_connect()...
安装Python包:pip install LyScript32 或者 pip install LyScript64 这个包在哪呢 插件载入失败是因为它吗
调用get_all_breakpoint, 经常返回False, 我把内部的exception logging下来发现是struct.error。 这个问题也不是必定出现,多跑几次可能可能又有正常情况。 ``` ERROR:root:unpack requires a buffer of 24 bytes Traceback (most recent call last): File "C:\Users\xxx\AppData\Local\Programs\Python\Python39\lib\site-packages\LyScript64\__init__.py", line 326, in get_all_breakpoint (address,enabled,hitcount,type) = struct.unpack("< q q i...
64位程序 dbg.script_runcmd_ex('rip') 返回的数据为b'rip' b'' b'' b'' b'' 0 125649873 0 0 0 5002 0 0 (将收到的数据打印出来了) print(dbg.get_thread_list()) 可以加线程信息打印出来 换个程序 dbg.script_runcmd_ex('rip') 可以得到正确的值
# 例子 ``` C:\>python Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from x64dbg...
测试发现,遍历模块导入表或者导出表时,如果其中某个模块导入表/导出表为空,返回值是false。再调用get_module_import或者export访问其它模块,返回值也会出错。后来发现在返回值false的同时,dbg.is_connect()也变成false了,需要重新再执行一次dbg.connect()后,get_module_import/export才能返回正确结果。
新版assemble_code_hex("push 0xFFFFFFFF")和旧版assemble_code_size("push 0xFFFFFFFF")返回值都是bool类型false,而不是整型数值2。如果把汇编指令改成push -1就没问题。不知道是什么原因?