sledgeh4w / chomper

A lightweight emulation framework for emulating iOS executables and libraries.
MIT License
276 stars 69 forks source link

fix error about file path #66

Closed Yiiff closed 4 months ago

Yiiff commented 7 months ago

When running iOS programs with chomper, a path error was encountered, and the judgment logic was added

sledgeh4w commented 7 months ago

Thanks for your commit. What specific error did you encounter? The logic you added seems to be duplicated. If the dylib file exists, it will be recognized by lib_path and will not continue to recognize framework_path.

Yiiff commented 7 months ago

Thanks for your commit. What specific error did you encounter? The logic you added seems to be duplicated. If the dylib file exists, it will be recognized by lib_path and will not continue to recognize framework_path.

I encountered a situation where when the suffix is ​​.dylib, .framework is still spliced ​​in, and the final generated path is xxx.dylib.framework, which will cause "Module xxx not found."

Yiiff commented 7 months ago

After cloning the repo, I encountered the capstone problem, which prompted that arm64 and macOS versions were required. I could compile the specified version myself and replace the files in venv. https://github.com/sledgeh4w/chomper/issues/65#issue-2254482451

So far, example_ios_ali_vmp_sign.py, example_ios_bangbang.py, and example_ios_ijm.py can all run smoothly.

Thank you for your open source.

sledgeh4w commented 7 months ago

Thanks for your commit. What specific error did you encounter? The logic you added seems to be duplicated. If the dylib file exists, it will be recognized by lib_path and will not continue to recognize framework_path.

I encountered a situation where when the suffix is ​​.dylib, .framework is still spliced ​​in, and the final generated path is xxx.dylib.framework, which will cause "Module xxx not found."

Perhaps you just didn't pass the correctly rootfs_path? Installing through pip does not come with related library files (they are too large).

Yiiff commented 7 months ago

Thanks for your commit. What specific error did you encounter? The logic you added seems to be duplicated. If the dylib file exists, it will be recognized by lib_path and will not continue to recognize framework_path.

I encountered a situation where when the suffix is ​​.dylib, .framework is still spliced ​​in, and the final generated path is xxx.dylib.framework, which will cause "Module xxx not found."

Perhaps you just didn't pass the correctly rootfs_path? Installing through pip does not come with related library files (they are too large).

Sorry, it's my mistake. This is indeed a problem with rootfs_path.