news 2026/6/30 2:26:16

get_defined_struct

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
get_defined_struct

调用服务端 Memory 类的 GetDefinedStruct 接口,获取程序中已定义的所有结构体信息。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_defined_struct())

输出JSON格式:

{ "status": "success", "result": { "defined_types": [ { "ordinal": 1, "get_success": true, "name": "_GUID", "size_bytes": 16, "size_hex": "0x10", "is_union": false, "is_struct": true, "is_enum": false, "is_typedef": false, "is_ptr": false, "is_array": false, "type_string": "_GUID" }, { "ordinal": 2, "get_success": true, "name": "GUID", "size_bytes": 16, "size_hex": "0x10", "is_union": false, "is_struct": true, "is_enum": false, "is_typedef": true, "is_ptr": false, "is_array": false, "type_string": "GUID" }, { "ordinal": 3, "get_success": true, "name": "_EH4_SCOPETABLE_RECORD", "size_bytes": 12, "size_hex": "0xC", "is_union": false, "is_struct": true, "is_enum": false, "is_typedef": false, "is_ptr": false, "is_array": false, "type_string": "_EH4_SCOPETABLE_RECORD" } ], "total_count": 79 }, "timestamp": 35726906 }
get_memory_byte

接收地址参数,验证地址格式后,调用服务端 Memory 类的 GetMemoryByte 接口,获取指定地址的 1 字节内存数据。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_byte("0x401000"))

输出JSON格式:

{ "status": "success", "result": { "address": 4198400, "address_hex": "0x401000", "byte_value": 85, "byte_hex": "55" }, "timestamp": 35917234 }
get_memory_word

接收地址参数,验证地址格式后,调用服务端 Memory 类的 GetMemoryWord 接口,获取指定地址的 2 字节(Word)内存数据。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_word("0x401000"))

输出JSON格式:

{ "status": "success", "result": { "address": 4198400, "address_hex": "0x401000", "word_value": 35669, "word_hex": "8B55" }, "timestamp": 36064421 }
get_memory_dword
from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_dword("0x401000"))

输出JSON格式:

{ "status": "success", "result": { "address": 4198400, "address_hex": "0x401000", "dword_value": 2213317461, "dword_hex": "83EC8B55" }, "timestamp": 36239218 }
get_memory_qword

接收地址参数,验证地址格式后,调用服务端 Memory 类的 GetMemoryQword 接口,获取指定地址的 8 字节(Qword)内存数据。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_qword("0x401000"))

输出JSON格式:

{ "status": "success", "result": { "address": 4198400, "address_hex": "0x401000", "qword_value": 10040244221420278000, "qword_hex": "-74A9E3137C1374AB" }, "timestamp": 36541093 }
get_memory_bytes

接收地址和长度参数,验证地址格式并校验长度为正数后,调用服务端 Memory 类的 GetMemoryBytes 接口,获取指定地址开始的指定长度内存数据。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_bytes("0x401000","5"))

输出JSON格式:

{ "status": "success", "result": { "address": 4198400, "address_hex": "0x401000", "requested_length": 5, "actual_length": 5, "bytes": [ 85, 139, 236, 131, 236 ], "bytes_hex": [ "55", "8b", "ec", "83", "ec" ] }, "timestamp": 36614296 }
get_string_info

调用服务端 Memory 类的 GetStringInfo 接口,获取程序中所有字符串相关信息。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_string_info())

输出JSON格式:

{ "status": "success", "result": { "strings": [ { "index": 0, "start_address": 4203052, "start_address_hex": "0x40222C", "end_address": 4203143, "end_address_hex": "0x402287", "size": 91 }, { "index": 1, "start_address": 4203176, "start_address_hex": "0x4022A8", "end_address": 4203185, "end_address_hex": "0x4022B1", "size": 9 }, { "index": 2, "start_address": 4203196, "start_address_hex": "0x4022BC", "end_address": 4203205, "end_address_hex": "0x4022C5", "size": 9 } ], "total_count": 94 }, "timestamp": 36942859 }
get_memory_search

接收起始地址、结束地址和搜索参数,验证地址格式并校验搜索参数非空后,调用服务端 Memory 类的 MemorySearch 接口,在指定地址范围内搜索指定内容。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_memory_search("0x401000","0x402000","688033"))

输出JSON格式:

{ "status": "success", "result": { "found_address": 4198431, "found_address_hex": "0x40101F", "searched_pattern": "688033", "search_start": 4198400, "search_start_hex": "0x401000", "search_end": 4202496, "search_end_hex": "0x402000" }, "timestamp": 37278640 }
get_type_by_name

接收类型名称参数,校验非空后,调用服务端 Memory 类的 GetTypeByName 接口,根据名称获取对应的类型定义信息。

from IDAMoles import * if __name__ == '__main__': config=Config(address="127.0.0.1",port=8000) client = BaseHttpClient(config) info_page = Memory(config) print(info_page.get_type_by_name("_GUID"))

输出JSON格式:

{ "status": "success", "result": { "type_info": { "original_name": "_GUID", "size_bytes": 16 } }, "timestamp": 37370109
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 2:25:13

FastAPI 新手入门第 6 篇:重复代码太多时——依赖注入能解决什么

前几篇我们把接口的输入、输出、错误处理都过了一遍。这一篇来看另一个问题:多个接口都要做同一件事,比如都要校验请求头里的 token,难道每个接口都复制粘贴一遍吗? 做完这篇后,我们会有两个接口共用同一段校验逻辑&am…

作者头像 李华
网站建设 2026/6/30 2:24:57

剑指offer-81、⼆叉搜索树的最近公共祖先 _

题⽬描述 给定⼀个⼆叉搜索树, 找到该树中两个指定节点的最近公共祖先。 对于该题的最近的公共祖先定义:对于有根树T的两个结点p 、q ,最近公共祖先LCA(T,p,q)表示⼀个结点x ,满⾜x 是p 和q 的祖先且x 的深度尽可能⼤。在这⾥,⼀个节点也可…

作者头像 李华
网站建设 2026/6/30 2:24:35

芯片测试治具关键组成部分和设计考虑:测试程序

在芯片制造过程中,测试治具起着至关重要的作用,它能确保芯片的性能和质量符合标准。深圳市鸿怡电子有限公司(HMILU)作为集科研、生产、销售于一体的技术型高新企业,在芯片测试座、老化座等产品领域深耕 23 年&#xff…

作者头像 李华
网站建设 2026/6/30 2:23:46

搭建Hermes+Obsidian,我搞定了这辈子最值的本地知识库,从安装到测试全流程讲解!你缺的不是好内容,是一个能帮你记住的AI

不知道你们有没有跟我一样的感受,那就是来自各个平台的收藏夹,长年累月积累下来,多的都害怕去点开看了,可以说是多的可以吃灰了。但是偶尔要用的时候,又根本想不起来收藏在哪里了。 爱收藏是好事,但是想回去…

作者头像 李华
网站建设 2026/6/30 2:21:49

相处的艺术:尊重与边界

在人际关系中,尊重彼此与保持边界是重要的相处原则。它就像一道无形的屏障,既保护着个人的独立空间,又维系着人与人之间的和谐。 尊重,是相处的基石。它意味着认可每个人都是独立的个体,有着自己的思想、情感和选择。无…

作者头像 李华
网站建设 2026/6/30 2:20:29

好用的乒乓球培训公司

在众多体育运动中,乒乓球作为我国的“国球”,一直备受大众喜爱。无论是青少年想要提升技能,还是成年人希望锻炼身体、享受运动乐趣,选择一家专业靠谱的乒乓球培训公司至关重要。今天,就为大家推荐一家值得信赖的乒乓球…

作者头像 李华