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

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

 eXeL@B —› Крэки, обсуждения —› API, HELP ME.
Посл.ответ Сообщение


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

Создано: 12 декабря 2004 12:26 New!
Цитата · Личное сообщение · #1

Здраствуйте... значит сел я искать апи,научился находить кёрнел, потом таблицу экспорта и функции по хэшу... ии теперь столкнулся с маааленькой проблемкой, а где взять хэши нужных функций...
Может прога есть какая-то... А то ну никак немогу найти хэш нужной функции.
Заранее спасибо...


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

Создано: 12 декабря 2004 12:46 New!
Цитата · Личное сообщение · #2

ты о чём ? =) хеш имени ? дык мало ли как его посчитать можно...

Ранг: 145.8 (ветеран)
Статус: Участник
www.int3.net

Создано: 12 декабря 2004 12:47 New!
Цитата · Личное сообщение · #3

[00:43] <rC> меня мама научила крэкать кастрюлю дайте мне хэх повареной книги
[00:43] <rC> *хэш

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

Создано: 12 декабря 2004 12:51 New!
Цитата · Личное сообщение · #4

Вот кусок немоего кода:
.if eax != 0 ;eax == kernel base
push ebp
mov esi,[eax+3Ch]
mov esi,[eax+esi+78h]
add esi,eax
add esi,18h
xchg eax,ebx ;ebx == kernel base
lodsd ;Num of Name Pointers
push eax
lodsd ;Address Table RVA
push eax
lodsd ;Name Pointers RVA
push eax
add eax,ebx
push eax ;Index
lodsd ;Ordinal Table RVA
push eax
mov ebp,esp
mov ecx,[ebp+4*4]
xor edx,edx
@1: mov esi,[ebp+4] ;Index
mov esi,[esi]
add esi,ebx
xor eax,eax
push eax
@@: ror eax,7
xor [esp],eax
lodsb
test al,al
jnz @B
pop eax
lea edi,HashTable
cmp eax,dword ptr [edi]
je @F
add dword ptr [ebp+4],4
inc edx
loop @1
jmp @2
@@: shl edx,1
mov ecx,[ebp] ;OrdinalTableRVA
add ecx,ebx
add ecx,edx
mov ecx,[ecx]
and ecx,0FFFFh
mov edx,[ebp+4*3] ;AddressTableRVA
add edx,ebx
shl ecx,2
add edx,ecx
mov edx,[edx]
add edx,ebx

xor esi,esi
xchg [esi],esi
pop ebp
.else
@2: invoke MessageBox,0,0,0,0
.endif
Всё тестилось на хэше CloseHandle
HashTable label byte
CloseHandle_ dd 0F867A91Eh

А как получит хэш например
NtCreateProcess
NtTerminateProcess
NtQueryInformationProcess
и остальных?


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

Создано: 12 декабря 2004 13:12 New!
Цитата · Личное сообщение · #5

Короче, мне надо отследить, хучит ли ктонейбудь api ли нет! Мне надо антихук. Ну, кто спец(надо ринг3)?

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

Создано: 12 декабря 2004 17:12 New!
Цитата · Личное сообщение · #6

Mario555
Извини конечтно за ламерский вопрос, но я имел в виду как получить из строки "CloseHandle" - 0F867A91Eh????
ну для поиска апи не по имени а по её хэшу.
Или это получить нельзя а есть где то таблица какой апи соответствует какой хэш? просто незнаю этого и прошу помощи, а то хотел бы сделать нахождение всех апи не по имени а по хэшу, и не могу найти или прогу или файл который бы мне помогли в этом. Ну типа что бы я им на входе дал строку типа "MessageBox" а они мне её хэш для нахождения этой функци в моей проге.... или всё происходит совсем не так?


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

Создано: 12 декабря 2004 17:56 New!
Цитата · Личное сообщение · #7

GREEN ANGEL
хе, я просто вообще не понимаю, о чём этот топик =)
В некоторых протекторах такой вот тип замута с IT - в ней хранятся не имена апи, а их хеши, которые протектор посчитал по своему алгоритму (таких алгоритмов ессно бесконечно много ;) ). Таким образом для поиска данных апи (тех которые в IT проги) протектор будет проверять все апи либы - тоесть считать от их имён хеши (по ессно тому же алгоритму) и сравнивать с находящимися в IT - когда совпало - апи найдена и её адрес пишется в iat...
А про что вы тут говорите - хз ;)

GREEN ANGEL пишет:
то хотел бы сделать нахождение всех апи не по имени а по хэшу

ну вот возьми какую-нить функцию хэша, создай используя её таблицу хэшей имён... ну и потом ищи апи как я выше написал.

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

Создано: 12 декабря 2004 18:05 New!
Цитата · Личное сообщение · #8

Mario555
видно ты меня не понял...
вот тот кусок кода что я давл ищет в таблице экспорта число 0F867A91Eh и после этого высчитует адрес функции...
если подставить хэш например от функции WriteFile 0F67B91BAh, то он находит адресс WriteFile ....
а как мне узнать по какому хэшу искать TerminateProcess и ост. функции? как узнать их хэш?


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

Создано: 12 декабря 2004 19:12 · Поправил: Mario555 New!
Цитата · Личное сообщение · #9

GREEN ANGEL пишет:
вот тот кусок кода что я давл ищет в таблице экспорта число 0F867A91Eh

лол
он не ищёт в таблице экспорта это число, ибо его там нет и не должно быть ;)
Приведённый тобой код считает хэши по функции
GREEN ANGEL пишет:
@@: ror eax,7
xor [esp],eax
lodsb
test al,al
jnz @B

от всех имён апи либы. Вот число 0F867A91Eh как раз и будет хэш от CloseHandle. Для TerminateProcess по твоей функции получится 25849772h...
Но такие хэши соответствуют ТОЛЬКО данному куску кода... заменим например ror eax,7 на ror eax,8 - и всё, все хэши будут другими... поэтому мне и непонятен смысл данного топика и вопрос:
Bit-hack пишет:
а где взять хэши нужных функций...


ЗЫ а кста кусок кода откуда взят ? из виря ? просто странно как-то выглядит
GREEN ANGEL пишет:
xor esi,esi
xchg [esi],esi

тоесть как только нашли адрес апи - сразу намеренно делаем ошибку...


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

Создано: 13 декабря 2004 02:09 New!
Цитата · Личное сообщение · #10

Mario555, короче, цель этого топа - надо определить, хучит ктонейбудь api или нет, если хучит отрубить хук. Есть идеи?


Ранг: 260.3 (наставник)
Статус: Участник
PPC-PROTECT author

Создано: 13 декабря 2004 03:16 New!
Цитата · Личное сообщение · #11

Bit-hack хешь тут ваще не причем... ну проверяй первый байт апи на CCh...


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

Создано: 13 декабря 2004 03:27 New!
Цитата · Личное сообщение · #12

Bit-hack
ну и при чём здесь хэши и определение адресов апи с их использованием ?
походу rC был прав с хэшем поваренной книги =)


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

Создано: 13 декабря 2004 03:31 New!
Цитата · Личное сообщение · #13

Mario555, блин, вопрос был придуман не мной, я объяснил, надо сделать антихук. Есть предложения по этому?

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

Создано: 13 декабря 2004 04:27 New!
Цитата · Личное сообщение · #14

Bit-hack
Что за "идея фикс" по поводу антихуков ;)))
Грамотно поставленный хук ты не снимешь - это судя по твоим знаниям в этой области.


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

Создано: 13 декабря 2004 04:31 New!
Цитата · Личное сообщение · #15

Asterix пишет:
ты не снимешь

Ага не снимешь, снимешь. Asterix, я знаю, что ты в этой части не плохл разбираешься, мож скажешь, покажешь как снять хук. Просто очень надо, как ты видешь - это таск мэнэджер и нехота, чтобы от него легко было спрятаться. Мы уж подумываем драйвер писать.

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

Создано: 13 декабря 2004 05:39 New!
Цитата · Личное сообщение · #16

Bit-hack
Ты сначала разберись какие виды хуков бывают, потом поймёшь что нужно делать чтоб снять.
Рихтер - 4ever ;)

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

Создано: 13 декабря 2004 14:35 New!
Цитата · Личное сообщение · #17

Mario555
Ну это не с виря(но может в каком-то такое и есть) а со статьи на васме по поиску апи...
Asterix
Грамотно поставленный хук ты не снимешь

Первый раз слышу, то есть по твоему надо нечего не делать знаю что ты всё равно ничего сделать не сможеш?
Ну это смотря ещё на каком кольце хук, но если война на третьем то можно и не снимать а вызвать в обход и всё....
вот я хочу научиться находить апи по хэшу для данного кода...
но чувствую что быстрее по cr32 научиться по тутору...
Mario555
Для TerminateProcess по твоей функции получится 25849772h...

Скажи плиз по какой формуле или алгоритму ты это посчитал?

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

Создано: 13 декабря 2004 15:34 New!
Цитата · Личное сообщение · #18

> Первый раз слышу, то есть по твоему надо нечего не делать знаю что ты всё равно ничего сделать не сможеш?

Я имел ввиду что автор топика не снимет, т.к. задает странные вопросы, напрямую не относящиеся к теме снятия хуков. Ну нафига здесь какие-то хэши? Хэши обычно используют тогда когда пытаются скрыть имена API и соответсвенно процедуру их обрабатывающую. А что до снятия, то нужно обсуждать какой-то конкретный вид хука, т.к. их бывает как минимум несколько. Естественно хуки поставленные в ring-0 не снимаются из ring-3.

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

Создано: 13 декабря 2004 16:09 New!
Цитата · Личное сообщение · #19

Asterix пишет:
Естественно хуки поставленные в ring-0 не снимаются из ring-3.

ну это вроде бы всем должно быть понятно
Asterix пишет:
Ну нафига здесь какие-то хэши?

для уменьшения места используемого прогой и защитой от кое каких хуков.
 eXeL@B —› Крэки, обсуждения —› API, HELP ME.

Видеокурс ВЗЛОМ