MachOView fork
Switch branches/tags
Nothing to show
Clone or download
reverser
Latest commit 3431351 Apr 23, 2015
Permalink
Failed to load latest commit information.
English.lproj Remove the LLVM option from Preferences. Mar 2, 2014
capstone Update to Capstone master 5742a15 Apr 23, 2015
mach-o Sync with upstream trunk r236. Sep 2, 2014
mach Sync with upstream version Mar 1, 2014
machoview.xcodeproj Update Capstone to version 3. Nov 20, 2014
.gitignore Sync with sourceforge repo r219 Sep 6, 2013
AppController.h Add attach menu item Sep 8, 2013
AppController.mm Remove LLVM disassembler Mar 1, 2014
ArchiveLayout.h Sync with sourceforge repo r219 Sep 6, 2013
ArchiveLayout.mm Sync with upstream r240 and r241 Apr 23, 2015
Attach.h Add necessary code to implement the attach feature. Sep 8, 2013
Attach.mm Sync with upstream r237 Apr 23, 2015
CRTFootPrints.h Initial commit from SVN rev 215 Oct 13, 2012
CRTFootPrints.mm Update Capstone to version 3. Nov 20, 2014
Common.h Sync with upstream version Mar 1, 2014
DataController.h Sync with upstream r240 and r241 Apr 23, 2015
DataController.mm Sync with upstream r240 and r241 Apr 23, 2015
DataSources.h Sync with sourceforge repo r219 Sep 6, 2013
DataSources.mm Sync with sourceforge repo r219 Sep 6, 2013
Document.h Initial commit from SVN rev 215 Oct 13, 2012
Document.mm Sync with upstream r239 Apr 23, 2015
DyldInfo.h Initial commit from SVN rev 215 Oct 13, 2012
DyldInfo.mm Sync with upstream r240 and r241 Apr 23, 2015
Exceptions.h Initial commit from SVN rev 215 Oct 13, 2012
Exceptions.mm Sync with upstream r240 and r241 Apr 23, 2015
FatLayout.h Sync with sourceforge repo r219 Sep 6, 2013
FatLayout.mm Sync with upstream r240 and r241 Apr 23, 2015
Info.plist Update to Capstone master 5742a15 Apr 23, 2015
Layout.h Sync with upstream r240 and r241 Apr 23, 2015
Layout.mm Sync with upstream r240 and r241 Apr 23, 2015
LinkEdit.h Sync with upstream version Mar 1, 2014
LinkEdit.mm Sync with upstream r240 and r241 Apr 23, 2015
LoadCommands.h Initial commit from SVN rev 215 Oct 13, 2012
LoadCommands.mm Sync with upstream r240 and r241 Apr 23, 2015
MachOLayout.h Sync with upstream r240 and r241 Apr 23, 2015
MachOLayout.mm Sync with upstream r240 and r241 Apr 23, 2015
ObjC.h Initial commit from SVN rev 215 Oct 13, 2012
ObjC.mm Sync with upstream r240 and r241 Apr 23, 2015
PreferenceController.h Remove the LLVM option from Preferences. Mar 2, 2014
PreferenceController.mm Sync with upstream r238 Apr 23, 2015
Prefix.pch Sync with upstream r240 and r241 Apr 23, 2015
README Update README. Sep 2, 2014
README.orig Sync with upstream r240 and r241 Apr 23, 2015
ReadWrite.h Sync with upstream r240 and r241 Apr 23, 2015
ReadWrite.mm Sync with upstream r240 and r241 Apr 23, 2015
SectionContents.h Sync with upstream trunk r236. Sep 2, 2014
SectionContents.mm Sync with upstream r240 and r241 Apr 23, 2015
createdmg Sync with upstream version Mar 1, 2014
greenApple.icns Initial commit from SVN rev 215 Oct 13, 2012
main.mm Initial commit from SVN rev 215 Oct 13, 2012
redApple.icns Initial commit from SVN rev 215 Oct 13, 2012
stop.png Initial commit from SVN rev 215 Oct 13, 2012

README

   _____                .__     ____________   ____.__               
  /     \ _____    ____ |  |__  \_____  \   \ /   /|__| ______  _  __
 /  \ /  \\__  \ _/ ___\|  |  \  /   |   \   Y   / |  |/ __ \ \/ \/ /
/    Y    \/ __ \\  \___|   Y  \/    |    \     /  |  \  ___/\     / 
\____|__  (____  /\___  >___|  /\_______  /\___/   |__|\___  >\/\_/  
        \/     \/     \/     \/         \/                 \/        

A fork from MachOView to update and fix some bugs, mostly Mountain Lion & iOS 6 related.
Also some small changes to the original behaviour.

Original MachOView by psaghelyi at http://sourceforge.net/projects/machoview/.
Thanks to psaghelyi for his great work :-)

Latest versions are Lion+ only.
The LLVM disassembler was replaced with Capstone. This eliminates Clang/LLVM packages requirements.
The downside is that Capstone stops disassembling on bad instructions which means that for now data in code and jump tables data will create problems and __text section disassembly might be incomplete in binaries that contain such data.
Capstone improved disassembly on error but data in code locations are available in header so this can and should be improved.

A static Capstone library extracted from the official DMG is included in the repo.
If you want to be safe you should download Capstone and compile it yourself.

Now features the attach option to analyse headers of a running process.
To use this feature you will need to codesign the binary.
Follow this LLDB guide to create the certificate and then codesign MachOView binary.
https://llvm.org/svn/llvm-project/lldb/trunk/docs/code-signing.txt
The necessary entitlements are already added to Info.plist.

Be warned that this allows MachOView to have task_for_pid() privs under current under and control
every process from user running it.
The whole Mach-O parsing code needs to be reviewed and made more robust.

Enjoy,
fG!