-
Notifications
You must be signed in to change notification settings - Fork 464
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
0 functions applied in IDA from .sig file #107
Comments
thank you! yes, in the short term, i'll update idb2pat to ensure the symbol names are not too long. i'll also try to reproduce the sigmake issue and report a bug to hex-rays if appropriate. i'll update here with what i hear. thanks for taking the time to dig into the bug and suggest a fix, it really helps. |
Yea! I'm having the same problem here, it works in home tests (like hello-world), but in large projects the same problem occurs. 0 applied functions. |
Hi @williballenthin |
Unfortunately, we cannot share the patched |
in 7.6 the too many leaves cmp is at 0x140009ECC |
also one of the things which can cause bad xdigit is lines like
you can see the issue by comparing it to this line
basicly 1A798 is 5 digits instead of 4 digits |
A way to find such lines is using the regex of
it checks for sequences like |
Pretty sure it's not me doing something wrong(and creating all those issues I mean). Works on a simple VC++ Hello World project as expected and explained in the articles(One, Two):
On the other hand, in a big UE4 project 0 functions get applied in IDA from .sig file after generating the .sig file with sigmake from idb2pat:
I generate the .sig file using command
sigmake -lrsub_ "S05_TestingGrounds-Win64-Shipping - No Xdigit errors(deleted lines with errors).pat" "S05_TestingGrounds-Win64-Shipping - No Xdigit errors(deleted lines with errors).sig"
.-lrsub_
parameter is to exclude functions that havesub_
in them.After generating the .sig file and then trying to apply the .sig file, that's what I get: 0 functions applied.
Here's the link with the project, pat and sig file, so you can try to generate and apply this sig file onto executable yourself:
https://www.dropbox.com/h?preview=TestingGrounds_DebugSymbols.zip
This is a Unreal Engine 4.26 C++ project created from FPS template which I packaged in UE4 with debug symbols.
The executable, pat and .sig files are in
\WindowsNoEditor\S05_TestingGrounds\Binaries\Win64\
folder. The original pat file with xdigit problem is calledS05_TestingGrounds-Win64-Shipping - Original.pat
. The pat file with problematic lines deleted which cause xdigit problem is calledS05_TestingGrounds-Win64-Shipping - No Xdigit errors(deleted lines with errors).pat
.Problem for 0 functions applied is somewhere between lines 30000 and 35000 in the .pat file because if I delete all lines after line 30000, it generates valid .sig file and then applies this sig file appropriately on the executable:
After I delete lines 30000 - 35000 in the pat file and then delete all the lines after 50000, it generates valid .sig files and applies the sig file appropriately on the executable:
As you can see on the screenshots, no meaningful logs is generated after applying new FLIRT signature in IDA, just
Plan FLIRT signature: Unnamed sample library
in the case of success and failure to apply any function signatures.The text was updated successfully, but these errors were encountered: