• Increase font size
  • Default font size
  • Decrease font size
Otthon T-SQL Hírbe Tárolt eljárások, nézetek, függvények az SQL Server 2005

Hírbe Tárolt eljárások, nézetek, függvények az SQL Server 2005

E-mail Nyomtatás
(0 szavazat)

bolean_field_down_128 Nemrég volt egy elemet az én adatbázis titkosított. Vannak különböző eszközök az interneten eladásra dekódolni az egészet, de ÉN alapít egy szabad kézírás amit csinál a munka. Ez a szkript képes tárolt eljárások, függvények, triggerek és a nézetek hírbe. Az alábbiakban a szkript!

  /*================================================ ================================== 
  Kapcsolatot DAC módban van szükség! 
  Kapcsolatba a helyi szerver először, majd adjuk hozzá a kapcsolatot a lekérdezés ablak változás kitölteni kiszolgáló neve: 
  ADMIN: KISZOLGÁLÓNÉV \ BÍRÓSÁG  
  EG: ADMIN: localhost (ha csak az egyik esetben) 
  Töltse ki a @ ObjectName objektum kívánt hírbe 
  Töltse ki a @ ObjectOwnerOrSchema ütemezés, általában dbo 
  * / 

VULHIERDATABASEIN USE VULHIERDATABASEIN GO

( 128 ) DECLARE @ ObjectOwnerOrSchema nvarchar (128) @ObjectName NVARCHAR ( 128 ) DECLARE @ ObjectName nvarchar (128)

SET @ ObjectOwnerOrSchema = 'dbo " @ObjectName = 'VULHIERSTOREDPROCEDURE IN' SET @ ObjectName = 'VULHIERSTOREDPROCEDURE IN "

DECLARE @ i INT @ObjectDataLength INT DECLARE @ hossza INT pont adatai @ContentOfEncryptedObject NVARCHAR ( MAX ) DECLARE @ ContentOfEncryptedObject nvarchar (MAX) @ContentOfDecryptedObject NVARCHAR ( MAX ) DECLARE @ ContentOfDecryptedObject nvarchar (MAX) @ContentOfFakeObject NVARCHAR ( MAX ) DECLARE @ ContentOfFakeObject nvarchar (MAX) @ContentOfFakeEncryptedObject NVARCHAR ( MAX ) DECLARE @ ContentOfFakeEncryptedObject nvarchar (MAX) @ObjectType NVARCHAR ( 128 ) DECLARE @ Objektum típusa nvarchar (128) @ObjectID INT DECLARE @ objektumazonosító INT

ON SET NOCOUNT ON

( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' ) SET @ objektumazonosító = OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + "]")

- Ellenőrizze, hogy Feltéve, hogy az objektum nem létezik az adatbázisban. @ObjectID IS NULL HA @ objektumazonosító IS NULL BEGIN ( 'The object name or schema provided does not exist in the database' , 16 , 1 ) RAISERROR ("Az adott tárgy vagy séma Feltéve Nem létezik az adatbázisban", 16, 1) RETURN END

- Ellenőrizze, hogy Feltéve, hogy az objektum nem titkosított. NOT EXISTS ( SELECT TOP 1 * FROM syscomments WHERE id = @ObjectID AND encrypted = 1 ) HA NEM létezik (SELECT * FROM TOP 1 WHERE id = @ objektumazonosító syscomments és titkosított = 1) BEGIN ( 'The object provided exists however it is not encrypted. Aborting.' , 16 , 1 ) RAISERROR ("Az objektum Ez azonban nem titkosított létezik. Megszakítása.", 16, 1) RETURN END

- Határozza meg az objektum típusát OBJECT_ID ( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' , 'PROCEDURE' ) IS NOT NULL HA OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + "]", "eljárás"), IS NOT NULL @ObjectType = 'PROCEDURE' SET @ objektum type = "eljárás" ELSE OBJECT_ID ( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' , 'TRIGGER' ) IS NOT NULL HA OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + ']', 'TRIGGER) IS NOT NULL @ObjectType = 'TRIGGER' SET @ objektum type = "TRIGGER" ELSE OBJECT_ID ( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' , 'VIEW' ) IS NOT NULL HA OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + "]", "VIEW") nem NULL @ObjectType = 'VIEW' SET @ objektum type = "Nézet" ELSE @ObjectType = 'FUNCTION' SET @ objektum type = "FUNCTION"

- Kap a bináris ábrázolása az objektum már nem syscomments árkategóriában - A titkosított tartalom vagy tárgy. 1 @ContentOfEncryptedObject = imageval SELECT TOP 1 @ = ContentOfEncryptedObject imageval sys. sysobjvalues AZ sys. Sysobjvalues objid = OBJECT_ID ( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' ) WHERE Objid = OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + "]") and subobjid = 1 ÉS valclass = 1 = 1 és subobjid

@ContentOfEncryptedObject ) / 2 SET @ pont Data Length = DATA HOSSZA (@ ContentOfEncryptedObject) / 2

- Meg kell változtatni a meglévő objektumot, és azt írja a dummy objektum - Annak érdekében, hogy hírbe annak tartalmát. Ez történik a tranzakció - (Amit később visszaáll) biztosítja a minimális tulajdontól amit minden változást - Gyakorolt hatás az adatbázisban. @ContentOfFakeObject = N 'ALTER ' + @ObjectType + N ' [' + @ObjectOwnerOrSchema + N '].[' + SET @ ContentOfFakeObject = N 'ALTER' + @ típusú objektum + N "['+ @ + N ObjectOwnerOrSchema'].[' + @ ObjectName + N "] AS Encryption"

@ContentOfFakeObject ) / 2 < @ObjectDataLength DATA HOSSZA while (@ ContentOfFakeObject) / 2 <@ Property Data Length BEGIN DATALENGTH ( @ContentOfFakeObject ) / 2 + 4000 < @ObjectDataLength DATA hosszát, ha (@ ContentOfFakeObject) / 2 + 4.000 <@ Property Data Length @ContentOfFakeObject = @ContentOfFakeObject + REPLICATE ( N '-' , 4000 ) SET @ @ = ContentOfFakeObject ContentOfFakeObject + Párhuzamos (N '-', 4000) ELSE @ContentOfFakeObject = @ContentOfFakeObject + REPLICATE ( N '-' , SET @ @ = ContentOfFakeObject ContentOfFakeObject + Párhuzamos (N '-', DATALENGTH ( @ContentOfFakeObject ) / 2 ) ) @ Hossza Data tétel - (DATA HOSSZA (@ ContentOfFakeObject) / 2)) END

- Mivel mi kell változtatni az objektum, hogy hírbe, ez történik - Az ügylet XACT_ABORT OFF SET OFF XACT_ABORT TRAN BEGIN TRAN

@ContentOfFakeObject ) EXEC (@ ContentOfFakeObject)

<> 0 Ha a @ @ ERROR <> 0 TRAN ROLLBACK TRAN

- Szerezd meg a titkosított tartalom az új "hamis" objektumot. 1 @ContentOfFakeEncryptedObject = imageval SELECT TOP 1 @ = ContentOfFakeEncryptedObject imageval sys. sysobjvalues AZ sys. Sysobjvalues objid = OBJECT_ID ( '[' + @ObjectOwnerOrSchema + '].[' + @ObjectName + ']' ) WHERE Objid = OBJECT_ID ('[' + @ + ObjectOwnerOrSchema'].[' + @ ObjectName + "]") and subobjid = 1 ÉS valclass = 1 = 1 és subobjid

> 0 IF @ @ TRANCOUNT> 0 TRAN ROLLBACK TRAN

- Létrehoz egy CREATE script objektum próbabábu szöveget. @ContentOfFakeObject = N 'CREATE ' + @ObjectType + N ' [' + @ObjectOwnerOrSchema + N '].[' SET @ ContentOfFakeObject = N 'create' + @ típusú objektum + N "['+ @ + N ObjectOwnerOrSchema'].[' + @ ObjectName + N "] AS Encryption"

@ContentOfFakeObject ) / 2 < @ObjectDataLength DATA HOSSZA while (@ ContentOfFakeObject) / 2 <@ Property Data Length BEGIN DATALENGTH ( @ContentOfFakeObject ) / 2 + 4000 < @ObjectDataLength DATA hosszát, ha (@ ContentOfFakeObject) / 2 + 4.000 <@ Property Data Length @ContentOfFakeObject = @ContentOfFakeObject + REPLICATE ( N '-' , 4000 ) SET @ @ = ContentOfFakeObject ContentOfFakeObject + Párhuzamos (N '-', 4000) ELSE @ContentOfFakeObject = @ContentOfFakeObject + SET @ @ = ContentOfFakeObject ContentOfFakeObject + ( N '-' , @ObjectDataLength - ( DATALENGTH ( @ContentOfFakeObject ) / 2 ) ) Ismétlésben (N '-', @ Object Data Hossz - (DATA HOSSZA (@ ContentOfFakeObject) / 2)) END

@i = 1 SET @ i = 1

- Töltse fel a változó, amely rendelkezik a dekódolt adatokat a kitöltő karakter @ContentOfDecryptedObject = N '' SET @ ContentOfDecryptedObject = N''

@ContentOfDecryptedObject ) / 2 < @ObjectDataLength DATA HOSSZA while (@ ContentOfDecryptedObject) / 2 <@ Property Data Length BEGIN DATALENGTH ( @ContentOfDecryptedObject ) / 2 + 4000 < @ObjectDataLength DATA hosszát, ha (@ ContentOfDecryptedObject) / 2 + 4.000 <@ Property Data Length @ContentOfDecryptedObject = @ContentOfDecryptedObject + REPLICATE ( N 'A' , 4000 ) SET @ @ = ContentOfDecryptedObject ContentOfDecryptedObject + Párhuzamos (N 'A', 4000) ELSE @ContentOfDecryptedObject = @ContentOfDecryptedObject SET @ @ = ContentOfDecryptedObject ContentOfDecryptedObject ( N 'A' , @ObjectDataLength - ( DATALENGTH ( @ContentOfDecryptedObject ) / 2 ) ) Párhuzamos + (N 'A', @ Object Data Hossz - (DATA HOSSZA (@ ContentOfDecryptedObject) / 2)) END

@i <= @ObjectDataLength MIKÖZBEN @ i <= @ hossza adatelem BEGIN - Xor valódi és hamis és hamisított titkosított @ContentOfDecryptedObject = STUFF ( @ContentOfDecryptedObject, @i, 1 , SET @ ContentOfDecryptedObject = cuccok (@ ContentOfDecryptedObject, @ i, 1, ( NCHAR ( ( SUBSTRING ( @ContentOfEncryptedObject, @i, 1 ) ) ^ UNICODE (substring (@ ContentOfEncryptedObject, @ i, 1)) ^ ( ( SUBSTRING ( @ContentOfFakeObject, @i, 1 ) ) ^ UNICODE (substring (@ ContentOfFakeObject, @ i, 1)) ^ ( SUBSTRING ( @ContentOfFakeEncryptedObject, @i, 1 ) ) UNICODE (substring (@ ContentOfFakeEncryptedObject, @ i, 1)) )))

@i = @i + 1 SET @ @ i = i + 1 END

- PRINT tartalmát a decrypted tárgy darabokat 2K karakterek

SET @ i = 0

@ContentOfDecryptedObject ) / 2 > ( @i + 1 ) * 2000 DATA HOSSZA while (@ ContentOfDecryptedObject) / 2> (@ i + 1) * 2000 BEGIN ( SUBSTRING ( @ContentOfDecryptedObject, 1 + "mailto:2000*@i" > 2000 *@i , 2000 * ( @i + 1 ) ) ) PRINT (substring (@ ContentOfDecryptedObject, 1 + "mailto: 2000 @ * i"> i * @ 2000 , 2000 * (@ i + 1))) @i = @i + 1 SET @ @ i = i + 1 END

- Most print az utolsó darab, darabja, vagy a Csak - (Ha @ ContentOfDecryptedObject-e nem haladhatja meg a 2K karakter) ( SUBSTRING ( @ContentOfDecryptedObject, 1 + "mailto:2000*@i" > 2000 *@i , 2000 * ( @i + 1 ) ) ) PRINT (substring (@ ContentOfDecryptedObject, 1 + "mailto: 2000 @ * i"> i * @ 2000 , 2000 * (@ i + 1)))

Címkék Minden Tags



Copyright 2008. Minden jog fenntartva.

Mellékletek:
Fájl letöltése (Decrypten_SPs.zip) Decrypten_SPs.zip [Hírbe tárolt eljárások az SQL Server 2000 és 2005] Kb 7

Trackback (0)

TrackBack URI részére ez felad

Megjegyzés (0)

RSS feed Hozzászólások

Hozzászólás

bátor dőlt betűvel szed húzza sztrájk url kép idézet smile wink laugh grin angry sad shocked cool tongue kiss cry
| groter kisebb | nagyobb
Biztonsági kép
Írjuk be a megjelenített karakterek

foglalt