解密Oracle資料存取演算法(附程式碼、演算法分析)
解密Oracle資料存取演算法(附程式碼、演算法分析)[@more@]經過幾天的努力,終於對Oracle資料存取演算法有所突破,並寫成相應的函式。
下面是Obj$表的Dump檔案的一部分:
col 0: [ 3] c2 08 07
col 1: *NULL*
col 2: [ 1] 80
col 3: [20] 56 5f 24 44 4c 4d 5f 43 4f 4e 56 45 52 54 5f 4c 4f 43 41 4c
col 4: [ 2] c1 02
col 5: *NULL*
col 6: [ 2] c1 05
col 7: [ 7] 78 69 05 13 0b 01 03
col 8: [ 7] 78 69 05 13 0b 01 03
col 9: [ 7] 78 69 05 13 0b 01 03
col 10: [ 2] c1 02
col 11: *NULL*
col 12: *NULL*
col 13: [ 1] 80
col 14: *NULL*
col 15: [ 2] c1 07
col 16: [ 4] c3 07 38 24
以下是處理結果:
第一列 obj#
SQL> select uh16('c2 08 07') from dual ;
706
第二列 dataobj# 空值,略。
第三列 owner#
SQL> select uh16('80') from dual ;
0
第四列 name
SQL> select uh16(' 56 5f 24 44 4c 4d 5f 43 4f 4e 56 45 52 54 5f 4c 4f 43 41 4c')
from dual ;
V_$DLM_CONVERT_LOCAL
第五列 namespace
SQL> select uh16('c1 02') from dual ;
1
第六列 subname 空值,略。
第七列 type#
SQL> select uh16('c1 05') from dual ;
4
第八列 ctime
SQL> select uh16('78 69 05 13 0b 01 03') from dual ;
2005-05-19 10:00:02
第九列 mtime 同上,略。
第十列 stime 同上,略。
第十一列 status
SQL> select uh16('c1 02 ') from dual ;
UH16('C102')
--------------------------------------
1
第十二列 remoteowner 空值,略。
第十三列 linkname 空值,略。
第十四列 flags 80(即0)
第十五列 oid$
第十六列 spare1
SQL> select uh16('c1 07') from dual ;
6
第十七列 spare2
SQL> select uh16('c3 07 38 24') from dual ;
65535
其餘為空,略。
obj#=706的全部資訊:
OBJ# DATAOBJ# OWNER# NAME NAMESPACE SUBNAME TYPE# CTIME MTIME STIME STATUS REMOTEOWNER LINKNAME FLAGS OID$ SPARE1 SPARE2 SPARE3 SPARE4 SPARE5 SPARE6
---------- ---------- ---------- ------------------------------ ---------- ------------------------------ ---------- ----------- ----------- ----------- ---------- ------------------------------ -------------------------------------------------------------------------------- ---------- -------------------------------- ---------- ---------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------
706 0 V_$DLM_CONVERT_LOCAL 1 4 2005-5-19 1 2005-5-19 1 2005-5-19 1 1 0 6 65535
從上面可以看出,轉換後的結果與實際相符。
下面是Obj$表的Dump檔案的一部分:
col 0: [ 3] c2 08 07
col 1: *NULL*
col 2: [ 1] 80
col 3: [20] 56 5f 24 44 4c 4d 5f 43 4f 4e 56 45 52 54 5f 4c 4f 43 41 4c
col 4: [ 2] c1 02
col 5: *NULL*
col 6: [ 2] c1 05
col 7: [ 7] 78 69 05 13 0b 01 03
col 8: [ 7] 78 69 05 13 0b 01 03
col 9: [ 7] 78 69 05 13 0b 01 03
col 10: [ 2] c1 02
col 11: *NULL*
col 12: *NULL*
col 13: [ 1] 80
col 14: *NULL*
col 15: [ 2] c1 07
col 16: [ 4] c3 07 38 24
以下是處理結果:
第一列 obj#
SQL> select uh16('c2 08 07') from dual ;
706
第二列 dataobj# 空值,略。
第三列 owner#
SQL> select uh16('80') from dual ;
0
第四列 name
SQL> select uh16(' 56 5f 24 44 4c 4d 5f 43 4f 4e 56 45 52 54 5f 4c 4f 43 41 4c')
from dual ;
V_$DLM_CONVERT_LOCAL
第五列 namespace
SQL> select uh16('c1 02') from dual ;
1
第六列 subname 空值,略。
第七列 type#
SQL> select uh16('c1 05') from dual ;
4
第八列 ctime
SQL> select uh16('78 69 05 13 0b 01 03') from dual ;
2005-05-19 10:00:02
第九列 mtime 同上,略。
第十列 stime 同上,略。
第十一列 status
SQL> select uh16('c1 02 ') from dual ;
UH16('C102')
--------------------------------------
1
第十二列 remoteowner 空值,略。
第十三列 linkname 空值,略。
第十四列 flags 80(即0)
第十五列 oid$
第十六列 spare1
SQL> select uh16('c1 07') from dual ;
6
第十七列 spare2
SQL> select uh16('c3 07 38 24') from dual ;
65535
其餘為空,略。
obj#=706的全部資訊:
OBJ# DATAOBJ# OWNER# NAME NAMESPACE SUBNAME TYPE# CTIME MTIME STIME STATUS REMOTEOWNER LINKNAME FLAGS OID$ SPARE1 SPARE2 SPARE3 SPARE4 SPARE5 SPARE6
---------- ---------- ---------- ------------------------------ ---------- ------------------------------ ---------- ----------- ----------- ----------- ---------- ------------------------------ -------------------------------------------------------------------------------- ---------- -------------------------------- ---------- ---------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -----------
706 0 V_$DLM_CONVERT_LOCAL 1 4 2005-5-19 1 2005-5-19 1 2005-5-19 1 1 0 6 65535
從上面可以看出,轉換後的結果與實際相符。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66634/viewspace-881781/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小程式加密資料解密演算法java版加密解密演算法Java
- 加解密演算法分析解密演算法
- nms 演算法演示(附程式碼)演算法
- 資料庫存取緩衝區的LRU與MRU演算法資料庫演算法
- JavaScript 的資料結構和演算法 - 佇列篇 (附程式碼)JavaScript資料結構演算法佇列
- 【資料結構與演算法】模式匹配——從BF演算法到KMP演算法(附完整原始碼)資料結構演算法模式KMP原始碼
- 機器學習經典聚類演算法 —— k-均值演算法(附python實現程式碼及資料集)機器學習聚類演算法Python
- 資料探勘領域十大經典演算法之—樸素貝葉斯演算法(附程式碼)演算法
- 加解密演算法解密演算法
- 【資料結構與演算法】字典樹(附完整原始碼)資料結構演算法原始碼
- 資料結構:初識(資料結構、演算法與演算法分析)資料結構演算法
- 在PHP中使用AES加密演算法加密資料及解密資料PHP加密演算法解密
- 機器學習經典分類演算法 —— k-近鄰演算法(附python實現程式碼及資料集)機器學習演算法Python
- 資料結構和演算法分析資料結構演算法
- WebRTC 音訊演算法 附完整C程式碼Web音訊演算法C程式
- javascript資料結構與演算法--基本排序演算法分析JavaScript資料結構演算法排序
- 【資料結構與演算法】Huffman樹&&Huffman編碼(附完整原始碼)資料結構演算法原始碼
- iOS加密解密演算法iOS加密解密演算法
- 【資料結構與演算法】內部排序總結(附各種排序演算法原始碼)資料結構演算法排序原始碼
- 磨皮美顏演算法 附完整C程式碼演算法C程式
- 圖的鄰接表演算法---(附完整程式碼)演算法
- 資料結構與演算法分析——棧資料結構演算法
- 資料探勘與分析 概念與演算法演算法
- 【演算法與資料結構專場】BitMap演算法基本操作程式碼實現演算法資料結構
- 存取Oracle當中掃描資料的方法Oracle
- SVM大解密(附程式碼和公式)解密公式
- JavaScript 的資料結構和演算法 - 棧程式碼篇JavaScript資料結構演算法
- 加密解密演算法系列加密解密演算法
- Java 常用加密解密演算法Java加密解密演算法
- 遊戲資料分析核心資料和演算法公式詳解遊戲演算法公式
- 《密碼學系列》|| 詳解密碼學的多重DES演算法...密碼學解密演算法
- 13 種機器學習演算法概述(附 Python、R 程式碼)機器學習演算法Python
- 機器學習演算法一覽(附python和R程式碼)機器學習演算法Python
- 影象演算法 -- 最全混合圖層演算法(附原始碼)演算法原始碼
- 資料結構與演算法分析——佇列資料結構演算法佇列
- 《資料結構與演算法分析》筆記資料結構演算法筆記
- 資料結構與演算法分析 (雜湊)資料結構演算法
- 【機器學習】機器學習建立演算法第2篇:K-近鄰演算法【附程式碼文件】機器學習演算法