如何从二进制SQR文件中提取数据库表名与列名?
从二进制SQR文件提取表名与列名的方法
- 用SQR自带反编译命令:多数SQR编译器提供反编译功能,直接执行
sqr -decompile [你的二进制SQR文件名],就能生成可读的SQR源码文件,之后在源码里搜SELECT、FROM、JOIN这类关键字,就能找到用到的表名和列名。 - 数据库端抓执行SQL:如果能重新运行这个二进制文件,开启数据库的SQL追踪或审计功能(比如Oracle用
DBMS_MONITOR、SQL Server开Profiler、MySQL开通用日志),捕获它实际执行的SQL语句,从这些SQL里直接提取表和列信息。 - 二进制文件搜字符串:用十六进制编辑器打开二进制文件,直接搜索字符串片段——SQR编译后的文件一般不会完全加密表名、列名这类标识符,能找到大写或符合业务命名规则的表/列名称。
- 查遗留文档或问老同事:如果有之前的交接文档、注释或者能联系到原开发者,直接找对应的表结构说明,比折腾二进制文件高效得多。
内容的提问来源于stack exchange,提问作者user4649
相关产品推荐
相关产品推荐

