eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+6 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Реверсинг под Linux
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 18 февраля 2014 21:54 · Поправил: 8 июля 2016 13:41 ARCHANGEL New!
Цитата · Личное сообщение · #1

Уважаемые форумчане. Знаю, что данный ресурс создавался для обсуждения тем, связанных с ОС Windows. Но ведь есть уже разделы по андроиду, по flash, по дотнету. Эти все темы не совсем связаны с Windows, точнее сказать, весьма далеки от исследования нативных приложений под винду, поэтому мне кажется логичным обсуждение ос семейства Linux.

Так исторически сложилось, что мне приходится тратить некоторое время на изучение этой темы, а изучать-то и нечего. Есть литература по администрированию Linux, но вот хорошей добротной (и свежей) инфы по линуксу практически нет.

Есть мысли разделить найденный материал на несколько категорий, т.к. благодаря людям с форума и гуглу появилась хоть какая-то инфа.

Настройка рабочей среды
Подраздел охватывает темы, прямо или косвенно связанные с установкой, настройкой и подготовкой к работе ОС Linux.
--> Настройка сети в VirtualBox <--
--> Установка VirtualBox Guest Additions в Kali<--
--> Linux. Карманный справочник. Скотт Граннеман <--
--> Инструменты кросскомпиляции для ARM <--
--> Компилятор GNU GCC<--
--> Команды Linux <--
--> Удалённая отладка с помощью gdbserver и Ida Pro <--
--> Обзор инструментария для исследований (не первой свежести обзор) <--
--> Удаленная отладка в Linux при помощи связки GDB-gdbserver <--

Введение в устройство ОС
Подраздел в общем и целом, без низкоуровневых деталей и кода, описывает устройство ОС. Поверхносто, но нужно для общего представления.
--> Анатомия ядра Linux<--
--> Исследование ядра Linux'а<--
--> Anatomy of Linux dynamic libraries <--
--> Обзор Linux <--
--> Динамическое связывание библиотек в Windows и Linux <--
--> Linkers and Loaders Guide <--

Программирование
Подраздел посвящён системному программированию под Linux.
--> Ядро Linux в комментариях<--
--> Pro Linux Embedded System <--
--> Linux Device Drivers, Third Edition <--
--> Знакомство с межпроцессным взаимодействием на Linux <--
--> Ещё одна книга по модулям ядра <--
--> Netlink Library <--
--> Kernel API Reference <--
--> Литература по программированию модулей ядра <--

Статьи по реверсингу

2002-2004 год:
--> Reverse Engineering Linux x86 Binaries <--
--> Reverse Engineering Linux ELF Binaries on the x86 <--
--> Reverse Engineering using the Linux Operating System.<--

Другие статьи:
--> Отладка двоичных файлов под gdb <--
--> Особенности национальной отладки в UNIX <--
--> Погружение в технику и философию gdb (окончание) <--
--> Детальный анализ бэкдора Linux/Ebury <--
--> 8 gdb tricks you should know <--

Разное

Касперски --> Искусство дизассемблирования<--
--> Linux System Call Table for x86_64 <--
--> System call tables x86 (BoRoV настоятельно рекомендует) <--
--> Отладка с помощью GDB <--
--> Команды GDB<--
--> Что делать, если отлаживаемый процесс форкается <--
--> Про способы внедрения кода в чужое адресное пространство <--
--> Обзор защит программного обеспечения под Linux <--
--> How to build your own kernel on Ubuntu <--
--> EDB - оллиподобный отладчик для х86/x64 <--
--> По многочисленным просьбам трудящихся - Таблица syscall'ов под ARM <--

| Сообщение посчитали полезным: VodoleY, OnLyOnE, Carpe DiEm, hors, ELF_7719116, =TS=, verdizela, Tony_Stark, mak, anonymous, synthetic, rd111


Ранг: 2.4 (гость)
Статус: Участник

Создано: 28 февраля 2014 17:43 · Поправил: SPLESH New!
Цитата · Личное сообщение · #2

ARCHANGEL пишет:
Т.е. вы на плате всё собираете?


Нет это было бы иррационально точно так же как и сборка библиотек прямо на телефоне в той ссылке описан процесс установки BSP ось "Ubuntu 10.04 64-bit", комп "Intel(R) Celeron(R) 2 CPU P4500 1.87GHz RAM 8GB" и сборка образа файловой системы тоже происходит на обычном компьютере потом этот образ копируется на SD карту и с этой карты бутлоадер, обычно U-Boot который заливают через JTAG (железка которая общаться с платой на низком уровне) или еще как то например по USB в специальном режиме, а потом с этой SD карты уже грузиться Linux на ARM.

Или для аналогии с телефоном бутлоадер загружает рекавери а уже он c SD карты переписывает внутреннею память телефона новой прошивкой.


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 6 марта 2014 02:58 · Поправил: BoRoV New!
Цитата · Личное сообщение · #3

А вот список syscall'ов для x86 и там их больше чем для x86_64
http://syscalls.kernelgrok.com/


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 6 марта 2014 13:39 New!
Цитата · Личное сообщение · #4

BoRoV
А в шапке есть ссылка на х86_64, а по ссылке статья, в которой есть ссылка на сисколы х86.


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 6 марта 2014 14:40 New!
Цитата · Личное сообщение · #5

Там всего лишь 190, а по моей 338 значений.

| Сообщение посчитали полезным: ARCHANGEL



Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 10 марта 2014 15:37 · Поправил: ARCHANGEL New!
Цитата · Личное сообщение · #6

Сейчас пытаюсь дебажить софт под х86. Использую для этого Kali Linux 32-х разрядную. В виртуалке создал директорию по такому адресу:

/usr/crackme

Внутри неё поместил бинарь, который собираюсь дебажить, и linux_server. Запускаю linux_server, и он нормально запускается. Ввожу ipconfig и получаю ip адрес, в виртуалке сеть настроена как Bridge, поэтому пинги проходят, инет работает, в общем, всё хорошо.

Далее я ввожу настройки:


И вижу последовательно две ошибки:


Тем временем в Kali:
[2] Accepting connection from 192.168.61.1...
[2] Closing connection from 192.168.61.1...


Чё за дела? Что я делаю не так?

{ Атач доступен только для участников форума } - automata


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 10 марта 2014 16:01 New!
Цитата · Личное сообщение · #7


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 10 марта 2014 17:03 · Поправил: BoRoV New!
Цитата · Личное сообщение · #8

У меня тоже не получилось через линуксовый сервер, использовал gdbserver

А еще не ложи ничего в /usr тебе нужны будут права суперпользователя для записи туда.
Ах да, ты же используешь Kali а там поумолчанию ты под суперпользователем.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 10 марта 2014 17:29 New!
Цитата · Личное сообщение · #9

BoRoV пишет:
У меня тоже не получилось через линуксовый сервер, использовал gdbserver

потому что вы оба пытаетесь отлаживать сразу файл открытый в ида, этого 6.1 не умеет

поэтому
1) запускаем ида
2) идем в меню Debugger -> Run -> Linux Remote
3) закидываем отлаживаемый файл в линукс, и выбираем его в параметрах
4) вуаля, не забываем о Debug options стопы на всяких местах указать,
5) ида загружает файл и брякается на ld.so, чуть чуть пробегаем и вуаля на _main отлаживаемой программе

| Сообщение посчитали полезным: ARCHANGEL



Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 10 марта 2014 18:42 New!
Цитата · Личное сообщение · #10

reversecode пишет:
2) идем в меню Debugger -> Run -> Linux Remote
3) закидываем отлаживаемый файл в линукс, и выбираем его в параметрах


Нет у меня в Debugger никакого Run.

В линукс файл закинут, лежит рядом с linux_server. В каких параметрах его надо выбирать, он и так в параметрах указан, на скрине выше я ж прикладывал, или что-то там не так?


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 10 марта 2014 18:48 New!
Цитата · Личное сообщение · #11

Не открывай ничего в иде, или закрой файл, если открыт. Тогда всё будет. Но у меня виснет при начале отладки.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 10 марта 2014 18:53 New!
Цитата · Личное сообщение · #12

BoRoV пишет:
Но у меня виснет при начале отладки.

reversecode пишет:
4) вуаля, не забываем о Debug options стопы на всяких местах указать,


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 10 марта 2014 19:18 New!
Цитата · Личное сообщение · #13

Я, кажись, вкурил. Как-то неочевидно, почему нельзя было сделать, как в винде - нормальный remote debug?


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 10 марта 2014 19:38 New!
Цитата · Личное сообщение · #14

reversecode я ставил на энтри поинт.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 10 марта 2014 19:39 New!
Цитата · Личное сообщение · #15

ставь стопы на все


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 11 марта 2014 16:18 · Поправил: ARCHANGEL New!
Цитата · Личное сообщение · #16

Господи, я сдампил кусок данных в запущенном процессе:

Code:
  1. begin = 0x00F88FE0
  2. end = 0x00F89000
  3. size = end - begin + 1
  4.  
  5. data = DbgRead(begin,size)
  6. out = data.encode("hex")
  7.  
  8. = open("D:\test.bin", "wb")
  9. f.write(out)
  10. f.close()


Это печально.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 11 марта 2014 16:32 New!
Цитата · Личное сообщение · #17

что именно вызвало такую печаль?


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 11 марта 2014 17:24 New!
Цитата · Личное сообщение · #18

reversecode
Способ, которым желаемое было достигнуто.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 11 марта 2014 17:33 New!
Цитата · Личное сообщение · #19

для этого нужна была ида? кошмар, я считаю в gdb это бы тоже можно было бы сделать
а вообще в новых версиях иды уже добавили в гуи возможность выбрать любые данные и експортировать их в любом виде


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 11 марта 2014 17:51 New!
Цитата · Личное сообщение · #20

reversecode
Это, типа, пкм -> Save to File? Ну, ок, ладно.


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 11 марта 2014 18:41 New!
Цитата · Личное сообщение · #21

Ранг: 321.4 (мудрец)
Статус: Участник
ILSpector Team

Создано: 11 марта 2014 19:01 · Поправил: Medsft New!
Цитата · Личное сообщение · #22

Такс)))) Предположим я ни хрена не разбираюсь в linux и java)))) при этом с определенной долей скромности разбираюсь в виндовых делах !!! <- это вводная часть !!!
Есть у меня на Android-планшете игруха реализованная по технологии сервер-толстый клиент.
При разборе apk состоящей из java классов и библиотеки в формате ELF с последующей декомпляцией ее(этой самой библиотеки) в иде выяснено что логика которая меня интересует как раз располагается на клиенте.
Вопрос такой: дайте мне пожалуйста ссылку на материал, что и как нужно установить на виндовой машине (конечно при условии что это возможно) для того чтобы отдебажить в реал-тайме данное чудо.)))) Только просьба источник знаний должен быть написан максимально человеческим языком т.е. как для школоты)))), а то мозг мой при прочтении той инфы которую я нашел чуть не взорвался ))) и мне пришлось употребить почти пол-бутылки коньяка для того чтобы закопать тот комплекс неполноценности который у меня развился в процессе.
reversecode - там ельфами даже не пахнет) т.е. как я понял embeded приложениями и их дебажингом)))


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 11 марта 2014 19:06 New!
Цитата · Личное сообщение · #23

тебе в другую тему - реверсинг под андроид))

Ранг: 300.0 (мудрец)
Статус: Участник

Создано: 12 марта 2014 11:13 · Поправил: Veliant New!
Цитата · Личное сообщение · #24

Писал как-то, может кому пригодится. Дампер регионов памяти под линукса. Проверено на *buntu-based дистрибутивах.

Если не показывает регионы - значит нет прав для их просмотра, запускайте от рута.



{ Атач доступен только для участников форума } - QProcDumper


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 12 марта 2014 18:00 · Поправил: ARCHANGEL New!
Цитата · Личное сообщение · #25

У меня вопрос. Вот, предположим, анализирую я приложение в иде. И вижу вызов импортируемой функции. В винде-то понятно как посмотреть, из какой библиотеки она импортируется - это можно и без иды. А как в линуксе посмотреть, из какой библиотеки импортируется данная функция?

Ранг: 510.2 (!)
Статус: Модератор

Создано: 13 марта 2014 08:18 New!
Цитата · Личное сообщение · #26

nm -uC your_supa_dupa_app
иле
objdump -T your_dupa_supa_app


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 13 марта 2014 10:50 New!
Цитата · Личное сообщение · #27

sendersu
nm -uC выдал: no symbols

objdump -T нашёл символ, это выглядело примерно так:
00000000 D *UND* 00000000 My_Func

Хотя для других имён всё выглядит оптимистичнее, например:
00000000 DF *UND* 00000000 GLIBC_2.4 strcmp


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 13 марта 2014 11:39 · Поправил: reversecode New!
Цитата · Личное сообщение · #28

потому что они никак не связываются

Veliant
мой вроде проще))
reversecode пишет:
grep myprog /proc/$1/maps | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' | while read start stop; do gdb --batch --pid $1 -ex "dump memory $1-$start-$stop.dump 0x$start 0x$stop"; done

Ранг: 386.2 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 14 марта 2014 19:04 New!
Цитата · Личное сообщение · #29

Немного оффтоп, но в поддержании данной темы вынужден заметить, что разрабы игрушек, после фейлов с виндовсами 8 начали тянутся к Linux (Valve и теперь Crytek потянулась). Глядишь, следом за ними, всякие старфорсы тоже на линукс переедут
И вопрос: что нибудь, кроме Shiva придумали еще?


Ранг: 1013.7 (!!!!)
Статус: Участник

Создано: 14 марта 2014 19:30 New!
Цитата · Личное сообщение · #30

пока вмпрота под линукс нет,
можешь спать спокойно и анпакать любые крутые защиты под линуксом банальным дампом который я привел выше


Ранг: 660.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 14 марта 2014 20:40 New!
Цитата · Личное сообщение · #31

reversecode
Недавно как раз дискутировали на тему, смог бы дерматолог за бабосы портануть вмпрот на линукс, и сколько бы это стоило.

"Анпакать крутые защиты" - вм никто не отменял-то.
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Основной форум —› Реверсинг под Linux

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS