Модераторы: ZeeLax, powerfox

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> есть ли аналог ollydbg для linux? 
:(
    Опции темы
rthsobakas
Дата 5.9.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



а конкретно, нужна прога которая бы вытаскивала названия процедур и функций из динамической библиотеки. Как это  делает Олли.
PM   Вверх
nickless
Дата 5.9.2009, 16:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 18
Всего: 181



Цитата(rthsobakas @  5.9.2009,  11:45 Найти цитируемый пост)
нужна прога которая бы вытаскивала названия процедур и функций из динамической библиотеки

Код

readelf -s file.so

или
Код

objdump -T -C file.so


Последнее лучше для либ на C++ (-C делает demangling).


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
rthsobakas
Дата 5.9.2009, 20:23 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



славься линукс)) Даже париться и искать че то не надо))
PM   Вверх
rthsobakas
Дата 5.9.2009, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



nickless,  а какие там парамтры у  objdump поставить чтобы только названия ф-ий выводил?
Примерно выводит следующее
Цитата

0005f220  w   DF .text  0000009b  GLIBC_2.0   __vsscanf
0006dea0 g    DF .text  000000fb  GLIBC_2.0   free
0007c910 g    DF .text  0000014d  GLIBC_2.0   wcsstr
0007c7d0 g    DF .text  00000023  GLIBC_2.0   wcsrchr
00023bf0 g    DF .text  0000005e  GLIBC_2.0   ispunct
000674c0 g    DF .text  0000003b  GLIBC_2.0   _IO_file_seek
00159800 g    DO .bss   00000004  GLIBC_2.0   __daylight
000e3fc0 g    DF .text  00000005  GLIBC_2.2   __cyg_profile_func_exit
000dd6c0 g    DF .text  00000043  GLIBC_2.0   pthread_attr_getinheritsched
000e5470 g    DF .text  0000002d  GLIBC_2.5   __readlinkat_chk
000fe6b0 g    DF .text  00000076  GLIBC_2.1   key_decryptsession
000e3190 g    DF .text  00000095  GLIBC_PRIVATE __nss_hosts_lookup2
000cfd90 g    DF .text  00000153  GLIBC_2.0   vwarn
0007cc70  w   DF .text  0000002b  GLIBC_2.0   wcpcpy


Добавлено через 47 секунд
а нужно чтобы только названия ф-ий... Просто их много и редактировать тяжело будет.
PM   Вверх
bilbobagginz
Дата 5.9.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 28
Всего: 317



sed, cut в плавники, и вперёд.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
rthsobakas
Дата 6.9.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



bilbobagginz,  ммм это есть не очень хороший вариант. Объясню почему
 cat 1.txt | cut -d ' ' -f19 вот к примеру так
Текст такой
Цитата


Symbol table '.dynsym' contains 94 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00000000     0 FUNC    GLOBAL DEFAULT  UND d2i_X509_NAME
     2: 00000000     0 FUNC    GLOBAL DEFAULT  UND BIO_free
     3: 00000000     0 FUNC    GLOBAL DEFAULT  UND BIO_ctrl
     4: 00000000     0 FUNC    GLOBAL DEFAULT  UND __fprintf_chk@GLIBC_2.3.4 (2)
     5: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
     6: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
     7: 00000000     0 FUNC    GLOBAL DEFAULT  UND lt_dlopen
     8: 00000000     0 FUNC    GLOBAL DEFAULT  UND getenv@GLIBC_2.0 (3)
     9: 00000000     0 FUNC    GLOBAL DEFAULT  UND calloc@GLIBC_2.0 (3)
    10: 00000000     0 FUNC    GLOBAL DEFAULT  UND X509_NAME_print
    11: 00000000     0 FUNC    GLOBAL DEFAULT  UND BIO_new
    12: 00000000     0 FUNC    GLOBAL DEFAULT  UND free@GLIBC_2.0 (3)
    13: 00000000     0 FUNC    GLOBAL DEFAULT  UND fflush@GLIBC_2.0 (3)
    14: 00000000     0 OBJECT  GLOBAL DEFAULT  UND stderr@GLIBC_2.0 (3)
    15: 00000000     0 FUNC    GLOBAL DEFAULT  UND fopen@GLIBC_2.1 (4)
    16: 00000000     0 FUNC    GLOBAL DEFAULT  UND fwrite@GLIBC_2.0 (3)
    17: 00000000     0 FUNC    GLOBAL DEFAULT  UND lt_dlclose
    18: 00000000     0 FUNC    GLOBAL DEFAULT  UND malloc@GLIBC_2.0 (3)
    19: 00000000     0 FUNC    GLOBAL DEFAULT  UND fputc@GLIBC_2.0 (3)
    20: 00000000     0 FUNC    GLOBAL DEFAULT  UND BIO_s_file
    21: 00000000     0 FUNC    GLOBAL DEFAULT  UND lt_dlsym
    22: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.1.3 (5)
    23: 00000000     0 FUNC    GLOBAL DEFAULT  UND lt_dlinit
    24: 00004670   203 FUNC    GLOBAL DEFAULT   12 C_Verify
    25: 00003c50   165 FUNC    GLOBAL DEFAULT   12 C_SignFinal
    26: 000041b0   213 FUNC    GLOBAL DEFAULT   12 C_SignEncryptUpdate
    27: 000030e0   179 FUNC    GLOBAL DEFAULT   12 C_DigestInit
    28: 00007db0   111 FUNC    GLOBAL DEFAULT   12 C_UnloadModule
    29: 00005ea0   287 FUNC    GLOBAL DEFAULT   12 C_GetMechanismInfo
    30: 00004450   213 FUNC    GLOBAL DEFAULT   12 C_VerifyRecover
    31: 00002c70   233 FUNC    GLOBAL DEFAULT   12 C_VerifyRecoverInit
    32: 00005160   154 FUNC    GLOBAL DEFAULT   12 C_InitPIN
    33: 00005b70   226 FUNC    GLOBAL DEFAULT   12 C_CreateObject
    34: 00003380   109 FUNC    GLOBAL DEFAULT   12 C_FindObjectsFinal
    35: 00003540   243 FUNC    GLOBAL DEFAULT   12 C_GetObjectSize
    36: 00006220   267 FUNC    GLOBAL DEFAULT   12 C_GetSlotList
    37: 00004820   157 FUNC    GLOBAL DEFAULT   12 C_SignUpdate
    38: 00002b90   112 FUNC    GLOBAL DEFAULT   12 C_CancelFunction
    39: 000058d0   154 FUNC    GLOBAL DEFAULT   12 C_FindObjectsInit
    40: 00004a40   213 FUNC    GLOBAL DEFAULT   12 C_Digest
    41: 000067f0   139 FUNC    GLOBAL DEFAULT   12 C_Initialize
    42: 00003af0   345 FUNC    GLOBAL DEFAULT   12 C_WrapKey
    43: 00003290   230 FUNC    GLOBAL DEFAULT   12 C_EncryptInit
    44: 00003840   332 FUNC    GLOBAL DEFAULT   12 C_OpenSession
    45: 00004dc0   210 FUNC    GLOBAL DEFAULT   12 C_Encrypt
    46: 00006880   100 FUNC    GLOBAL DEFAULT   12 C_GetFunctionList
    47: 00003db0   165 FUNC    GLOBAL DEFAULT   12 C_DecryptFinal
    48: 000036f0   109 FUNC    GLOBAL DEFAULT   12 C_Logout
    49: 00002b30    92 FUNC    GLOBAL DEFAULT   12 C_WaitForSlotEvent
    50: 000033f0   333 FUNC    GLOBAL DEFAULT   12 C_FindObjects
    51: 00005fc0   218 FUNC    GLOBAL DEFAULT   12 C_GetMechanismList
    52: 00005090   200 FUNC    GLOBAL DEFAULT   12 C_SetPIN
    53: 00005970   217 FUNC    GLOBAL DEFAULT   12 C_SetAttributeValue
    54: 00004530   157 FUNC    GLOBAL DEFAULT   12 C_VerifyFinal
    55: 000040d0   213 FUNC    GLOBAL DEFAULT   12 C_DecryptVerifyUpdate
    56: 000057b0   288 FUNC    GLOBAL DEFAULT   12 C_GenerateKey
    57: 00004ea0   222 FUNC    GLOBAL DEFAULT   12 C_Login
    58: 00003990    63 FUNC    GLOBAL DEFAULT   12 C_Finalize
    59: 00003760   109 FUNC    GLOBAL DEFAULT   12 C_CloseAllSessions
    60: 000060a0   190 FUNC    GLOBAL DEFAULT   12 C_GetTokenInfo
    61: 00003030   174 FUNC    GLOBAL DEFAULT   12 C_DigestKey
    62: 00002f40   233 FUNC    GLOBAL DEFAULT   12 C_SignInit
    63: 000031a0   233 FUNC    GLOBAL DEFAULT   12 C_DecryptInit
    64: 00005de0   190 FUNC    GLOBAL DEFAULT   12 C_GetSessionInfo
    65: 00003640   171 FUNC    GLOBAL DEFAULT   12 C_DestroyObject
    66: 00003d00   165 FUNC    GLOBAL DEFAULT   12 C_DigestFinal
    67: 000037d0   109 FUNC    GLOBAL DEFAULT   12 C_CloseSession
    68: 00005490   397 FUNC    GLOBAL DEFAULT   12 C_UnwrapKey
    69: 00004f80   262 FUNC    GLOBAL DEFAULT   12 C_SetOperationState
    70: 00005c60   370 FUNC    GLOBAL DEFAULT   12 C_GetAttributeValue
    71: 00006330    95 FUNC    GLOBAL DEFAULT   12 C_GetInfo
    72: 00003e60   165 FUNC    GLOBAL DEFAULT   12 C_EncryptFinal
    73: 000048c0   213 FUNC    GLOBAL DEFAULT   12 C_Sign
    74: 00002d60   233 FUNC    GLOBAL DEFAULT   12 C_VerifyInit
    75: 000049a0   157 FUNC    GLOBAL DEFAULT   12 C_DigestUpdate
    76: 00007e20   152 FUNC    GLOBAL DEFAULT   12 C_LoadModule
    77: 00005330   351 FUNC    GLOBAL DEFAULT   12 C_DeriveKey
    78: 00005a50   278 FUNC    GLOBAL DEFAULT   12 C_CopyObject
    79: 00004ce0   213 FUNC    GLOBAL DEFAULT   12 C_EncryptUpdate
    80: 00003a40   163 FUNC    GLOBAL DEFAULT   12 C_GenerateRandom
    81: 00005620   392 FUNC    GLOBAL DEFAULT   12 C_GenerateKeyPair
    82: 000045d0   157 FUNC    GLOBAL DEFAULT   12 C_VerifyUpdate
    83: 00004740   213 FUNC    GLOBAL DEFAULT   12 C_SignRecover
    84: 00006160   190 FUNC    GLOBAL DEFAULT   12 C_GetSlotInfo
    85: 00004290   213 FUNC    GLOBAL DEFAULT   12 C_DecryptDigestUpdate
    86: 00005200   188 FUNC    GLOBAL DEFAULT   12 C_InitToken
    87: 00002c00   112 FUNC    GLOBAL DEFAULT   12 C_GetFunctionStatus
    88: 00003f10   162 FUNC    GLOBAL DEFAULT   12 C_GetOperationState
    89: 00004030   157 FUNC    GLOBAL DEFAULT   12 C_SeedRandom
    90: 00002e50   233 FUNC    GLOBAL DEFAULT   12 C_SignRecoverInit
    91: 00004370   213 FUNC    GLOBAL DEFAULT   12 C_DigestEncryptUpdate
    92: 00004b20   213 FUNC    GLOBAL DEFAULT   12 C_DecryptUpdate
    93: 00004c00   213 FUNC    GLOBAL DEFAULT   12 C_Decrypt

А в результате получим.
Цитата




UND









UND
UND
UND
UND
(3)
UND
UND
UND
UND
UND
UND
UND
DEFAULT
UND
C_Verify
C_SignFinal
C_SignEncryptUpdate
C_DigestInit
C_UnloadModule
C_GetMechanismInfo
C_VerifyRecover
C_VerifyRecoverInit
C_InitPIN
C_CreateObject
C_FindObjectsFinal
C_GetObjectSize
C_GetSlotList
C_SignUpdate
C_CancelFunction
C_FindObjectsInit
C_Digest
C_Initialize
C_WrapKey
C_EncryptInit
C_OpenSession
C_Encrypt
C_GetFunctionList
C_DecryptFinal
C_Logout
12
C_FindObjects
C_GetMechanismList
C_SetPIN
C_SetAttributeValue
C_VerifyFinal
C_DecryptVerifyUpdate
C_GenerateKey
C_Login
12
C_CloseAllSessions
C_GetTokenInfo
C_DigestKey
C_SignInit
C_DecryptInit
C_GetSessionInfo
C_DestroyObject
C_DigestFinal
C_CloseSession
C_UnwrapKey
C_SetOperationState
C_GetAttributeValue
12
C_EncryptFinal
C_Sign
C_VerifyInit
C_DigestUpdate
C_LoadModule
C_DeriveKey
C_CopyObject
C_EncryptUpdate
C_GenerateRandom
C_GenerateKeyPair
C_VerifyUpdate
C_SignRecover
C_GetSlotInfo
C_DecryptDigestUpdate
C_InitToken
C_GetFunctionStatus
C_GetOperationState
C_SeedRandom
C_SignRecoverInit
C_DigestEncryptUpdate
C_DecryptUpdate
C_Decrypt


То есть потери! Поэтому я и спросил
Цитата

nickless,  а какие там парамтры у  objdump поставить чтобы только названия ф-ий выводил?

то есть в ней самое непосредственно.
PM   Вверх
Бонифаций
Дата 6.9.2009, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



readelf -s имяфайла.so  | awk '{print $8}'



--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
MAKCim
Дата 6.9.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 3
Всего: 207



rthsobakas
написать самому не сложно
/usr/include/elf.h


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
rthsobakas
Дата 6.9.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



MAKCim, эээ. Не понял.
Бонифаций, нормально.
PM   Вверх
MAKCim
Дата 6.9.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 3
Всего: 207



Цитата(rthsobakas @  6.9.2009,  10:13 Найти цитируемый пост)
MAKCim, эээ. Не понял.

найти таблицу экспортируемых символов парсингом elf файла
получится кросслатфрменное решение


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
rthsobakas
Дата 6.9.2009, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



Бонифаций,  а почему  после print курсор перехдит на след строку? Нельзя ли его оставить на этой же. Причем \r не помогает.

Добавлено через 1 минуту и 54 секунды
MAKCim, я хз как это сделать  smile 
PM   Вверх
bilbobagginz
Дата 6.9.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 28
Всего: 317



rthsobakas, я советовал использовать sed, а потом cut.
вы использовали cat, а потом cut.

cat output | sed -e 's/[[:space:]]\ */:/g' | cut -d: -f<зависит от проги, вывод к-рой будет использоваться>



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
rthsobakas
Дата 6.9.2009, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



bilbobagginz,  да ладно...
readelf -s имяфайла.so  | awk '{print $8}' проще.
Просто я понять не могу как сделать чтобы print  не переносил на новую строку.
PM   Вверх
Бонифаций
Дата 6.9.2009, 13:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



readelf -s имяфайла.so  | awk '{printf  "%s\t", $8}' 


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
rthsobakas
Дата 6.9.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: -1
Всего: -1



Бонифаций,  ага разобрался. 
Или просто можно так
readelf -s имяфайла.so  | awk '{print  "123", $8,"123","\n"}' 
То есть просто надо через запятую.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
pythonwin

В этом форуме предпочтительны вопросы на следующие темы:

  • Конкретные вопросы о конкретном ПО. В таких вопросах желательно привести точные данные о программе: версия программы, версия ОС, версия ядра, и проблему в форме: сделал Х, хотел получить Y, а получил Z.
  • Неконкретные вопросы о выборе ПО
  • Обзоры - как дополнение в ветку Обзоры


  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема »


 




[ Время генерации скрипта: 0.1091 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.