-
-
Notifications
You must be signed in to change notification settings - Fork 127
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
class dump objc categories class name missed for NSObject/UIView etc. #445
Comments
fixed in blacktop/go-macho@237bf71 |
FYI @Rokey1990 in the future that was an issue in the go-macho pkg Thank you for letting me know! |
@Rokey1990 this should be fixed now |
wait, there might be something weird going on w/ a collision of go-macho versions? |
I think I somehow accidentally created a tag for this before and it got registered w/ the Go pkgs So I just created another go-macho release to avoid this collision as I don't know how to remove the prev cached tag in the golang pkg servers etc |
Ok @Rokey1990 this should be fixed (for real this time) |
It does't works well. this is not a category-specific problem, the same problem exists with other symbols, such as classes. I think the GetBindName also has a bug too, the "categoryPtr.ClsVMAddr" is always 0 for NSObject or UIView(symbols in other dynamic libraries),this case, GetBindName will return NSObject only, even the real class name is UIView.
In some documents, they use the address of categoryPtr.ClsVMAddr(ptr + sizeof(uint64)) to get the bind name, Whether we need to do the same? |
do you have a specific example in the orig binary you supplied for UIView? I believe I've fixed the ptr==0 case for category class name lookup I'll now try and fix it everywhere else it is used |
@Rokey1990 please check latest release |
I believe I've mostly been testing binaries w/ the NEW chained-fixup binds/rebases so didn't properly test the OLD Thank you for reporting! Please keep these issues coming! and make sure to also test out all the Swift parsers as well 👍 |
@blacktop Thanks! The latest release has been verifield, it works for earlier macho file👍! But there are still some problems with the fix, as follow:
You can use the latest macho file to reproduce it ReviewToolDemo.zip The swift parsers i have tested using ealier version, But just some simple usage!I'll go into more detail later,If any problems are found, I will inform you as soon as possible! And I have some feature suggestions, hope to implemented, Many thanks!
|
This should now be fixed in master (i'll push out a new release soon, just waiting on #451) I also added a |
Nothing is wrong with master👍! Thank you! |
What happened?
objc code:
command:
ipsw cd ReviewToolDemo -a ExtensionDemo
output:
the classVMAddr=0, it seems GetBindName from the macho file not works.
![image](https://private-user-images.githubusercontent.com/11733468/323580795-30eae9b3-3aa0-4c10-9508-0737f0090a1f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEyNjk5MzMsIm5iZiI6MTcyMTI2OTYzMywicGF0aCI6Ii8xMTczMzQ2OC8zMjM1ODA3OTUtMzBlYWU5YjMtM2FhMC00YzEwLTk1MDgtMDczN2YwMDkwYTFmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDAyMjcxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5M2UxNjY1YzU5N2E0NjRkNzQ5ZTQ2YmFhZjk2Zjk3MjE5MDFmNGUzZWQ3N2JhMjlmYTM0Y2ExMTAzN2ZiNmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.69NKIW2BhnAhCBsI_9sRwMRqdkpe6xOhhkpyYUC4XfM)
How can we reproduce this?
ReviewToolDemo.zip
ipsw cd ReviewToolDemo -a ExtensionDemo
ipsw version
Search
Code of Conduct
Additional context
No response
The text was updated successfully, but these errors were encountered: