fixed info views

removed args from dylib view
	increased size for signing
added file type (via 'file' cmd) to non-binary files
added extra logic to handle filtering
VT reload is row-only (no more full table!)
This commit is contained in:
Patrick Wardle
2015-06-27 17:49:31 -10:00
parent 4552b1c55a
commit 51be8da95e
19 changed files with 525 additions and 528 deletions
+5
View File
@@ -29,7 +29,10 @@
NSMutableArray *array;
}
/* PROPERTIES */
//@property(nonatomic, retain)NSMutableArray *array;
/* METHODS */
- (void)insertObject:(id)anObject forKey:(id)aKey atIndex:(NSUInteger)anIndex;
- (id)keyAtIndex:(NSUInteger)anIndex;
- (NSUInteger)indexOfKey:(id)aKey;
@@ -40,4 +43,6 @@
// ->by pid, name, etc
-(void)sort:(NSUInteger)sortBy;
@end
+1
View File
@@ -24,6 +24,7 @@
#import "Consts.h"
#import "OrderedDictionary.h"
NSString *DescriptionForObject(NSObject *object, id locale, NSUInteger indent)
{
NSString *objectString;
+4 -4
View File
@@ -129,9 +129,6 @@
// ->provide mouse over effects
-(void)initTrackingAreas;
//callback method, invoked by virus total when plugin's items have been processed
// ->reload table if plugin matches active plugin
//-(void)itemsProcessed:(PluginBase*)plugin;
//callback when user has updated prefs
@@ -164,7 +161,7 @@
@property (weak) IBOutlet NSTextField *versionString;
//reload (to re-draw) a specific row in table
-(void)reloadRow:(Task*)task item:(ItemBase*)item pane:(NSUInteger)pane;
-(void)reloadRow:(id)item;
//reload task table
-(void)reloadTaskTable;
@@ -183,5 +180,8 @@
//filter tasks
-(void)filterTasks:(NSString*)filterText;
//VT callback to reload a binary
-(void)reloadBinary:(Binary*)binary;
@end
+108 -109
View File
@@ -16,13 +16,9 @@
#import "Task.h"
//TODO: bottom pane's progress indicator: center via autolayout
//TODO: fix bottom icons
//TODO: dylib info view, don't show args
//TODO: SHA1 is NULL
//TODO: Time is NULL
//TODO: Software signing is too long (goes into 'close' buttom
//TODO: only update task row(s) on Task VT result! not full table
//TODO: full VT queue!!
//TODO: full VT queue!! - flush
//TODO: on filter, reset scanning for bottom item (hideDylib)
//TODO: network info window
@implementation AppDelegate
@@ -44,7 +40,6 @@
@synthesize scannerThread;
@synthesize versionString;
@synthesize progressIndicator;
//@synthesize filterObj;
@synthesize topPane;
@synthesize taskEnumerator;
@@ -360,54 +355,46 @@
return;
}
//reload (to re-draw) a specific row in table
-(void)reloadRow:(Task*)task item:(ItemBase*)item pane:(NSUInteger)pane
//smartly reload a specific row in table
// ->arg determines pane (top/bottom) and for bottom pane, the active view the item belongs to
-(void)reloadRow:(id)item;
{
//item's task
// ->will use current task if task arg is nil
__block Task* itemTask = nil;
//table view
__block NSTableView* tableView = nil;
//row
__block NSUInteger row = 0;
//segment (for bottom pane
__block NSUInteger segmentTag = 0;
//run everything on main thread
// ->ensures table view isn't changed out from under us....
dispatch_async(dispatch_get_main_queue(), ^{
//get item's task
// ->use passed in task if non-nil
if(nil != itemTask)
{
//set
itemTask = task;
}
//passed in task is nil
// ->use currently selected one
else
{
//set
itemTask = self.currentTask;
}
//top table (pane)
if(PANE_TOP == pane)
if(YES == [item isKindOfClass:[Task class]])
{
//top table view
tableView = [((id)self.taskTableController) itemView];
//reloadItem
//reload item
// ->flat view
if(YES != [tableView isKindOfClass:[NSOutlineView class]])
{
//get index where task is
// TODO: doesn't account for filtering, etc!!!
row = [self.taskEnumerator.tasks indexOfKey:itemTask.pid];
//no filtering
// ->grab row from all tasks
if(YES != self.taskTableController.isFiltered)
{
//get row
row = [self.taskEnumerator.tasks indexOfKey:((Task*)item).pid];
}
//filtering
// ->grab row from filtered tasks
else
{
//get row
row = [self.taskTableController.filteredItems indexOfObject:item];
}
//sanity check
if(NSNotFound == row)
{
//bail
@@ -425,20 +412,18 @@
}
//reload item
// ->tree view
// ->tree view, so no need to worry about filtering
else
{
//begin updates
[tableView beginUpdates];
//reload
[(NSOutlineView*)tableView reloadItem:itemTask];
[(NSOutlineView*)tableView reloadItem:item];
//end updates
[tableView endUpdates];
}
}
//bottom pane
else
@@ -446,73 +431,21 @@
//bottom table view
tableView = [((id)self.bottomViewController) itemView];
//get segment tag
segmentTag = [[self.bottomPaneBtn selectedCell] tagForSegment:[self.bottomPaneBtn selectedSegment]];
//get item
// ->will bail if item isn't in (current) view, etc
switch(segmentTag)
//no filtering
// ->grab row from all items
if(YES != self.bottomViewController.isFiltered)
{
//dylibs
case DYLIBS_VIEW:
//make sure item class/type matches current view
if(YES != [item isKindOfClass:[Binary class]])
{
//bail
goto bail;
}
//sync
@synchronized(itemTask.dylibs)
{
//get row
row = [itemTask.dylibs indexOfObject:item];
}
break;
//files
case FILES_VIEW:
//make sure item class/type matches current view
if(YES != [item isKindOfClass:[File class]])
{
//bail
goto bail;
}
//sync
@synchronized(itemTask.files)
{
//get row
row = [itemTask.files indexOfObject:item];
}
break;
//networking
case NETWORKING_VIEW:
//make sure item class/type matches current view
if(YES != [item isKindOfClass:[Connection class]])
{
//bail
goto bail;
}
//sync
@synchronized(itemTask.connections)
{
//get row
row = [itemTask.connections indexOfObject:item];
}
break;
default:
break;
//get row
row = [self.bottomViewController.tableItems indexOfObject:item];
}
//filtering
// ->grab row from filtered item
else
{
//get row
row = [self.bottomViewController.filteredItems indexOfObject:item];
}
//make sure item was found
if(NSNotFound == row)
{
@@ -520,7 +453,6 @@
goto bail;
}
//begin updates
[tableView beginUpdates];
@@ -529,7 +461,8 @@
//end updates
[tableView endUpdates];
}
}//bottom pane
//bail
bail:
@@ -641,6 +574,72 @@ bail:
return;
}
//VT callback to reload a binary
// ->task binary: reload all instances that match in top pane
// dylib: reload row if dylib is loaded in current/selected task
-(void)reloadBinary:(Binary*)binary
{
//all tasks
OrderedDictionary* tasks = nil;
//task
Task* task = nil;
//task binary
// ->reload all instances that match in top pane
if(YES == binary.isTaskBinary)
{
//when not filtered
// ->use all tasks
if(YES != self.taskTableController.isFiltered)
{
//TODO: sync?
//get tasks
tasks = self.taskEnumerator.tasks;
for(NSNumber* taskPid in tasks)
{
//extract task
task = tasks[taskPid];
//check for match
if(task.binary == binary)
{
//reload
[self reloadRow:task];
}
}
}
//when filtered
// ->use filtered items
else
{
//filtered items
for(Task* task in self.taskTableController.filteredItems)
{
//check for match
if(task.binary == binary)
{
//reload
[self reloadRow:task];
}
}
}
}//top pane
//bottom pane
// ->can just invoke 'reloadRow' method (which has logic to handle filtering, ignoring 'not found' items, etc.
else
{
//reload
[self reloadRow:binary];
}
return;
}
//display alert about OS not being supported
-(void)showUnsupportedAlert
{
+4 -3
View File
@@ -27,17 +27,18 @@
@property (weak) IBOutlet NSTextField *arguments;
//file window specific outlets
@property(weak)IBOutlet NSTextField *hashes;
@property(weak)IBOutlet NSTextField *size;
@property(weak)IBOutlet NSTextField *sign;
//file window specific outlets
@property (weak) IBOutlet NSTextField *type;
@property (weak) IBOutlet NSTextField *plist;
//extension window specific outlets
@property (weak) IBOutlet NSTextField *details;
@property (weak) IBOutlet NSTextField *identifier;
//window controller
@property(nonatomic, strong)InfoWindowController *windowController;
+62 -39
View File
@@ -54,6 +54,14 @@
//load nib
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"DylibInfoWindow"];
}
//load file info window
else if(YES == [selectedItem isKindOfClass:[File class]])
{
//load nib
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"FileInfoWindow"];
}
//TODO: file && network info view
/*TODO: delete this and xibs?
@@ -102,6 +110,10 @@
// ->when showing info about a dylib
Binary* dylib = nil;
//file
// ->when showing info about a file
File* file = nil;
//handle tasks
if(YES == [self.itemObj isKindOfClass:[Task class]])
{
@@ -139,6 +151,13 @@
//set path
[self.path setStringValue:[self valueForStringItem:task.binary.path default:@"unknown"]];
//hashes could still be, being generated
// ->but don't want to wait, so just created em directly
if(nil == task.binary.hashes[KEY_HASH_MD5])
{
//save hash
task.binary.hashes = hashFile(task.binary.path);
}
//set hash
[self.hashes setStringValue:[NSString stringWithFormat:@"%@ / %@", task.binary.hashes[KEY_HASH_MD5], task.binary.hashes[KEY_HASH_SHA1]]];
@@ -149,11 +168,19 @@
//set date
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", task.binary.attributes.fileCreationDate, task.binary.attributes.fileModificationDate]];
//signing info still being generated?
// ->but don't want to wait, so just created em directly
if(nil == task.binary.signingInfo)
{
//generate signing info
task.binary.signingInfo = extractSigningInfo(task.binary.path);
}
//set signing info
[self.sign setStringValue:[self valueForStringItem:[task.binary formatSigningInfo] default:@"not signed"]];
}
//handle tasks
//handle binaries
else if(YES == [self.itemObj isKindOfClass:[Binary class]])
{
//type cast
@@ -165,7 +192,7 @@
//set name
[self.name setStringValue:[self valueForStringItem:dylib.name default:@"unknown"]];
//TODO: enable?!
/*
//flagged files
// ->make name red!
@@ -180,70 +207,66 @@
//set path
[self.path setStringValue:[self valueForStringItem:dylib.path default:@"unknown"]];
//hashes still being generated?
// ->but don't want to wait, so just created em directly
if(nil == dylib.hashes[KEY_HASH_MD5])
{
//save hash
dylib.hashes = hashFile(dylib.path);
}
//set hash
[self.hashes setStringValue:[NSString stringWithFormat:@"%@ / %@", dylib.hashes[KEY_HASH_MD5], task.binary.hashes[KEY_HASH_SHA1]]];
[self.hashes setStringValue:[NSString stringWithFormat:@"%@ / %@", dylib.hashes[KEY_HASH_MD5], dylib.hashes[KEY_HASH_SHA1]]];
//set size
[self.size setStringValue:[NSString stringWithFormat:@"%llu bytes", dylib.attributes.fileSize]];
//set date
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", dylib.attributes.fileCreationDate, task.binary.attributes.fileModificationDate]];
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", dylib.attributes.fileCreationDate, dylib.attributes.fileModificationDate]];
//signing info still being generated?
// ->but don't want to wait, so just created em directly
if(nil == dylib.signingInfo)
{
//generate signing info
dylib.signingInfo = extractSigningInfo(dylib.path);
}
//set signing info
[self.sign setStringValue:[self valueForStringItem:[dylib formatSigningInfo] default:@"not signed"]];
}
//handle File class
else if(YES == [self.itemObj isKindOfClass:[File class]])
{
//typecast
file = (File*)self.itemObj;
//first check if detailed info (such as 'type') was generated yet
// ->when not, do it directly here
if(nil == file.type)
{
//generated detailed info
[file generateDetailedInfo];
}
//set icon
self.icon.image = getIconForBinary(self.itemObj.path, ((File*)itemObj).bundle);
self.icon.image = itemObj.icon;
//set name
[self.name setStringValue:self.itemObj.name];
/*
//flagged files
// ->make name red!
if( (nil != ((Binary*)self.itemObj).vtInfo) &&
(0 != [((File*)self.itemObj).vtInfo[VT_RESULTS_POSITIVES] unsignedIntegerValue]) )
{
//set color (light red)
self.name.textColor = [NSColor redColor];
}
*/
//set path
[self.path setStringValue:self.itemObj.path];
//set hash
[self.hashes setStringValue:[NSString stringWithFormat:@"%@ / %@", ((File*)self.itemObj).hashes[KEY_HASH_MD5], ((File*)self.itemObj).hashes[KEY_HASH_SHA1]]];
//set type
[self.type setStringValue:[self valueForStringItem:((File*)self.itemObj).type default:@"unknown"]];
//set size
[self.size setStringValue:[NSString stringWithFormat:@"%llu bytes", ((File*)self.itemObj).attributes.fileSize]];
[self.size setStringValue:[NSString stringWithFormat:@"%llu bytes", self.itemObj.attributes.fileSize]];
//set date
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", ((File*)self.itemObj).attributes.fileCreationDate, ((File*)self.itemObj).attributes.fileModificationDate]];
//set plist
if(nil != ((File*)self.itemObj).plist)
{
//set
[self.plist setStringValue:((File*)self.itemObj).plist];
}
//no plist
else
{
//set
[self.plist setStringValue:@"no plist for item"];
}
//set signing info
[self.sign setStringValue:[(File*)self.itemObj formatSigningInfo]];
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", self.itemObj.attributes.fileCreationDate, self.itemObj.attributes.fileModificationDate]];
}
/*
+7 -22
View File
@@ -9,7 +9,7 @@
#import "ItemBase.h"
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>
@interface File : ItemBase
{
@@ -18,25 +18,8 @@
/* PROPERTIES */
//name
@property(nonatomic, retain)NSString* name;
//path
@property(nonatomic, retain)NSString* path;
//plist
@property(nonatomic, retain)NSString* plist;
//bundle
@property(nonatomic, retain)NSBundle* bundle;
//hashes (md5, sha1)
@property(nonatomic, retain)NSDictionary* hashes;
//signing info
@property(nonatomic, retain)NSDictionary* signingInfo;
//type
@property(nonatomic, retain)NSString* type;
/* METHODS */
@@ -48,8 +31,10 @@
// ->only shown to user if they click 'info' so this method is called in the background
-(void)generateDetailedInfo;
//format the signing info dictionary
-(NSString*)formatSigningInfo;
//set file type
// ->invokes 'file' cmd, the parses out result
-(void)setFileType;
@end
+65 -57
View File
@@ -14,19 +14,13 @@
@implementation File
@synthesize path;
@synthesize name;
@synthesize plist;
@synthesize bundle;
@synthesize hashes;
@synthesize signingInfo;
//@synthesize vtInfo;
@synthesize type;
//init method
-(id)initWithParams:(NSDictionary*)params
{
//TODO: why care if dir?
//flag for directories
BOOL isDirectory = NO;
@@ -49,46 +43,15 @@
goto bail;
}
//if path is directory
// ->treat is as a bundle
if(YES == isDirectory)
{
//load bundle
// ->save this into 'bundle' iVar
if(nil == (bundle = [NSBundle bundleWithPath:params[KEY_RESULT_PATH]]))
{
//err msg
NSLog(@"OBJECTIVE-SEE ERROR: couldn't create bundle for %@", params[KEY_RESULT_PATH]);
//set self to nil
self = nil;
//bail
goto bail;
}
//extract executable from bundle
// ->save this into 'path' iVar
if(nil == (self.path = self.bundle.executablePath))
{
//err msg
//NSLog(@"OBJECTIVE-SEE ERROR: couldn't find executable in bundle %@", itemPath);
//set self to nil
self = nil;
//bail
goto bail;
}
}
//save (optional) plist
// ->ok if this is nil
self.plist = params[KEY_RESULT_PLIST];
//extract name
self.name = [[self.path lastPathComponent] stringByDeletingPathExtension];
//set icon
self.icon = [[NSWorkspace sharedWorkspace] iconForFile:self.path];
//grab attributes
self.attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.path error:nil];
}
//bail
@@ -97,21 +60,62 @@ bail:
return self;
}
//set file type
// ->invokes 'file' cmd, the parses out result
-(void)setFileType
{
//results from 'file' cmd
NSString* results = nil;
//array of parsed results
NSArray* parsedResults = nil;
//exec 'file' to get file type
results = [[NSString alloc] initWithData:execTask(@"/usr/bin/file", @[self.path]) encoding:NSUTF8StringEncoding];
//sanity check
if(nil == results)
{
//bail
goto bail;
}
//parse results
// ->format: <file path>: <file types>
parsedResults = [results componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":\n"]];
//sanity check
// ->should be two items in array, <file path> and <file type>
if(parsedResults.count < 2)
{
//bail
goto bail;
}
//file type comes second
// ->also trim whitespace
self.type = [parsedResults[1] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//bail
bail:
;
return;
}
//get detailed info (which takes a while to generate)
// ->only shown to user if they click 'info' so this method is called in the background
-(void)generateDetailedInfo
{
//grab attributes
//TODO: done elsewhere?
self.attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.path error:nil];
//computes hashes
// ->set 'md5' and 'sha1' iVars
self.hashes = hashFile(self.path);
//set type
[self setFileType];
return;
}
//convert object to JSON string
-(NSString*)toJSON
{
@@ -120,25 +124,26 @@ bail:
//json data
// ->for intermediate conversions
NSData *jsonData = nil;
//NSData *jsonData = nil;
//plist
NSString* filePlist = nil;
//hashes
NSString* fileHashes = nil;
//NSString* fileHashes = nil;
//signing info
NSString* fileSigs = nil;
//NSString* fileSigs = nil;
//init file hash to default string
// ->used when hashes are nil, or serialization fails
fileHashes = @"\"unknown\"";
//fileHashes = @"\"unknown\"";
//init file signature to default string
// ->used when signatures are nil, or serialization fails
fileSigs = @"\"unknown\"";
//fileSigs = @"\"unknown\"";
/*
//convert hashes to JSON
if(nil != self.hashes)
{
@@ -201,8 +206,11 @@ bail:
//init VT detection ratio
//vtDetectionRatio = [NSString stringWithFormat:@"%lu/%lu", (unsigned long)[self.vtInfo[VT_RESULTS_POSITIVES] unsignedIntegerValue], (unsigned long)[self.vtInfo[VT_RESULTS_TOTAL] unsignedIntegerValue]];
//init json
json = [NSString stringWithFormat:@"\"name\": \"%@\", \"path\": \"%@\", \"plist\": \"%@\", \"hashes\": %@, \"signature(s)\": %@", self.name, self.path, filePlist, fileHashes, fileSigs];
*/
return json;
}
+1 -2
View File
@@ -35,7 +35,6 @@
//start it
[self.qProcessorThread start];
}
return self;
@@ -86,7 +85,7 @@
//process
//->for now, just hash, etc
[binary generateDetailedInfo];
//add item for VT processing
[vtObject addItem:binary];
+13 -11
View File
@@ -399,6 +399,7 @@ bail:
//add to task's dylibs
[self.dylibs addObject:dylib];
}
} //all dylibs
//sync to sort
@@ -417,29 +418,30 @@ bail:
// ->this will only reload if new task is the currently selected one, etc
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBottomPane:self itemView:DYLIBS_VIEW];
//complete dylib processing
//complete dylib processing for new dylib
// ->get signing info, hash, etc, & save into global list
// ...reloads each row (if task is stil current)
for(Binary* newDylib in newDylibs)
{
//generate signing info
[newDylib generatedSigningInfo];
//no need to reload if task is now longer current/selected
if(((AppDelegate*)[[NSApplication sharedApplication] delegate]).currentTask != self)
{
//skip reload
continue;
}
//reload row
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadRow:newDylib];
}
//any new dylibs?
// ->reload bottom pane to update signing info, etc
if(0 != newDylibs.count)
{
//reload
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBottomPane:self itemView:DYLIBS_VIEW];
}
}];
return;
}
//enumerate all file descriptors
-(void)enumerateFiles:(NSXPCConnection*)xpcConnection
{
+9 -1
View File
@@ -154,11 +154,19 @@
//get task
newTask = newTasks[key];
//don't need to regerate signing info if its already there
// ->e.g. task is just another instance of the same binary
if(nil != newTask.binary.signingInfo)
{
//skip
continue;
}
//generate signing info
[newTask.binary generatedSigningInfo];
//reload task (row) in table
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadRow:newTask item:newTask.binary pane:PANE_TOP];
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadRow:newTask];
//reload bottom pane
// ->this will only reload if new task is the currently selected one, etc
@@ -20,11 +20,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "TaskEnumerator.m"
timestampString = "456903878.108936"
timestampString = "457149043.732031"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "348"
endingLineNumber = "348"
startingLineNumber = "356"
endingLineNumber = "356"
landmarkName = "-removeTask:"
landmarkType = "5">
</BreakpointContent>
@@ -36,11 +36,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "771"
endingLineNumber = "771"
startingLineNumber = "775"
endingLineNumber = "775"
landmarkName = "-reloadTaskTable"
landmarkType = "5">
</BreakpointContent>
@@ -116,7 +116,7 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456992198.722928"
timestampString = "457149043.732031"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "320"
@@ -167,22 +167,6 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "VirusTotal.m"
timestampString = "456638843.665835"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "654"
endingLineNumber = "654"
landmarkName = "-processResults:results:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -190,11 +174,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "541"
endingLineNumber = "541"
startingLineNumber = "479"
endingLineNumber = "479"
landmarkName = "-reloadBottomPane:itemView:"
landmarkType = "5">
</BreakpointContent>
@@ -206,11 +190,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "559"
endingLineNumber = "559"
startingLineNumber = "497"
endingLineNumber = "497"
landmarkName = "-reloadBottomPane:itemView:"
landmarkType = "5">
</BreakpointContent>
@@ -311,22 +295,6 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task.m"
timestampString = "456638843.665835"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "433"
endingLineNumber = "433"
landmarkName = "-enumerateDylibs:allDylibs:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -334,11 +302,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456994072.431204"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1695"
endingLineNumber = "1695"
startingLineNumber = "1699"
endingLineNumber = "1699"
landmarkName = "-filterTasks:"
landmarkType = "5">
</BreakpointContent>
@@ -366,11 +334,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1464"
endingLineNumber = "1464"
startingLineNumber = "1468"
endingLineNumber = "1468"
landmarkName = "-selectBottomPaneContent:"
landmarkType = "5">
</BreakpointContent>
@@ -382,7 +350,23 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1460"
endingLineNumber = "1460"
landmarkName = "-switchView:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1456"
@@ -398,27 +382,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456993845.79535"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1452"
endingLineNumber = "1452"
landmarkName = "-switchView:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456994072.431204"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1580"
endingLineNumber = "1580"
startingLineNumber = "1584"
endingLineNumber = "1584"
landmarkName = "-controlTextDidChange:"
landmarkType = "5">
</BreakpointContent>
@@ -446,11 +414,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "456994072.431204"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1647"
endingLineNumber = "1647"
startingLineNumber = "1651"
endingLineNumber = "1651"
landmarkName = "-controlTextDidChange:"
landmarkType = "5">
</BreakpointContent>
@@ -471,5 +439,101 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Items/Binary.m"
timestampString = "457135238.550795"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "189"
endingLineNumber = "189"
landmarkName = "-formatSigningInfo"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Items/File.m"
timestampString = "457146476.499587"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "65"
endingLineNumber = "65"
landmarkName = "-setFileType"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "InfoWindowController.m"
timestampString = "457146576.340811"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "250"
endingLineNumber = "250"
landmarkName = "-configure"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task.m"
timestampString = "457151748.723229"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "437"
endingLineNumber = "437"
landmarkName = "-enumerateDylibs:allDylibs:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "581"
endingLineNumber = "581"
landmarkName = "-reloadBinary:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "610"
endingLineNumber = "610"
landmarkName = "-reloadBinary:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
+1 -2
View File
@@ -1361,10 +1361,9 @@ bail:
//bail
bail:
;
return;
}
+8 -25
View File
@@ -7,7 +7,6 @@
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="InfoWindowController">
<connections>
<outlet property="arguments" destination="1eL-b7-I94" id="6GM-Ne-rgf"/>
<outlet property="date" destination="Wbv-SK-w53" id="Li5-qD-Hxq"/>
<outlet property="hashes" destination="GQc-va-MLN" id="ta6-6g-dzh"/>
<outlet property="icon" destination="l8H-S3-g8O" id="P7o-8z-MjY"/>
@@ -45,7 +44,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GMp-1g-TFI">
<rect key="frame" x="8" y="84" width="59" height="18"/>
<rect key="frame" x="8" y="122" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="hash:" id="fYa-Av-reX">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -53,7 +52,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GQc-va-MLN">
<rect key="frame" x="75" y="84" width="555" height="18"/>
<rect key="frame" x="75" y="122" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item hash" id="yYo-KQ-DMm">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -61,7 +60,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hLU-fi-qXH">
<rect key="frame" x="75" y="64" width="555" height="18"/>
<rect key="frame" x="75" y="102" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item size" id="XJ7-Go-bkG">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -69,7 +68,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wbv-SK-w53">
<rect key="frame" x="75" y="43" width="555" height="18"/>
<rect key="frame" x="75" y="81" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item creation/modified" id="hR8-Wz-esN">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -77,7 +76,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5Rx-Vm-7gm">
<rect key="frame" x="75" y="6" width="554" height="34"/>
<rect key="frame" x="75" y="44" width="554" height="34"/>
<textFieldCell key="cell" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="signing status" id="00d-h4-SPW">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -85,7 +84,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DFa-vc-wFY">
<rect key="frame" x="8" y="64" width="59" height="18"/>
<rect key="frame" x="8" y="102" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="size:" id="iBS-9J-ok9">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -93,7 +92,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tM6-Nq-1Rh">
<rect key="frame" x="8" y="43" width="59" height="18"/>
<rect key="frame" x="8" y="81" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="time:" id="U3V-A7-jO8">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -101,7 +100,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hel-J4-4Qt">
<rect key="frame" x="8" y="23" width="59" height="18"/>
<rect key="frame" x="8" y="61" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="sign:" id="ezp-TW-Xky">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -128,22 +127,6 @@
<action selector="closeWindow:" target="-2" id="SSo-9s-xQz"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i1i-Er-lQW">
<rect key="frame" x="8" y="110" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="args:" id="fZY-li-gtz">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1eL-b7-I94">
<rect key="frame" x="74" y="110" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item args" id="qTP-D2-QN6">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
+31 -65
View File
@@ -1,20 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="InfoWindowController">
<connections>
<outlet property="date" destination="Wbv-SK-w53" id="Li5-qD-Hxq"/>
<outlet property="hashes" destination="GQc-va-MLN" id="ta6-6g-dzh"/>
<outlet property="icon" destination="l8H-S3-g8O" id="P7o-8z-MjY"/>
<outlet property="name" destination="NA2-2e-4hN" id="0Lg-xP-m03"/>
<outlet property="path" destination="dY9-WD-WAf" id="7Lg-cs-t0f"/>
<outlet property="plist" destination="vm8-PU-Bu0" id="9mC-ha-tfK"/>
<outlet property="sign" destination="5Rx-Vm-7gm" id="3g2-Ay-zQ4"/>
<outlet property="size" destination="hLU-fi-qXH" id="wZf-h4-BKf"/>
<outlet property="type" destination="Bu9-9m-qxq" id="1gQ-t9-2hh"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
@@ -22,14 +20,14 @@
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="File Information" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" texturedBackground="YES"/>
<rect key="contentRect" x="196" y="240" width="646" height="260"/>
<rect key="contentRect" x="196" y="240" width="646" height="193"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="646" height="260"/>
<rect key="frame" x="0.0" y="-5" width="646" height="193"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NA2-2e-4hN">
<rect key="frame" x="73" y="226" width="553" height="29"/>
<rect key="frame" x="73" y="159" width="553" height="29"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" title="Item Name" id="pYD-IR-Vtv">
<font key="font" size="20" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -37,31 +35,15 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dY9-WD-WAf">
<rect key="frame" x="75" y="191" width="553" height="34"/>
<rect key="frame" x="75" y="124" width="553" height="34"/>
<textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" title="Item Path" id="MfU-Jb-agl">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GMp-1g-TFI">
<rect key="frame" x="8" y="149" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="hash:" id="fYa-Av-reX">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GQc-va-MLN">
<rect key="frame" x="75" y="149" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item hash" id="yYo-KQ-DMm">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hLU-fi-qXH">
<rect key="frame" x="75" y="129" width="555" height="18"/>
<rect key="frame" x="75" y="72" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item size" id="XJ7-Go-bkG">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -69,31 +51,15 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wbv-SK-w53">
<rect key="frame" x="75" y="108" width="555" height="18"/>
<rect key="frame" x="75" y="51" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item creation/modified" id="hR8-Wz-esN">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5Rx-Vm-7gm">
<rect key="frame" x="75" y="51" width="554" height="34"/>
<textFieldCell key="cell" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="signing status" id="00d-h4-SPW">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vm8-PU-Bu0">
<rect key="frame" x="76" y="88" width="554" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="plist" id="23w-N2-C5Z">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DFa-vc-wFY">
<rect key="frame" x="8" y="129" width="59" height="18"/>
<rect key="frame" x="8" y="72" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="size:" id="iBS-9J-ok9">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -101,41 +67,25 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tM6-Nq-1Rh">
<rect key="frame" x="8" y="108" width="59" height="18"/>
<rect key="frame" x="8" y="51" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="time:" id="U3V-A7-jO8">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hel-J4-4Qt">
<rect key="frame" x="8" y="68" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="sign:" id="ezp-TW-Xky">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fAH-dm-SJe">
<rect key="frame" x="8" y="88" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="list:" id="oqF-UL-ydq">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" fixedFrame="YES" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="Oh7-Ag-bHc">
<rect key="frame" x="22" y="181" width="604" height="5"/>
<rect key="frame" x="22" y="114" width="604" height="5"/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
</box>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8H-S3-g8O">
<rect key="frame" x="13" y="202" width="48" height="48"/>
<rect key="frame" x="13" y="135" width="48" height="48"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="bug" id="w3z-uu-XKS"/>
</imageView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uJq-Bw-lDQ">
<rect key="frame" x="552" y="12" width="82" height="32"/>
<rect key="frame" x="552" y="13" width="82" height="32"/>
<buttonCell key="cell" type="push" title="close" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="RwO-yA-Xwk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="Menlo-Regular"/>
@@ -144,12 +94,28 @@
<action selector="closeWindow:" target="-2" id="SSo-9s-xQz"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Bu9-9m-qxq">
<rect key="frame" x="75" y="91" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item type" id="TNK-yK-gRS">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dAA-QJ-YfR">
<rect key="frame" x="8" y="91" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="type:" id="8kA-Mv-fof">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="430" y="270"/>
<point key="canvasLocation" x="430" y="236.5"/>
</window>
</objects>
<resources>
+32 -32
View File
@@ -22,14 +22,14 @@
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Task File Information" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" texturedBackground="YES"/>
<rect key="contentRect" x="196" y="240" width="646" height="220"/>
<rect key="contentRect" x="196" y="240" width="646" height="251"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="-1" width="646" height="220"/>
<rect key="frame" x="0.0" y="-1" width="646" height="251"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NA2-2e-4hN">
<rect key="frame" x="73" y="186" width="553" height="29"/>
<rect key="frame" x="73" y="217" width="553" height="29"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" title="Item Name" id="pYD-IR-Vtv">
<font key="font" size="20" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -37,7 +37,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dY9-WD-WAf">
<rect key="frame" x="75" y="151" width="553" height="34"/>
<rect key="frame" x="75" y="182" width="553" height="34"/>
<textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" title="Item Path" id="MfU-Jb-agl">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -45,7 +45,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GMp-1g-TFI">
<rect key="frame" x="8" y="84" width="59" height="18"/>
<rect key="frame" x="8" y="115" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="hash:" id="fYa-Av-reX">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -53,7 +53,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GQc-va-MLN">
<rect key="frame" x="75" y="84" width="555" height="18"/>
<rect key="frame" x="75" y="115" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item hash" id="yYo-KQ-DMm">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -61,7 +61,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hLU-fi-qXH">
<rect key="frame" x="75" y="64" width="555" height="18"/>
<rect key="frame" x="75" y="95" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item size" id="XJ7-Go-bkG">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -69,7 +69,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wbv-SK-w53">
<rect key="frame" x="75" y="43" width="555" height="18"/>
<rect key="frame" x="75" y="74" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item creation/modified" id="hR8-Wz-esN">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -77,7 +77,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5Rx-Vm-7gm">
<rect key="frame" x="75" y="6" width="554" height="34"/>
<rect key="frame" x="75" y="37" width="554" height="34"/>
<textFieldCell key="cell" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="signing status" id="00d-h4-SPW">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -85,7 +85,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DFa-vc-wFY">
<rect key="frame" x="8" y="64" width="59" height="18"/>
<rect key="frame" x="8" y="95" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="size:" id="iBS-9J-ok9">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -93,7 +93,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tM6-Nq-1Rh">
<rect key="frame" x="8" y="43" width="59" height="18"/>
<rect key="frame" x="8" y="74" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="time:" id="U3V-A7-jO8">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -101,7 +101,7 @@
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hel-J4-4Qt">
<rect key="frame" x="8" y="23" width="59" height="18"/>
<rect key="frame" x="8" y="54" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="sign:" id="ezp-TW-Xky">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -109,17 +109,33 @@
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" fixedFrame="YES" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="Oh7-Ag-bHc">
<rect key="frame" x="22" y="141" width="604" height="5"/>
<rect key="frame" x="22" y="172" width="604" height="5"/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
</box>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8H-S3-g8O">
<rect key="frame" x="13" y="162" width="48" height="48"/>
<rect key="frame" x="13" y="193" width="48" height="48"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="bug" id="w3z-uu-XKS"/>
</imageView>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i1i-Er-lQW">
<rect key="frame" x="8" y="141" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="args:" id="fZY-li-gtz">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1eL-b7-I94">
<rect key="frame" x="74" y="141" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item args" id="qTP-D2-QN6">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uJq-Bw-lDQ">
<rect key="frame" x="552" y="9" width="82" height="32"/>
<rect key="frame" x="552" y="6" width="82" height="32"/>
<buttonCell key="cell" type="push" title="close" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="RwO-yA-Xwk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="Menlo-Regular"/>
@@ -128,28 +144,12 @@
<action selector="closeWindow:" target="-2" id="SSo-9s-xQz"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="i1i-Er-lQW">
<rect key="frame" x="8" y="110" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="args:" id="fZY-li-gtz">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1eL-b7-I94">
<rect key="frame" x="74" y="110" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item args" id="qTP-D2-QN6">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="430" y="250"/>
<point key="canvasLocation" x="430" y="265.5"/>
</window>
</objects>
<resources>
+4 -50
View File
@@ -649,11 +649,7 @@ bail:
{
//queried binary obj
Binary* queriedItem = nil;
//flag for top pane reload
// ->will be set if any of the queried binaries are a task executable
BOOL reloadTopPane = NO;
//process all results
// ->save VT result dictionary into File obj
for(NSDictionary* result in results[VT_RESULTS])
@@ -672,56 +668,14 @@ bail:
//save VT results into item
queriedItem.vtInfo = result;
//for task executables
// ->set flag to reload top
if(YES == queriedItem.isTaskBinary)
{
//set
reloadTopPane = YES;
}
//for dylibs
// ->no dups, update each via row reload
else
{
//update
[self updateUI:queriedItem];
}
//callback to smartly reload
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBinary:queriedItem];
//TODO: do something with detections!?
//if(0 != [result[VT_RESULTS_POSITIVES] unsignedIntegerValue])
}
//reload top pane
// ->do full since there might be dups (e.g. Chrome Helper)
if(YES == reloadTopPane)
{
//reload
[self updateUI:nil];
}
return;
}
//call back up to update item in UI
// ->will either reload task table (top), or just row in item (bottom) table
-(void)updateUI:(Binary*)item
{
//handle case where item is a task (top)
// ->fully reload task table (since there can be dups)
if( (nil == item) ||
(YES == item.isTaskBinary) )
{
//reload
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadTaskTable];
}
//handle case where item is a dylib (bottom)
// ->just reload row
else
{
//reload row
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadRow:nil item:item pane:PANE_BOTTOM];
}
return;
}
+31 -31
View File
@@ -45,37 +45,27 @@
</menu>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" showsToolbarButton="NO" animationBehavior="default" id="371">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" unifiedTitleAndToolbar="YES"/>
<rect key="contentRect" x="0.0" y="0.0" width="1353" height="675"/>
<rect key="contentRect" x="0.0" y="0.0" width="1353" height="660"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<value key="minSize" type="size" width="1000" height="650"/>
<value key="maxSize" type="size" width="2000" height="650"/>
<view key="contentView" id="372">
<rect key="frame" x="0.0" y="-2" width="1353" height="675"/>
<rect key="frame" x="0.0" y="0.0" width="1353" height="660"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="839">
<rect key="frame" x="1157" y="-121" width="32" height="32"/>
<rect key="frame" x="1157" y="-136" width="32" height="32"/>
</progressIndicator>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="745">
<rect key="frame" x="869" y="-112" width="268" height="18"/>
<rect key="frame" x="869" y="-127" width="268" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="status..." id="748">
<font key="font" size="13" name="Menlo-Regular"/>
<color key="textColor" red="0.20000000000000001" green="0.67450980392156867" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button ambiguous="YES" misplaced="YES" tag="1002" translatesAutoresizingMaskIntoConstraints="NO" id="HoI-FQ-vTI">
<rect key="frame" x="640" y="22" width="29" height="32"/>
<buttonCell key="cell" type="bevel" bezelStyle="rounded" image="logoApple" imagePosition="only" alignment="center" alternateImage="logoAppleBG" imageScaling="proportionallyDown" inset="2" id="3g8-vm-R7Z">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="logoButtonHandler:" target="494" id="H4C-BT-arE"/>
</connections>
</button>
<segmentedControl verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gtq-gn-VPL">
<rect key="frame" x="465" y="354" width="223" height="24"/>
<rect key="frame" x="465" y="339" width="223" height="24"/>
<segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="DHY-0u-YD7">
<font key="font" metaFont="system"/>
<segments>
@@ -88,8 +78,22 @@
<action selector="selectBottomPaneContent:" target="494" id="CQa-nn-jVf"/>
</connections>
</segmentedControl>
<searchField wantsLayer="YES" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bNA-gy-9Ta">
<rect key="frame" x="1133" y="340" width="175" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="1yR-lY-9om"/>
</constraints>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Filter Dylibs" usesSingleLineMode="YES" bezelStyle="round" id="bct-8m-iWd">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<outlet property="delegate" destination="494" id="4ig-0K-Oup"/>
</connections>
</searchField>
<button ambiguous="YES" misplaced="YES" tag="1001" translatesAutoresizingMaskIntoConstraints="NO" id="gSG-Nq-plb">
<rect key="frame" x="9" y="20" width="35" height="32"/>
<rect key="frame" x="9" y="5" width="35" height="32"/>
<constraints>
<constraint firstAttribute="width" constant="35" id="XGt-s5-weq"/>
<constraint firstAttribute="height" constant="32" id="wlR-bC-Msz"/>
@@ -103,10 +107,10 @@
</connections>
</button>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TNF-7q-Loy" userLabel="Top Pane">
<rect key="frame" x="0.0" y="394" width="1353" height="281"/>
<rect key="frame" x="0.0" y="379" width="1353" height="281"/>
</customView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="E4M-PF-VD0" userLabel="Bottom Pane">
<rect key="frame" x="0.0" y="60" width="1353" height="281"/>
<rect key="frame" x="0.0" y="45" width="1353" height="281"/>
<subviews>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="LMT-Bu-FAk">
<rect key="frame" x="660" y="124" width="32" height="32"/>
@@ -121,20 +125,16 @@
</textField>
</subviews>
</customView>
<searchField wantsLayer="YES" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bNA-gy-9Ta">
<rect key="frame" x="1133" y="355" width="175" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="1yR-lY-9om"/>
</constraints>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Filter Dylibs" usesSingleLineMode="YES" bezelStyle="round" id="bct-8m-iWd">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<button ambiguous="YES" misplaced="YES" tag="1002" translatesAutoresizingMaskIntoConstraints="NO" id="HoI-FQ-vTI">
<rect key="frame" x="662" y="5" width="29" height="32"/>
<buttonCell key="cell" type="bevel" bezelStyle="rounded" image="logoApple" imagePosition="only" alignment="center" alternateImage="logoAppleBG" imageScaling="proportionallyDown" inset="2" id="3g8-vm-R7Z">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<outlet property="delegate" destination="494" id="4ig-0K-Oup"/>
<action selector="logoButtonHandler:" target="494" id="H4C-BT-arE"/>
</connections>
</searchField>
</button>
</subviews>
<constraints>
<constraint firstAttribute="centerX" secondItem="gtq-gn-VPL" secondAttribute="centerX" id="2Nh-NZ-P5p"/>
@@ -211,7 +211,7 @@
<toolbarItem reference="y4u-t8-Acq"/>
</defaultToolbarItems>
</toolbar>
<point key="canvasLocation" x="662.5" y="347.5"/>
<point key="canvasLocation" x="662.5" y="340.5"/>
</window>
<customObject id="494" customClass="AppDelegate">
<connections>
+1 -1
View File
@@ -191,7 +191,7 @@ struct dyld_image_info_32 {
// ->32bit mode
else
{
//hack, can use 64bit version of struct (since 'infoArray' is first pointer
//hack, can use 64bit version of struct (since 'infoArray' is first pointer)
// ->but zero out top bits
remoteReadAddr = (vm_address_t)allImageInfo->infoArray & 0xFFFFFFFF;