Сейчас на форуме: -Sanchez- (+7 невидимых)

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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 18 февраля 2014 21:54 · Поправил: ARCHANGEL
· Личное сообщение · #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 <--

-----
Stuck to the plan, always think that we would stand up, never ran.


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

Ранг: 2.4 (гость), 2thx
Активность: 0=0
Статус: Участник

Создано: 28 февраля 2014 17:43 · Поправил: SPLESH
· Личное сообщение · #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 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

-----
Лучше быть одиноким, но свободным © $me


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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 10 марта 2014 15:37 · Поправил: ARCHANGEL
· Личное сообщение · #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...


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

8dfa_10.03.2014_EXELAB.rU.tgz - automata

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

--> Link <--




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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

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

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

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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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


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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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

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





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 11 марта 2014 16:18 · Поправил: ARCHANGEL
· Личное сообщение · #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()


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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

--> orig Link <--
•Export data --> pic Link <--



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

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

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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

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

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

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



564a_12.03.2014_EXELAB.rU.tgz - QProcDumper




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

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

nm -uC your_supa_dupa_app
иле
objdump -T your_dupa_supa_app




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 13 марта 2014 11:39 · Поправил: reversecode
· Личное сообщение · #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




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

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




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

"Анпакать крутые защиты" - вм никто не отменял-то.

-----
Stuck to the plan, always think that we would stand up, never ran.



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Основной форум —› Реверсинг под Linux
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати