-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IDString #1
Comments
Cool, this reflects most of what I saw when I first went through it. Though, unless things have changed, I recall that the IDString type that gets passed around between lua and DSL is a pointer to some class/structure instance that includes that hash as well as some other information. |
According to So there are two main possibilities:
I'll check to see if it's light userdata or not. |
it could have just been a misunderstanding. The DSL lua subsystem is an enterprise-grade hot mess. |
Testing shows that it is a full, not light, userdata. |
extensive headaches and shouting at IDA have been shown to reveal that C++ obviates the need for secondary code protection |
Just found what I believe is the Idstring method - it creates a 8-byte userdata, and puts the hash and only the hash into it. |
Here's my guess at this:
I'll go and try to find a simple-ish method that uses |
Nevermind, |
yeah, and a somewhat complex one at that. I just powered off my IDA VM, but IIRC it has some vcalls. interacting with MainDB is going to mean that we will need to operate on it. |
It looks like a complete pain, but hopefully it doesn't have too many fields. PS: IDA VM? As in, a VM you run IDA in? Doesn't it work with Wine? |
when I do end up using IDA, I use some plugins that don't (didn't, now, maybe) like WINE, plus I don't know if the HexRays edition works well with WINE. I really only use IDA for Payday. I've used it to look at some other stuff, but Hopper and other tools have usually done a better job in that department. IDA's ability to rename things is nice, though. |
once hopper gets a little more TLC in the UX department, it will probably end up replacing IDA for non-windows platforms, especially since the running price for a copy of IDA that can do what hopper does is about $9,648. |
radare2 is also good, as well as the plethora of other opensource tools that have been popping up since capstone got popular |
My conclusion after hooking functions using |
What about member functions for idstring? |
Right, didn't notice my |
I haven't paid much attention to them, as I've mostly been trying to read values. I'm fairly sure the |
That's in one of the global constructors. The second argument is the string length. I'm fairly sure that the |
IDString is a hashing function, converting a string into a uint64_t. This is stored in a userdata (I think, may be a abused light userdata).
A decompiled and cleaned implementation can be found here, and was tested to return the same result as the Lua
Idstring
function.https://gist.github.com/ZNixian/54e7a23ff36cc4756cbd783f304d7cd6
The text was updated successfully, but these errors were encountered: