Hot answers tagged


Well, since it's a Solaris driver, first you need to find up some docs on how Solaris drivers communicate with the kernel (or kernel with them). A quick search turned up this: _init() initializes a loadable module. It is called before any other routine in a loadable module. _init() returns the value returned by mod_install(9F) . The module may ...


I edited the whole example a little so that it would better match the question. My SPARC assembly fu is weak, but what I did was write a little "Hello world" with a twist (or one could say with jumps/gotos) in C and use gcc -S to translate it to assembly. I have a SPARC on which I am running it, details: $ isainfo -v 64-bit sparcv9 applications ...


81 c0 40 00 can be broken down as follows 10 00000 111000 00001 0 0000000000000 ^--op1 ^--rd ^--op3 ^--rs1 ^--i ^--rs2/simmm13 To change the target from %g1 to %g2, just change the rs1 field from 00001 to 00010. The 'L' is simply an artifact of at&t syntax vs intel syntax....


CrackZ still has one of the best references on FLEXlm. That stuff went thru a couple of iterations. The documents there are mostly Windows stuff but they are helpful to understand the whole system. Good luck on that project, should be fun to crack for Sparc :-)


I found the following documentation on, as part of Sun WorkShop™ for Solaris 2.x


You should be able to use c++filt directly. Pay attention to not use the one from binutils. Make sure to use the right install path, eg: /opt/SolarisStudio/solarisstudio12.3/prod/bin/c++filt


Within the IDA SDK there is a lot of flexibility (albeit lacking in documentation). You are probably going to have to write your own plug-in, or you might have to make your own loader, and, or modify an existing processor module. Probably need to do this in C/C++ but maybe you could do it in Python. See the folders "loader" and "module" from the SDK folder ...

Only top voted, non community-wiki answers of a minimum length are eligible