Try harder to decompress Mach-O I386, too.
modified: p_mach.cpp modified: p_mach.h
This commit is contained in:
@@ -1938,6 +1938,12 @@ upx_uint64_t PackMachBase<T>::getEntryVMA(Mach_command const *ptr)
|
|||||||
return ptr->cmd; // FIXME must be specialized
|
return ptr->cmd; // FIXME must be specialized
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upx_uint64_t PackMachI386::getEntryVMA(Mach_command const *ptr)
|
||||||
|
{
|
||||||
|
Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
|
||||||
|
return tc->state.eip;
|
||||||
|
}
|
||||||
|
|
||||||
upx_uint64_t PackMachAMD64::getEntryVMA(Mach_command const *ptr)
|
upx_uint64_t PackMachAMD64::getEntryVMA(Mach_command const *ptr)
|
||||||
{
|
{
|
||||||
Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
|
Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
|
||||||
|
|||||||
@@ -875,6 +875,7 @@ protected:
|
|||||||
virtual Linker* newLinker() const;
|
virtual Linker* newLinker() const;
|
||||||
virtual void buildLoader(const Filter *ft);
|
virtual void buildLoader(const Filter *ft);
|
||||||
virtual void addStubEntrySections(Filter const *);
|
virtual void addStubEntrySections(Filter const *);
|
||||||
|
virtual upx_uint64_t getEntryVMA(Mach_command const *);
|
||||||
|
|
||||||
__packed_struct(Mach_thread_command)
|
__packed_struct(Mach_thread_command)
|
||||||
LE32 cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
LE32 cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||||
|
|||||||
Reference in New Issue
Block a user