Machoview 2.4 M1 Version

MachOView is a visual Mach-O file browser. It provides a complete solution for exploring and in-place editing Intel and ARM binaries.

旧版本代码编译之后打开文件可能会报下面的错误:
NSWindow drag regions should only be invalidated on the Main Thread!'
这个是由于进行状态更新的逻辑没有在主线程执行,通过下面的代码修复即可:
//----------------------------------------------------------------------------
- (void)handleThreadStateChanged:(NSNotification *)notification
{
  if ([notification object] == dataController)
  {
    NSString * threadState = [[notification userInfo] objectForKey:MVStatusUserInfoKey];
    if ([threadState isEqualToString:MVStatusTaskStarted] == YES)
    {
      if (OSAtomicIncrement32(&threadCount) == 1)
      {
        [progressIndicator setUsesThreadedAnimation:YES];
        [progressIndicator startAnimation:nil];
//        [stopButton setHidden:NO];
          dispatch_async(dispatch_get_main_queue(), ^{
              [stopButton setHidden:NO];
          });
       }
    }
    else if ([threadState isEqualToString:MVStatusTaskTerminated] == YES)
    {
      if (OSAtomicDecrement32(&threadCount) == 0)
      {
        [progressIndicator stopAnimation:nil]; 
        [statusText setStringValue:@""];
          dispatch_async(dispatch_get_main_queue(), ^{
              [stopButton setHidden:YES];
          });
//        [stopButton setHidden:YES];
      }
    }
  }
}
Continue Reading

Insecure update error!

For security reasons, you need to code sign your application or sign your updates with a DSA key. See Sparkle’s documentation for more information.

按照上面的提示信息就可以知道大概是出了什么问题了,问题的关键在于修改之后的应用去掉了签名信息,因而在启动的时候弹出了这个东西。

Continue Reading

OSX and iOS Kernel Programming

虽然有了电子版,但是还是喜欢纸质的书。习惯原始的阅读,那种书捧在手里的感觉。本来想找同学帮忙去打印的,但是话说现在不知道谁还在北京于是,就从淘宝上随便找了一个打印的地方,打印了一本。整体来说打印的质量还算不错,图片也比较清晰,但是装订的时候装订成了两本,这个感觉有点郁郁。本来以为很厚的,但是发现其实装订成一本问题也不大。另外发现了一个很郁闷的事情,有的地方的页码实在装订线那边的,仔细看了一下发现少了50页。刚开始还以为是装订漏了,后来才发现原来原书的pdf版本里面也没有50,于是后面的页面就有正有反。这个有点郁闷,不过也还好不影响阅读。

Continue Reading