The ATR files in the OBIEE repository manage privileges on a item and provide a “readable” text for both the name and description of an object. Dan Malone of Calpoly did some basic research on how these work.
This article describe the build up of the ATR file when used for a report.
WOW: backup the files before you start to hack them, one misplaced byte can really f*&^k up your system!
Let’s get out our trusty “hexplorer” and open an ATR file:
Bytes 00.03 {4} => File Standard; Seems to be always the same
Byte 04 {1} => Length of the object name; Name starts 4 bytes from here.
Byte x..03 {3} => Prequel to object name
Byte x..Byte 04 {Byte 04} => Object name as ascii.
Byte x..11 {11} => prequel 06 00 01 + Hex id of the object owner
Byte x {1} number of users / groups which have form of permission.
Byte x..13 {13} => Prequel 00 01 {2} + Hex id of the grantee (group or user) {8} +
permission: (FF FF 00- Full Control ; 0F 00 00 - Change/Modify ;03 00 00 – Read; ◊02 00 00 – Traverse ; 00 00 00- No Access ) {3} [for each grantee]
Byte x{1} length of the object type name:
Byte x .. 3+byte(x-1)+8 => Prequel 00 00 00 {3} + Object type name as ascii + Sequel 02 00 01 00 04 00 00 00 {8}
Byte x..x+3{4} text Desc
Byte x{1} Length of description
Byte x..byte(x-1)+4=> prequel 00 00 00 {3} description in Ascii; sequel 00 00 00 00 {4}
3 comments:
So how does one compute the hex id of the object owner? What are possible values for "number of users / groups which have form of permission"?
@Anonymous
1. you can pick up the hexid of a user from the the users folder.
2. It is what it is: "the number of users / groups which have form of permission" max 255 (Hex FF)
Regards
John
John, a client recently required that I do the same thing; I got the background of how to do it here; I've put a bash script together that will change the owner of an object using the atr file.
Follow the link to see the script. Hope its useful.
Post a Comment