数据控制,控制指定软件无法连接数据数据库
使用到技术要点,APIHOOk,
SQL数据库,
SQL数据库不管是采用ODBC或是ADO方式最终调用点在(dbnetlib.dll),在网上搜索文档可查阅,涉及到API为
ConnectionObjectSize -->调用ConnectionOpen之前必须调用,貌似有些程序不会调用此函数
ConnectionOpen --> 连接数据库时会调用
实验证明,将ConnectionOpen,Hook后,直接返回0,数据库将无法连接
在桌面新建一个UDL文件,双击打开连接数据库的方式, 会调用odbc32.dll中的SQLDrivers函数,来遍历当前计算机中所有的数据库驱动,
通过Hook,SQLDrivers函数,可以让客户端无法扫描到当前计算机中的函数
Orcal数据库
使用过PL/SQL的同学,应该知道,初次使用时会在首选项中,设置OCI的路径.
没错,Hook点就在这里,
使用ArcGIS连接数据库时,发现,会自动去加载这个库,连接数据前必须初始化环境
涉及到初始化环境的函数有三类
1--OCIEnvCreate
2--OCIInitialize
3-OCIEnvNlsCreate
经分析ArcGSI10.1使用的第三种,
通过Hook以上函数,直接返回0,可以实现禁用Orcal连接