• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

A64Dbg: An arm/arm64/x86/x64 assembly level debugger for macOS/iOS/Linux/Android ...

原作者: [db:作者] 来自: 网络 收藏 邀请

A64Dbg

Description

An arm/arm64/x86/x64 assembly level debugger for macOS/iOS/Linux/Android like OllyDbg & X64Dbg.

An arm/arm64 virtualization debugger(uvmdbg) based on UraniumVM for macOS/iOS/Android.

Running desktop platform supports Windows/Linux/macOS.

The debugee platform supports macOS/Linux/iOS/Android.

LocalRemote AndroidRemote iOS
WindowsNoYesNo
Intel LinuxYesYesNo
ARM LinuxYesYesNo
Intel macOSYesYesYes
ARM macOSYesYesYes
  • GUI Runtime is based on Qt;
  • GUI Controls is based on X64Dbg;
  • DebugEngine is based on LLDB;
  • Assembler/Disassembler is based on LLVM;
  • Decompiler is based on RetDec;
  • Script is based on Python;
  • AnalyzeEngine is developed by YunYoo;
  • UVMEngine is developed by YunYoo;

Debugger Version:

macOS user: use the Preference menu to configurate the remote debugging.Windows user: use the MainMenu/Options/Preference to configurate the remote debugging.iOS user: only support the real iDevice IP configuration.Android user: only support the 127.0.0.1 IP configuration.

Plugin DevTool:

Official Plugin:

  • iPhone2Sim: one click helper for A64Dbg and Simulator, dependent on Textobot;
  • Python3: builtin adp python framework;

Debugger Server:

scp A64Dbg/a64dbg-server.deb root@ip:/tmp/ssh root@ip dpkg -i --force-overwrite /tmp/a64dbg-server.deb
  • iOS uvmdbg user: install to iDevice
scp A64Dbg/a64dbg-server.uvm.deb root@ip:/tmp/ssh root@ip dpkg -i --force-overwrite /tmp/a64dbg-server.uvm.deb
adb push A64Dbg/a64dbg-server-arch /data/local/tmp/adb shell chmod -R 755 /data/local/tmp/a64dbg-server-arch/cd /data/local/tmp/a64dbg-server-arch; ./lidadbg-server
adb forward tcp:30333 tcp:30333
adb push A64Dbg/a64dbg-server-arch.uvm /data/local/tmp/setenforce 0

Current Status:

PlatformDescriptionReleasedBusiness Model
Local ARM macOS/SimulatorARM macOS及其iOS Simulator模拟器的本地调试YesFree
Remote iOS基于lldb-server/debugserver的传统iOS远程调试YesFree
Remote Android基于lldb-server的传统Android远程调试YesFree
Local VP iOS Simulator基于arm64翻译器的跨架构调试,比如在x64 macOS调试arm64的iOS程序NoBuy
Remote VP Android Emulator基于arm64翻译器的跨架构调试,比如在x64 Windows调试arm64的Android程序NoBuy
Local UraniumVM基于UraniumVM-V8的本地调试,比如在x64桌面调试arm64的代码YesBuy
Remote UraniumVM iOS基于UraniumVM-iOS的远程调试,执行代码跑在iOS UraniumVM虚拟机里面YesBuy
Remote UraniumVM Android基于UraniumVM-V8的远程调试,执行代码跑在Android UraniumVM虚拟机里面YesBuy

Follow us for update or bug report:

PlatformAccount
Email[email protected]
公众号江哥说安全
头条抖音刘柏江/江哥说安全
微博刘柏江VM
码云https://gitee.com/geekneo/

FAQ

Q: a64dbg-server.deb支持的iOS版本?A: 内置的debugserver支持iOS >= 10.0,如果无法运行,请替换成自己的debugserver;
Q: 为什么首次使用时Attaching要很久?A: 首次使用A64Dbg时很多模块lldb还未传回本地生成副本,所以会花费更多时间初始化调试模块;
Q: 输入Android设备Wifi IP连接调试服务出现error: Device "?.?.?.?" not found该如何处理?A: 1.在调试器设置界面设置adb全路径(建议使用android sdk里面的adb),然后在Android设备IP   地址填入127.0.0.1(由于lldb的限制,目前Android只支持这个IP地址),点击Save保存配置;   2.这样配置之后,每次启动A64Dbg就会自动设置端口转发,不再需要手动设置,你只需要保持手机   调试服务端一直处于运行状态即可;
Q:通过gitee下载的macOS版本,运行提示包已损坏该如何处理?A:1.使用如下命令重新签一下名,然后首次使用时按住Control键以允许运行:   codesign --force --deep --sign - /path/to/A64Dbg.app   或者   2.推荐使用git clone --depth=1的方式下载,这样以后可以通过git pull的方式更新,   方便快捷不容易出错;
Q:iOS usbmuxd端口转发程序使用哪个命令行接口?A:推荐使用https://github.com/TestStudio/usbmuxd/blob/master/python-client/tcprelay.py;   或者按照该接口文件封装一个脚本配置给A64Dbg;
Q:Windows平台lidadbg-server启动报错的原因?A:在Windows平台如果你是用git clone的方式下载A64Dbg软件包的,手机端执行服务程序可能会报错:      angler:/data/local/tmp/a64dbg-server-arm # ./lidadbg-server      /system/bin/sh: ./lidadbg-server: No such file or directory   报错的原因是git对脚本lidadbg-server添加了'\r'字符,导致sh无法解析该脚本。解决办法:      git config --global core.autocrlf input,禁止其添加'\r'字符;
Q:macOS平台启动调试会话报debugserver not found的原因?A:在macOS平台如果你把A64Dbg软件包放在沙盒目录AppTranslocation,启动调试会话时会报错:      /bin/sh: debugserver: inaccessible or not found   解决办法:将A64Dbg移出沙盒目录,比如移至Applications,Documents,Downloads之类的非沙盒目录;
Q:UraniumVM虚拟化调试模式Attach/Launch之后没有反应的原因?A:虚拟化调试模式不同于LLDB通过Ptrace的方式控制目标进程,而是自建TCP通道与A64Dbg交互调试上下文,所以   如果出现无反应的现象,按照如下方式逐一排查:   1.手机是否关闭了SELinux:setenforce 0;   2.手机与桌面是否处于同一局域网:adb shell ping desktop-ipv4;   3.手机目标Debugee是否具备网络权限:如果没有可以通过修改系统配置文件添加;   4.首次运行A64Dbg时是否允许了使用网络通信:如果没有则在防火墙白名单里面添加A64Dbg主程序;

Screenshot

start

config

attach

cpu

callstack

threads

modules

log

fileeditor

filediser

database


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap