SQL Enlight 1.5 破解 第二版
SQL Enlight 1.5 破解 第二版 收藏
破解声明:我的破解仅用于研究,请勿用于商业用途,需要使用请购买正版软件。
可恶的UbitSoft,我的破解出来还没几天,他的程序就改变了验证逻辑,虽然我觉得SQL Enlight的功能不是非常强大,但是他的防破解功能倒是下了不少功夫,除了核心代码用vc++.net编写的native code和il code混合的组件,还在程序逻辑中调用了.net执行引擎的StrongNameSignatureVerificationEx方法验证调用程序集的强命名是否有效,所以简单的反编译SQL Enlight的组件,并绕过强命名验证的方法是不行的,除此之外在这个用c++.net编写的Ubitsoft.SqlEngage.Sql.dll组件中,对调用程序集的强命名做了检查,除了检查强命名有效之外,调用程序集的强命名必须和Ubitsoft.SqlEngage.Sql.dll组件的强命名一致,而Ubitsoft.SqlEngage.Sql.dll这个组件是没法用ildasm反编译,再用ilasm编译回去的。
所以麻烦就来了,对于目前这个版本可以简单的反编译Ubitsoft.Security.dll这个组件,然后绕过强命名验证,可以破解,因为SQL Enlight代码里面没有对这个组件验证强命名的有效性,:)可能是忘记了,我想UbitSoft公司很快会意识到这点。因此这种破解方法并不好,而且本人不喜欢绕过强命名的破解方式,始终觉得不爽,一旦使用了StrongNameSignatureVerificationEx方法进行验证的话,那么这种方法就不凑效了。
不过问题来了,抛弃了绕过强命名的方式,搞不定Ubitsoft.SqlEngage.Sql.dll组件就没法破解了,因为Ubitsoft.SqlEngage.dll组件是需要被反编译的,但是他要调用Ubitsoft.SqlEngage.Sql.dll组件中的TsqlParser类,在这个类的构造函数中会检验调用程序集,除了签名验证,还要验证强命名是否和Ubitsoft.SqlEngage.Sql.dll一致,因此完美的方式就要修改Ubitsoft.SqlEngage.Sql.dll的强命名,没法反编译,就只能用另外的方式重新签名这个程序集了,尝试了ILMerge.exe,sn.exe,signer.exe,snremove.exe等,无一凑效,原因就是这是一个混合编程的组件,有unmanaged code,郁闷啊。
于是我打算放弃修改Ubitsoft.SqlEngage.Sql.dll组件的强命名了,想通过间接的方式构造出TsqlParser对象,然后赋值给破解的组件,不过这么做比较麻烦,而且万一UbitSoft变态起来在每个方法调用的时候检查调用程序集,那么这个方法又行不通了。
最后实在没办法了,只能用最土的办法来重新签名Ubitsoft.SqlEngage.Sql.dll这个组件了,好了,成功了。
破解
相关文档:
1. 执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
2. 对当前的输入进行编辑
SQL>edit
3. 重新运行上一次运行的sql语句
SQL>/
4. 将显示的内容输出到指定文件
SQL> SPOOL file_name
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool ......
作为一个B/S开发者,或多或少都得和数据库打交道,而对数据库的操作归根到底都是query语句,所有到最后都是为了查询,那么查看sql性能又成了我们开发中的一件趣事。下面简单介绍下sql_trace的使用:
alter session set sql_trace =true ;--打开sql_trace
select * from (select * from t order by id) where rownum <= ......
按指定次数重复字符表达式。
语法
REPLICATE ( character_expression, integer_expression)
参数
character_expression
字符数据型的字母数字表达式,或者可以隐式转换为 nvarchar 或 ntext 的其他数据类型的字母数字表达式。
integer_expression
可以隐式转换为 int 的表达式。如果 integer_expression 为 ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE data ......
还是一转帖,总结的不错,大家借鉴。
原网址:
http://database.ctocio.com.cn/222/9068222.shtml
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出 ......