【转帖】破解ASA密码
使用UltraEdit等二进制编辑工具打开数据库文件,通过查找“DBA”(二进制使用“444241”),定位到底一个位置,注意观察这个区域,前面一般有“dbo”、“PUBLIC”,后面有“SYS”。这个区域就是ASA保存用户口令的数据段。把“SYS”之前四个空字符“00000000”之前到“444221”之间的所有二进制数据,改为如下二进制数(代表SQL):<P> 24 36 3BDF 7D B5 77 B2 </P>
<P> 82 45 67 6D C2 DB D6 E7 F2 64 28 C3 55 22 97 F5</P>
<P> 6C F5 8C 0F 8C C5 71 BA 15 C9 5E BC 43 01 59 01</P>
<P> 59 01 59 01 4E 01 4E 01 4E 17 00 00
改好后,保存数据库,DBA密码就是“SQL”了。当然还可以先建立一个测试数据库TEST,输好自已 DBA密码后,按以上方法查找到密码区,把密码值写入到要更改的数据库文相关区,即可隨意更改成自已想要的密码了.以上方法 ASA5,ASA7通过。</P>
<P>原出处:http://pdriver.com/blog/blueman/archive/2004/05/25/1920.aspx</P> 创建时全库加密,呵呵,破解是彻底没辙了,<BR>不过dba 口令可一定要记好了。 <P><FONT size=3>发个详细的:</FONT></P>
<P><FONT size=3>破解ASA数据库超级用户口令的方法<BR></FONT><FONT size=3>张涛2003-6-28来源:摆渡人工作室</FONT></P>
<P><FONT size=3>使用PowerBuilder开发信息管理系统时,许多开发人员喜欢选择使用Adaptive Server Anywhere(ASA6.0或者ASA7.0)作为本地数据库(当然ASA也是可以作为服务器数据库的)。这种数据库具有大型数据库的特点,例如完善的管理工具支持(Sybase Central)、触发器、存贮过程的支持、用户权限管理等。还有一个优点就是安装、移植比较方便,它的数据库只有两个文件:一个DB文件,用于保存对象定义以及数据;一个LOG文件,用于保存日志。所以倍受开发人员的喜爱。 <BR></FONT></P>
<P align=left><FONT size=3></FONT></P><BR>
<P align=left><FONT size=3>但是,如果不注意,它存在安全隐患,正是由于数据库采用单独的一个文件进行维护的,所以超级用户的口令等信息业保存在这个数据库文件中,所以采用如下方法很容易将超级用户的口令修改成缺省的“SQL”。</FONT></P><BR>
<P align=left><FONT size=3>使用Sybase Central中的ASA工具“Create Database”创建一个新的数据库,取名为“TEST.DB”。然后使用UltraEdit等二进制编辑工具打开这个文件,通过查找“DBA”(二进制使用“44 42 41”),定位到底一个位置,注意观察这个区域,前面一般有“dbo”、“PUBLIC”,后面有“SYS”。这个区域就是ASA保存用户口令的数据段。记录下“SYS”之前四个空字符“00 00 00 00”之前到“44 42 21”之间的所有二进制数据,这些数据就代表口令“SQL”。如图1所示,图中蓝色部分就是缺省口令“SQL”的存储区域。</FONT></P><BR>
<P align=left><BR><FONT size=3><img src="attachments/dvbbs/2005-9/2005979172265730.jpg" border="0" onclick="zoom(this)" onload="if(this.width>document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" /><BR></P></FONT><a href="http://www.hur.cn/bbs/UploadFile/2004-6/200462011522358.jpg" target="_blank" ><FONT size=3></FONT></A><BR>
<P align=left><FONT size=3>然后再打开要破解口令的数据库的DB文件,例如“Testnew.db”文件,同样通过查找定位到“DBA”口令存储区域,如图2所示。</FONT></P><BR>
<P align=left><BR><FONT size=3><img src="attachments/dvbbs/2005-9/2005979175364708.jpg" border="0" onclick="zoom(this)" onload="if(this.width>document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" /><BR><BR></P></FONT><a href="http://www.hur.cn/bbs/UploadFile/2004-6/2004620115224735.jpg" target="_blank" ><FONT size=3></FONT></A><BR>
<P align=left><FONT size=3>然后将图2中的口令存放区域的数据改成图1中相应的数据,注意替换时,不要使用非二进制方式的复制与粘贴,应该在非二进制方式时,“00”的空数据会被修改成空格“20”,这样就不能成功。修改之前还要将DB文件的只读属性清除。修改后保存即可。p> 这样在你不知道原来的数据库的DBA口令的情况下,你就可以将它修改成“SQL”了,这样就轻松破解了ASA的DBA口令了。如果他删除了DBA这个用户,你可以找找别的用户试试!<BR></FONT></P><BR>
有办法恢复为无密钥的状态吗?
<DIV class=quote><B>以下是引用<I>阿辉</I>在2005-9-7 9:14:09的发言:</B><BR>创建时全库加密,呵呵,破解是彻底没辙了,<BR>不过dba 口令可一定要记好了。</DIV><P>我的一个数据库为了安全使用了密钥,后来却忘记了口令只记得密钥就是无法打开,有办法恢复为无密钥的状态吗?</P> <DIV class=quote><B>以下是引用<I>holiwood</I>在2005-10-6 7:04:24的发言:</B><BR><BR>
<P>我的一个数据库为了安全使用了密钥,后来却忘记了口令只记得密钥就是无法打开,有办法恢复为无密钥的状态吗?</P></DIV>
<P>目前好象没有办法</P>
页:
[1]