LyScriptTools模块类API接口手册
LyScriptTools工具包是在LyScript模块基础上封装的工具包,其主要是二次封装LyScript插件实现的一些新功能,或者将特定功能组件拆分开形成的独立模块,此类模块可实现更加精细化的功能控制,在实际开发中推荐使用此种方式调用。
获取被调试进程信息: 得到当前被调试进程详细参数,包括路径,名称,入口地址,基地址,长度等。
from LyScript32 import MyDebug |
得到当前被调试进程基本信息:
根据模块地址或名称得到基地址: 根据模块名或者模块地址互相获取指定模块的入口地址,基地址,名称等。
from LyScript32 import MyDebug |
运行效果如下:
如上只是两个最基本的演示,LySctiptTools中关于模块的封装函数有很多,具体可归纳为如下表:
Module类内函数名 | 函数作用 |
---|---|
get_local_full_path() | 得到程序自身完整路径 |
get_local_program_name() | 获得加载程序的文件名 |
get_local_program_size() | 得到被加载程序的大小 |
get_local_program_base() | 得到基地址 |
get_local_program_entry() | 得到入口地址 |
check_module_imported(module_name) | 验证程序是否导入了指定模块 |
get_name_from_module(address) | 根据基地址得到模块名 |
get_base_from_module(module_name) | 根据模块名得到基地址 |
get_oep_from_module(module_name) | 根据模块名得到模块OEP入口 |
get_all_module_information() | 得到所有模块信息 |
get_module_base(module_name) | 得到特定模块基地址 |
get_local_base() | 得到当前OEP位置处模块基地址 |
get_local_size() | 获取当前OEP位置长度 |
get_local_protect() | 获取当前OEP位置保护属性 |
get_module_from_function(module,function) | 获取指定模块中指定函数内存地址 |
get_base_from_address(address) | 根据传入地址得到模块首地址,开头4D 5A |
get_base_address() | 得到当前.text节基地址 |
get_base_from_name(module_name) | 根据名字得到模块基地址 |
get_oep_from_name(module_name) | 传入模块名得到OEP位置 |
get_oep_from_address(address) | 传入模块地址得到OEP位置 |
get_module_from_import(module_name) | 得到指定模块的导入表 |
get_import_inside_function(module_name,function_name) | 检查指定模块内是否存在特定导入函数 |
get_import_iatva(module_name,function_name) | 根据导入函数名得到函数iat_va地址 |
get_import_iatrva(module_name,function_name) | 根据导入函数名得到函数iat_rva地址 |
get_module_from_export(module_name) | 传入模块名,获取模块导出表 |
get_module_export_va(module_name,function_name) | 传入模块名以及导出函数名,得到va地址 |
get_module_export_rva(module_name,function_name) | 传入模块名以及导出函数,得到rva地址 |
get_local_section() | 得到程序节表信息 |
get_local_address_from_section(section_name) | 根据节名称得到地址 |
get_local_size_from_section(section_name) | 根据节名称得到节大小 |
get_local_section_from_address(address) | 根据地址得到节名称 |