用Hopper修改代理软件端口

背景

用代理软件可以访问google,但是端口经常不固定,从缺省1080变成了随机。
前几天其实已经用Hopper 3.0看了一次,但是好像不支持go,所以没反编译成功,这次换了4.0,支持了go。

Hopper与逆向

逆向的目的,往往要搞清楚,app底层的某些功能和逻辑的具体实现机制和原理。而搞懂底层逻辑,从过程角度来说,主要分:

  • 静态分析:不运行程序的前提下,利用工具和手段,搞懂程序逻辑
  • 动态调试:运行程序的前提下,动态运行期间,研究和调试程序的逻辑

什么是Hopper?

Hopper是 OS X 和 Linux下的逆向工具。和IDA类似。
功能:disassemble and decompile
支持平台、架构:32/64bits Intel Mac, Linux, Windows and iOS executables
主要用于:二进制的静态分析

patch过程

下面就简明概要得说一下patch过程,通过查看代理软件的二进制文件,可以看到其是用go写的
于是gdb了一把,结果发现原来就是基于et-go的代码改的。
用Hopper修改代理软件端口_第1张图片

把ss的代码下载了下来,发现核心就在于main.run里

用Hopper修改代理软件端口_第2张图片

于是Hopper一看,发现原来是把listenAddr写死成"127.0.0.1:0"了,用的是auto port,所以只需要改成1080即可。

用Hopper修改代理软件端口_第3张图片

注意:需要改两个地方,一个是0改成1080,第二个是0x0b改成0x0e,这个参数是字符串长度

相关资料

  • https://www.hopperapp.com
  • https://crifan.github.io/ios_re_static_analysis/website/analysis_content/analysis_code_logic/hopper.html
  • hopper 4.0.8下载地址: 链接: https://pan.baidu.com/s/1skV80cX 密码: 8hy4

你可能感兴趣的:(安全,Hopper,逆向)