我正在研究第三方数据库。
当我尝试通过右键单击查看视图的定义,CREATE TO然后单击 ,NEW QUERY EDIT WINDOW我收到一个错误:
This property may not exist for this object or may not be retrievable due to insufficient access rights. The text is encrypted.
简而言之,对象并没有真正加密,而是被混淆了。因此我们可以找回原来的回来。该方法有点复杂,但它由以下步骤组成:
使用专用管理员连接连接到实例
选择这样的混淆代码:
sql SELECT @secret = imageval FROM sys.sysobjvalues WHERE objid = OBJECT_ID(@object_name);
将对象替换为另一个具有相同名称、相同 object_id 和相同长度(以字节为单位)的对象(例如使用ALTER PROCEDURE)
ALTER PROCEDURE
以与上面相同的方式获取新混淆的代码
将三个值异或在一起(混淆原始、替换和混淆替换)
这将为您提供原始代码。但是,正如 Kin 所提到的,这样做可能会产生支持甚至法律影响,因此请务必先咨询您的律师。