算法助手!基于Xposed的通用Hook工具[ZZ]

前言

大家好,我是Junge,以前接单的时候,经常需要分析各种加密算法,还有数据的sign算法,由于静态分析效率太低,就随便写了这个Hook工具。

起初使用的是logcat打印日志,将密文,密钥,明文,md5前的信息,MD5后的信息等信息打印出来,但是很快发现了一个问题,在数据量大的时候,密文很多,密钥也很多,打印信息太乱,经常会出现密文不知道对应哪个密钥,而且如果是动态秘钥,单纯的打印秘钥就显得没有意义了。

于是改过以后,才有了这软件的初版,能够将秘钥,密文,明文,联系起来,并打印出调用堆栈。
后来我的一个朋友也开发,并发布了该软件https://bbs.pediy.com/thread-262476.htm

但是后来由于各种原因,他没能继续维护软件,所以我将我写的放出来,给各位使用,并且只要有时间会持续维护的。

Continue Reading

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

EasyFind 5.0.1

EasyFind for mac(苹果电脑文件管理软件)是苹果电脑Mac os平台上的一款文件管理辅助软件。你认为Mac OS X的Spotlight很好用?特别是在搜索文本文件时? 下载EasyFind,Spotlight的替代(或补充),并在任何文件中查找文件,文件夹或内容,而无需编制索引。 EasyFind对于那些厌倦了缓慢或不可能的索引,过时或损坏的索引,或那些只是寻找在Finder或Spotlight中缺少的功能特别有用。EasyFind 是可以搜索隐藏文件的软件,最大的亮点就是能够搜索不可见的文件和包内部的文件。

特点:
– 布尔运算符,通配符,短语
– 扩展布尔运算符,类似于DEVONthink和DEVONagent
– 即时搜索,不需要索引
– 在文件包中找到不可见的文件和文件(Spotlight没有的功能)
– 在单独的列表中显示每个文件的位置
– 使用Quick Look预览文件(Mac OS X 10.5或更高版本)
– 提供上下文菜单和服务
– 支持拖放
– 非常迅速,支持多线程
– 使用很少的内存

Continue Reading

Delphi PI[Delphi Package Installer] 0.83

DelphiPI组件控件安装工具是一款用于安装Delphi组件的工具,对应delphi的不同版本,安装控件的时候有的需要先编译其他包,然后才能安装上这个控件,安装完成之后要在tool里的环境选项里的系统查找路径里填上控件的目录,这样delphi启动时才能找到你安装的控件。

选择所在的文件夹都包文件包文件( *.dpk ) 和源代码文件( *.pas ) 所在的目录.
如果目录结构是这样的: SuperLibrary\packages SuperLibrary\source
然后,只需选择superlibrary文件夹中。
指定一个或几个相匹配的Delphi的安装包进行安装。
如果您不想安装的,只是离开它作为*. dpk和取消不适合您的Delphi安装包。
还可以过滤掉不想使用的安装包,在package file pattern中可以把*.dpk改为*d7.dpk,那这样的话就会把d7结尾的包过滤出来其它的包就不会安装了.
单击编译。
软件包将汇编和安装。

Continue Reading

阿里云 opensips nat内网穿透

书接上文,上次在阿里云安装好opensips之后,发现无法在公网ip监听。为了能够快速测试后续改用内网服务器搭建sips服务器。现在功能差不多了,于是就需要将opensips服务器重新部署到公网上。不得不再次面对这个蛋疼的问题。通过搜索之后发现可以通过rtpproxy实现内网穿透?(这个说不知道准不准去,没有深入研究实现原理)

方法也比较简单,安装rtpproxy:

sudo apt-get install rtpproxy

安装之后修改opensips.cfg配置文件,添加如下内容:

#rtpproxy
loadmodule "rtpproxy.so"
modparam("rtpproxy", "rtpproxy_sock", "unix:/var/run/rtpproxy/rtpproxy.sock") #需要将unix路径修改为rtpproxy对应的sock路径。
Continue Reading

ubuntu 18.04 安装opensips 3.1

OpenSIPS is an Open Source SIP proxy/server for voice, video, IM, presence and any other SIP extensions.OpenSIPS is a multi-functional, multi-purpose signaling SIP server used by carriers, telecoms or ITSPs for solutions like Class4/5 Residential Platforms, Trunking / Wholesale, Enterprise / Virtual PBX Solutions, Session Border Controllers, Application Servers, Front-End Load Balancers, IMS Platforms, Call Centers, and many others – see the full Set of Features.

搜索一下网上安装opensips的文章基本都是源码安装的,虽然从源码安装并不是十分困难,但是在安装过程中需要处理各种依赖库。并且在某些系统上会出现编译不过的问题,在阿里云的服务器上很容易就通过源码安装好了opensips。但是由于阿里云的ecs没有经典网络,所以无法在公网ip绑定服务,导致客户端无法正常连接。如果有在阿里云部署服务的,那么可能会在这个地方失败。

在内网尝试部署的时候出现了另外一个问题,那就是源码编译不过去。搜索了一下发现其实可以通过ubuntu的apt命令进行安装,不过官方的apt源限定了linux的发行版本。所以在安装之前最好先确认一下,建议使用ubuntu18.04.

Continue Reading