1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/geekneo-A64Dbg

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
Readme.md

A64Dbg

Описание

A64Dbg — это отладчик на уровне ассемблера для архитектур arm, arm64, x86 и x64. Он работает на macOS, iOS, Linux и Android и похож на OllyDbg и X64Dbg.

Также A64Dbg включает в себя отладчик виртуализации (uvmdbg) на основе UraniumVM для macOS, iOS и Android.

Поддерживаются следующие платформы:

  • Windows;
  • Linux;
  • macOS.

Поддерживаемые платформы для отладки:

  • macOS;
  • Linux;
  • iOS;
  • Android.

|Локальная|Удаленная Android|Удалённая iOS| |-|-|-|-| |Windows|Нет|Да|Нет| |Intel Linux|Да|Да|Нет| |ARM Linux|Да|Да|Нет| |Intel macOS|Да|Да|Да| |ARM macOS|Да|Да|Да|

GUI Runtime основан на Qt. GUI Controls основан на X64Dbg. DebugEngine основан на LLDB. Assembler/Disassembler основан на LLVM. Decompiler основан на RetDec. Script основан на Python. AnalyzeEngine разработан YunYoo. UVMEngine разработан YunYoo.

Версия отладчика:

  • Пользователи Windows могут скачать отладчик с сайта A64Dbg-Win.
  • Пользователи Linux могут скачать отладчик с сайтов A64Dbg-Linux, A64Dbg-LinuxARM.
  • Пользователи Intel macOS могут скачать отладчик с сайта A64Dbg-Mac.
  • Пользователи ARM macOS могут скачать отладчик с сайта A64Dbg-iOS.
Пользователи macOS могут настроить удаленную отладку через меню «Preference».
Пользователи Windows могут настроить удаленную отладку через пункты меню MainMenu/Options/Preference.

Пользователи iOS поддерживают только конфигурацию IP реального устройства iDevice.
Пользователи Android поддерживают только конфигурацию 127.0.0.1 IP.

Плагин DevTool:

  • Пользователи Windows могут скачать плагин с сайта ADPluginDev-Win.
  • Пользователи Intel macOS могут скачать плагин с сайта ADPluginDev-Mac.
  • Пользователи ARM macOS могут скачать плагин с сайта ADPluginDev-iOS.
  • Для получения дополнительной информации о adpsdk и демо можно обратиться к папке include/plugin.

Официальные плагины:

  • iPhone2Sim — помощник для A64Dbg и Simulator, зависит от Textobot.
  • Python3 — встроенная платформа Python для A64Dbg.

Отладчик сервера:

  • Пользователи iOS могут установить a64dbg-server.deb на iDevice с помощью команд:
ssh root@ip dpkg -i --force-overwrite /tmp/a64dbg-server.deb```
* Пользователи uvmdbg для iOS могут установить [](https://gitee.com/geekneo/A64Dbg/blob/master/a64dbg-server.uvm.deb) на iDevice с помощью команд:
```scp A64Dbg/a64dbg-server.uvm.deb root@ip:/tmp/
ssh root@ip dpkg -i --force-overwrite /tmp/a64dbg-server.uvm.deb```
* Пользователи Android могут отправить a64dbg-server-arm64 на устройство Android с помощью команд:
```adb push A64Dbg/a64dbg-server-arch /data/local/tmp/
adb shell chmod -R 755 /data/data/local/tmp/a64dbg-server-arch/
cd /data/local/tmp/a64dbg-server-arch; ./lidadbg-server```
```adb forward tcp:30333 tcp:30333```
* Пользователи uvmdbg для Android могут отправить a64dbg-server-arm64.uvm на устройство Android и отключить SELinux с помощью команд:
```adb push A64Dbg/a64dbg-server-arch.uvm /data/local/tmp/
setenforce 0```

Текущий статус:

|Платформа|Описание|Выпущено|Бизнес-модель|
|-|-|-|-|
|Локальный ARM macOS/Simulator|Отладка ARM macOS и его iOS Simulator|Да|Бесплатно|
|Удаленный iOS|Традиционная удаленная отладка iOS на основе lldb-server/debugserver|Да|Бесплатно|
|Удаленный Android|Традиционная удаленная отладка Android на основе lldb-server|Да|Бесплатно|
|Локальный VP iOS Simulator|Кроссплатформенная отладка на основе arm64 переводчика, например, отладка программы arm64 iOS на x64 macOS|Нет|Покупка|
|Удаленный VP Android Emulator|Кроссплатформенная отладка на основе arm64 переводчика, например, отладка программы arm64 Android на x64 Windows|Нет|Покупка|
|Локальный UraniumVM|Отладка на основе [UraniumVM-V8](https://gitee.com/yunyoo/UraniumVCPU/tree/master/mac/arm64), например, отладка кода arm64 на x64 рабочем столе|Да|Покупка|
|Удаленный UraniumVM iOS|Удаленная отладка на основе [UraniumVM-iOS](https://gitee.com/yunyoo/UraniumVCPU/tree/master/ios/arm64). Код выполняется на iOS UraniumVM виртуальной машине|Да|Покупка| **Remote UraniumVM Android**

На основе UraniumVM-V8 (https://gitee.com/yunyoo/UraniumVCPU/tree/master/android) реализована удалённая отладка, выполнение кода происходит на Android UraniumVM виртуальной машине.

**Follow us for update or bug report:**
|Platform|Account|
|-|-|
|Email|liubaijiang@yunyoo.cn|
|公众号|江哥说安全|
|头条抖音|刘柏江/江哥说安全|
|微博|刘柏江VM|
|码云|https://gitee.com/geekneo/|

#### FAQ

1. **Q: a64dbg-server.deb поддерживает iOS версии?**

   A: Встроенный debugserver поддерживает iOS >= 10.0, если не удаётся запустить, рекомендуется заменить на собственный debugserver.

2. **Q: Почему при первом использовании Attaching требуется много времени?**

   A: При первом использовании A64Dbg многие модули lldb ещё не переданы обратно на локальный компьютер, поэтому требуется больше времени для инициализации модулей отладки.

3. **Q: При вводе IP-адреса устройства Android Wifi для подключения к службе отладки появляется ошибка: Device «?.?.?».? not found. Как решить эту проблему?**

   A: 1. В настройках отладчика укажите полный путь adb (рекомендуется использовать adb из Android SDK), затем введите IP-адрес устройства Android 127.0.0.1 в поле адреса, нажмите Save для сохранения конфигурации.
   2. После настройки каждый запуск A64Dbg автоматически устанавливает переадресацию портов, и вам больше не нужно настраивать вручную. Просто убедитесь, что служба отладки на вашем мобильном устройстве всегда работает.

4. **Q: Я скачал macOS версию с gitee, но при запуске получаю сообщение о повреждённом пакете. Что делать?**

   A: 1. Используйте команду codesign --force --deep --sign - /path/to/A64Dbg.app для повторной подписи, а затем запустите приложение, удерживая клавишу Control, чтобы разрешить запуск.
   2. Рекомендуется использовать git clone --depth=1 для загрузки, так вы сможете обновлять программу через git pull, это удобно, быстро и снижает вероятность ошибок.

5. **Q: Какая команда используется для пересылки портов в программе usbmuxd для iOS?**

   A: Рекомендуется использовать https://github.com/TestStudio/usbmuxd/blob/master/python-client/tcprelay.py или создать скрипт на основе этого интерфейса и настроить его для A64Dbg.

6. **Q: На платформе Windows при запуске lidadbg-server возникает ошибка. В чём причина?**

   A: Если вы загрузили A64Dbg с помощью git clone, при выполнении службы на мобильном устройстве может возникнуть ошибка:
    angler:/data/local/tmp/a64dbg-server-arm # ./lidadbg-server
    /system/bin/sh: ./lidadbg-server: No such file or directory
   Ошибка вызвана тем, что git добавил символ '\r', что делает sh неспособным обработать этот скрипт. Решение:
    git config --global core.autocrlf input, запретить добавление символа '\r'.

7. **Q: На macOS при запуске сеанса отладки возникает ошибка debugserver not found.**

   A: На macOS, если вы поместите A64Dbg в каталог AppTranslocation, при запуске сеанса отладки может появиться ошибка:
    /bin/sh: debugserver: inaccessible or not found
   Решение: Переместите A64Dbg из каталога AppTranslocation в другие каталоги, такие как Applications, Documents, Downloads и т. д., которые не являются песочницей.

8. **Q: После запуска режима Attach/Launch в режиме виртуализации UraniumVM нет реакции. Почему?**

   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 )

Вы можете оставить комментарий после Вход в систему

Введение

Отладчик на уровне ассемблерного кода для архитектур arm, arm64, x86 и x64 под macOS, iOS, Linux и Android. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/geekneo-A64Dbg.git
git@api.gitlife.ru:oschina-mirror/geekneo-A64Dbg.git
oschina-mirror
geekneo-A64Dbg
geekneo-A64Dbg
master