Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
Change SGI System ID: Difference between revisions
(Created page with "==Notes== I was tired last night when I emailed you that code (took me quite a while). here are some things I noticed that maybe of use to your website as well. I started w...") |
(→Notes) |
||
Line 3: | Line 3: | ||
while). here are some things I noticed that maybe of use to your | while). here are some things I noticed that maybe of use to your | ||
website as well. | website as well. | ||
I started with the kernel symbol first_address, and started the search, | I started with the kernel symbol first_address, and started the search, | ||
Line 10: | Line 9: | ||
calculated the address by adding how many bytes I have read + | calculated the address by adding how many bytes I have read + | ||
first_address, then looked for a symbol close to that address. | first_address, then looked for a symbol close to that address. | ||
That's when I noticed Octanes (and other platforms? I have to check this | That's when I noticed Octanes (and other platforms? I have to check this | ||
out) have a kernel symbol sysid which points directly to the sysid | out) have a kernel symbol sysid which points directly to the sysid | ||
address, but for some reason I couldn't nlist the symbol (protected?). | address, but for some reason I couldn't nlist the symbol (protected?). | ||
So I used nm -xv to sort things by value, and saw is_octane_lx 4 bytes | So I used nm -xv to sort things by value, and saw is_octane_lx 4 bytes |
Revision as of 20:26, 19 August 2019
Notes
I was tired last night when I emailed you that code (took me quite a while). here are some things I noticed that maybe of use to your website as well.
I started with the kernel symbol first_address, and started the search, when I found the system id (found in mulitple places, including eaddr +2 and eaddr + 30, but changing those values didn't effect anything), I calculated the address by adding how many bytes I have read + first_address, then looked for a symbol close to that address.
That's when I noticed Octanes (and other platforms? I have to check this out) have a kernel symbol sysid which points directly to the sysid address, but for some reason I couldn't nlist the symbol (protected?).
So I used nm -xv to sort things by value, and saw is_octane_lx 4 bytes below sys_id and used that for a reference. I am going to look into some other sgi arch's and see if sysid is availble on all 6.5.x architectures (or ones I have access to), if it is, I will be able to write another C program that will sort the symbols (like nm does) and take whatevers below sysid (since I can't nlist it for an addr), or just a shell script to add a #define symbol from the output of nm. Making a general not arch/specific system id changer for irix.
Process
Archived source and binary files are located at https://web.archive.org/web/20120723092815/http://www.squirrel.com/squirrel/sgi-sysid.html