百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

SoFixer

> 编程语言
开源

SoFixer 用于修复从内存中 dump 下来的 So 文件。 编译 shell mkdir build 参数 -DSO64=ON 用于修复 64 位 so 文件,不添加则为修复 32 位 so 文件 cmake -DSO64=ON .. make 使用方法 从 so 中 dump 内存,ida…

1.0K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

SoFixer 用于修复从内存中 dump 下来的 So 文件。 编译 shell mkdir build 参数 -DSO64=ON 用于修复 64 位 so 文件,不添加则为修复 32 位 so 文件 cmake -DSO64=ON .. make 使用方法 从 so 中 dump 内存,ida…

SoFixer

用于修复从内存中 dump 下来的So文件。

Build

bash
mkdir build
# 参数 -DSO_64=ON 用于修复64位so文件,不添加则为修复32位so文件
cmake -DSO_64=ON ..
make

使用方法

  • 從so中dump內存, ida腳本
import idaapi
start_address = 0x0000007DB078B000
end_address = 0x0000007DB08DE000
data_length = end_address - start_address
fp = open('E:\path.so', 'wb')

cur = 0
towrite = 0x100000
while cur < data_length:
    if data_length - cur < 0x100000:
        towrite = data_length - cur
    data = idaapi.dbg_read_memory(start_address + cur, towrite)
    fp.write(data)
    cur = cur + towrite

fp.close()
  • 执行修复
sofixer  -s soruce.so -o fix.so -m 0x0 -d 
-s 待修復的so路徑
-o 修復後的so路徑
-m 內存dump的基地址(16位) 0xABC
-d 輸出debug信息

原理

原理参考下面的文章
TK so修复参考[http://bbs.pediy.com/thread-191649.htm]

  • 修复shdr
  • 修复phdr
  • 修复重定位

已知问题

在解析重定位表的时候有几个地方写错了,暂时懒得改,估计够用了,等出现新的修复so的 理论的时候再一并更新吧

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言