Сейчас на форуме: rmn, exp50848, _MBK_ (+9 невидимых)

 eXeL@B —› Основной форум —› Нормальный API шпийон для висты.
. 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 23 июня 2009 12:08
· Личное сообщение · #1

Нужно мне было недавно отловить с какими параметрами одна прога запускает другой процесс, поитогу выкрутился тем, что приатачился дебагером и поставил брейкпоинт на CreateProcess(). Но до того как я до этого дошел я решил посмотреть, а смогу ли я получить подобную инфу через какой-нить API spy.
Из тех что есть на скачивание на крэклабе:
1) kerberos v1.13 инжектился через раз. Получить хотя бы какой-то лог не получилось.
2) API Monitor 1.5b ловит все что угодно только не CreateProcess.
3) APISpy32 3.0 не работает вообще.
Дальше уже взял Auto Debug System - да он ловит, но не показывает более 32 символов.

Итого получается, что приходится все делать руками.

Есть ли нормальный халявный api spy для висты?

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 23 июня 2009 12:28
· Личное сообщение · #2

--> ospy<-- попробуй его

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 35.1 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 23 июня 2009 13:08
· Личное сообщение · #3

А зачем отладчик? NtQueryInformationProcess + ProcessBasicInformation далее ReadProcessMemory + PBI.PebBaseAddress ну и собственно по аналогии PEB->ProcessParameters.CommandLine.Buffer




Ранг: 104.9 (ветеран), 46thx
Активность: 0.040.02
Статус: Участник

Создано: 23 июня 2009 14:35
· Личное сообщение · #4

KaKeeware Application Monitor



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 23 июня 2009 15:03
· Личное сообщение · #5

Rouse_ пишет:
А зачем отладчик? NtQueryInformationProcess + ProcessBasicInformation далее ReadProcessMemory + PBI.PebBaseAddress ну и собственно по аналогии PEB->ProcessParameters.CommandLine.Buffer

Офигеть. И это называется не руками?
Проще бряк на CreateProcess тогда уже поставить.



Ранг: 35.1 (посетитель), 1thx
Активность: 0.010
Статус: Участник

Создано: 23 июня 2009 17:11
· Личное сообщение · #6

cppasm пишет:
Проще бряк на CreateProcess тогда уже поставить.

Проще тогда уж ProcessExplorer от Руссиновича запустить, чем ради командной строки в отладчик лезть.



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 23 июня 2009 17:55 · Поправил: Hexxx
· Личное сообщение · #7

Rouse_ пишет:
Проще тогда уж ProcessExplorer от Руссиновича запустить, чем ради командной строки в отладчик лезть.

Мне было не проще. Процесс закрывался быстрее чем я успевал нажать "properties" для процесса в Process Explorer'e

ManHunter пишет:
KaKeeware Application Monitor

Хорошая прога, тока атачиться к процессам не умеет

ClockMan пишет:
--> ospy<-- попробуй его

Эээ помоему это нечто из другой оперы.
oSpy already intercepts one such API, and is the API used by MSN Messenger, Google Talk, etc. for encrypting/decrypting HTTPS data. Another neat feature is when wanting to see how an application behaves when in a firewalled environment. Normally you would have to simulate such an environment by configuring firewalls etc., which not only is time-consuming, but might also cripple the rest of the applications you've got running
Это ж для сниферения сообщений передаваемых через wincrypt.

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 23 июня 2009 21:58 · Поправил: Coderess
· Личное сообщение · #8

А мне нравится метод от Rouse_ Это получается мини-дебаг двиг

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 23 июня 2009 23:59
· Личное сообщение · #9

Coderess пишет:
А мне нравится метод от Rouse_'а Это получается мини-дебаг двиг

И как это поможет в случае если процесс выполняется за несколько долей секунды и исчезает?

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 172.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 24 июня 2009 08:10
· Личное сообщение · #10

открыть в отладчике, бряк на CreateProcess, установить аттрибут создания CREATE_SUSPENDED и тот же метод работает

-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 24 июня 2009 09:56
· Личное сообщение · #11

процесс выполняется за несколько долей секунды и исчезает?

Установить callback через функцию PsSetCreateNotifyRoutine и затем
уже приостанавливать процесс, как сказано выше

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 июня 2009 10:18
· Личное сообщение · #12

ProTeuS, Coderess
Люди, вы ваще начало темы прочитали?

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 24 июня 2009 11:05
· Личное сообщение · #13

Hexxx
+1, народ хочет заработать бан на 1 день за флуд и оффтоп




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 24 июня 2009 12:31
· Личное сообщение · #14

вот старенький APISpy, на Seven x 64 робит, на висте тоже должен сталобыть..

ebb4_24.06.2009_CRACKLAB.rU.tgz - APIS32.rar



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 июня 2009 14:36
· Личное сообщение · #15

Ara пишет:
вот старенький APISpy

Тоже ничо, тока не может атачиться.

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 24 июня 2009 15:10
· Личное сообщение · #16

Ну так я подумал, что нет API шпиона под вашу конкретную задачу и предложил свой вариант,
я так говорю, потому что недавно сделал подобную прогу, выполняющую схожую задачу на основе
описанного метода выше.

ЗЫ: Думал, что тема в программировании

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 24 июня 2009 16:59
· Личное сообщение · #17

Ладно. Раз ничего лучше нет.

API Spy и KaKeeware Application Monitor - наше все.

-----
Реверсивная инженерия - написание кода идентичного натуральному




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

Создано: 26 июня 2009 14:28
· Личное сообщение · #18

не пробовал, но есть conus.info/gt/

-----
Shalom ebanats!




Ранг: 115.1 (ветеран), 3thx
Активность: 0.070
Статус: Участник

Создано: 26 июня 2009 14:31
· Личное сообщение · #19

для одной функции можно и свое написать




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 26 июня 2009 16:36
· Личное сообщение · #20

Hexxx пишет:
1) kerberos v1.13 инжектился через раз. Получить хотя бы какой-то лог не получилось.


автор тут и на васме просил затестить. Если ещё не пропал, то и отписался бы ему



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

Создано: 27 июня 2009 20:47
· Личное сообщение · #21

автор (black_ninja) сделал новую тулзу, вот с его слов
kerberos - Old API spy Obsolete but usefull in programs reversing

apilogger:
Support of exported and internal functions from EXE and DLL
Fucntion can be defined by:
Export name
Ordinal
Relative address
Absolute address
Can intercept functions with an unknown number of input parameters
Support nested API calls
Support input registers (General, FPU, MMX, SSE)
Support function ticks count for profiling
Plugins support for full function control

blackninja2000.narod.ru/files/apilogger_pub.zip




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 июня 2009 20:49
· Личное сообщение · #22

а сам автор выложить постеснялся?



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 27 июня 2009 21:44
· Личное сообщение · #23

sendersu пишет:
автор (black_ninja) сделал новую тулзу, вот с его словkerberos - Old API spy Obsolete but usefull in programs reversing

Я не знаю, возможно он считает нормальным то что надо руками исправлять файл настроек, вбивать базы API и угадать самому как пользоваться этой прогой (в ридми ни слова). Как по мне - это непрофессионально. Лучше уж юзать API Spy или KaKeeware Application Monitor.

-----
Реверсивная инженерия - написание кода идентичного натуральному




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

Создано: 28 июня 2009 00:16
· Личное сообщение · #24

Hexxx
видимо надо подразумевать что все доки и редми в старом керберосе
хорошая дока здесь - kerb113pub\kerb113_rus.doc
вбивать базы API можна ручками (если охота и есть время), если нет - можно из мамс32 .inc файл прогнать перлом через скрипт (kerb113pub\Tools\parseinc.pl)
также в керберосе есть тулза - imex2spy.exe - генерит базу функов на базе входного еxe или dll

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



Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 29 июня 2009 09:26 · Поправил: Rustem
· Личное сообщение · #25

Всем кому интересно: обновил API Logger до версии 1.1

Взять можно тут:
http://blackninja2000.narod.ru/files/apilogger_pub.zip

В общем, если кого-то,что-то не устраивает, могут написать свой,- профессиональный))



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

Создано: 01 июля 2009 22:06
· Личное сообщение · #26

Hi, Rustem, классная работа
спс, особенно ценно как про меня длл фильтр -а то гадят много левых длл=ок
несколько вопросов-пожеланий

а) что есть опиция SafeMode в settings.ini и RootFunc - о них ни слова в доке, а жаль (со 2ой разобрался, класная фича!, отсеивает много потрохов имхо (стоит сделать =1 по дефолту имхо), спс)
b) почемуто не ловит совсем ничего на самом простеньком VB exe (приаттачен - там мсжбокс на ивентах и усьо, сам написал ))
с) иногда останавливается и не логирует дальше - непонятно почему
д) может стоит вернуть карошую такую кнопку Log>>? (пользительно)
е) как насчет возможности сделать лог файл не полностю Access denied во время работи а скажем ReadOnly - чтоб можно било без закрития смотреть кишки? - очень желательно!
ф) интересно как автор определяет - строка ли по даному адресу или нет (ну, с z-терминейтед ясно, а если там Юникод или кирилик или даже MBCS?) - можно добавить анализ и печатать больше юзер-френдли строк?
ж) в чем причина вот таких ограничений:
ERROR: Can't set hook to user32.SetDebugErrorLevel : Function len less than 5 bytes
что за функа такая меньше 5ти байт? не имплементирована чтоли?
хотя друг подсказал - Obsolete Windows Programming Elements )))
з) опция
#ecx - log ECX register (for programs on MSVC)
просто зачетно!
как насчит логгировать не только ecx? (но и eax, ebx, etc) - imho очень пользительно (не все функи через стек аргумент берут)
к) несоответствие: в доке один формат -
@Address , params , NAME_IN_LOG ,
#Ordinal , params , NAME_IN_LOG
+RVA , params , NAME_IN_LOG

а пример в db.txt- другой -

;Examples:
;[user32.dll]
;+A1DC,RelativeFunc,4,#reg, #fpu
;!1A,OrdinalFunc,1
;@401000,AbsoluteAddrFunc,3

на сегодня достаточно
сорри, если много, но все енто сказано с одной целью - респект автору и ненавязчивие пожелания...


795b_01.07.2009_CRACKLAB.rU.tgz - Project1.exe



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

Создано: 01 июля 2009 23:23
· Личное сообщение · #27

Hexxx
Попробуй WinApiOverride32



Ранг: 74.1 (постоянный), 34thx
Активность: 0.030
Статус: Участник

Создано: 02 июля 2009 07:05 · Поправил: Rustem
· Личное сообщение · #28

sendersu Спасибо за пожелания


Насчет настроек, все описывать было в лом, и так становится понятно, если установить и запустить.
Регистры могут логироваться все, для этого есть опции:
#reg - общего назначения (eax, ecx, edx..........)
#fpu
#mmx
#xmm


#tacts - Показывает сколько тактов занимает функция, может быть полезен для профилировки функции
Формат базы гибкий, т.е не обязательно все указывать, а только те что надо

Например типа этого
@401000 MySuperPuperFunction 4 #reg
@401230 Super 2 #fpu #reg #mmx
@401230 Ultra 3

SafeMode - режим когда логируется только вход и входные параметры. Выходные параметры получить не может, т.к. вызов уже прошел, т.е. ProxyEpilog не вызывается)

RootFuncOnly - Вывод первой функции, если не надо смотреть все дерево вызов внутренних функции


Offtop:
Win32Overide смотрел,- ну и монстр, толкьо архивы исходников 5 метров, как он вообще умудряется работать)

PS посмотрел прогу на VB, при SafeMode=1 работает. Почему при нормальном не работает, надо разбираться



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

Создано: 02 июля 2009 14:25
· Личное сообщение · #29

Rustem
Во всяком случае я только им смог промониторить пару нужных библиотек



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

Создано: 03 июля 2009 21:33
· Личное сообщение · #30

Rustem
спс за ответ
как насчет д), е) (!!! пож-ста), ф) (печать Юникод строк), з) #reg - хорошо, но иногда надо 1..2..3 регистра...
планирую еще поганять логгер на дельфях и билдере


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


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