VC 使用 OCI 连接操作 ORACLE 数据库
----
通过
Hook Navicat for Oracle
得到
OCI
使用方法
作者
:yuyangdy
说明:本文档只供个人研究学习,不得用于其它用途,对因使用本文档产生的后
果本人不负任何责任,转载请保留作者信息。
目录
一、缘由............................................................................................................................................. 3
二、思路............................................................................................................................................. 3
三、环境............................................................................................................................................. 4
四、过程............................................................................................................................................. 4
4.1 安装 Oralce 数据库.............................................................................................................. 4
4.2 安装 Navicat for Oracle 数据库管理工具...........................................................................4
4.3 下载 instantclient.................................................................................................................. 5
4.4 测试 Navicat for Oracle 数据库管理工具..........................................................................5
4.5 写注入程序..........................................................................................................................5
4.6 写 Hook 动态库...................................................................................................................6
4.7 通过注入程序把 Hook 动态库注入到 Navicat 进程........................................................6
4.8 操作 Navicat 从 DebugView 上得到调试信息..................................................................7
4.9 分析 DebugView 上面的调试信息得到 OCI 函数的调用次序和具体参数..................9
4.10 编写 Oracle 数据库操作 Demo......................................................................................... 9
五、VC 编写注入程序...................................................................................................................... 9
5.1 加载函数.............................................................................................................................10
5.2 卸载函数.............................................................................................................................12
六、VC 编写 HOOK 动态库...........................................................................................................15
6.1 Hook 加载卸载...................................................................................................................16
6.2 Hook 启动函数...................................................................................................................17
6.3 Hook 停止函数...................................................................................................................20
6.4 OCIServerAttach 函数........................................................................................................22
七、VC 编写 DEMO 程序.............................................................................................................. 28
7.1 初始化................................................................................................................................28
7.2 连接数据库........................................................................................................................29
7.3 创建表................................................................................................................................31
7.4 删除表................................................................................................................................32
7.5 插入记录............................................................................................................................33
7.6 查询记录............................................................................................................................33