Сейчас на форуме: YDS, _MBK_, user99 (+11 невидимых)

 eXeL@B —› Основной форум —› Как определить такую функцию?
Посл.ответ Сообщение


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

Создано: 07 февраля 2006 21:56 · Поправил: Viktoro
· Личное сообщение · #1

вобщем такая проблема, распаковываю вручную файл, и т.к. ImpREC не восстановил сам все функции приходиться это делать вручную... Наткнулся на такую функцию:


0038EB41 A1 94F13B00 MOV EAX,DWORD PTR DS:[3BF194]
0038EB46 C3 RETN


Посоветуйте как определить что это за функция.

P.S. и ещё мне интересно каким методом вы отличаете правильные функции от подделок, если нет явного вызова CALL EDX(каким методом)...

Заранее спасибо за содержательный ответ...

-----
Nothing just happens. You choose it to happen.





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 07 февраля 2006 22:33
· Личное сообщение · #2

Я такие функции недавно в какой то проге видел с импортом перемешаные. Это левые вызовы, удаляй их из импрека. По крайней мере у меня они за ресурсы, что ли овечали, не помню уже. Но не АПИ - это точно.

-----
Yann Tiersen best and do not fuck





Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 07 февраля 2006 23:20
· Личное сообщение · #3

а что у нас в [3BF194]? Это может быть GetVersion, GetCommandLine, GetCurrentProcessId, и т.д.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 08 февраля 2006 06:09
· Личное сообщение · #4

DrGolova, извиняюсь. Забыл про старые версии ASPRа. В новых я такого не видел. Т.е. эмули есть, но не такие.

-----
Yann Tiersen best and do not fuck





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 февраля 2006 13:56
· Личное сообщение · #5

Не забывайте, что и арма творит такие же чудеса Очень похоже именно н а неё

-----
Недостаточно только получить знания:надо найти им приложение





Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 февраля 2006 14:15
· Личное сообщение · #6

По адресам очень-очень похоже на армадилу. Но по одной строке ничё низзя говорить с уверенностью. Если ж арма, читай мою статью про снятие армы с библиотеки, точнее про восстановление импорта. Вероятно, что не все такие украденные апи будут восстановлены, столкнулся с таким в новой версии Visual Assist'a. И ждём разъяснений о протекторе!!

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 08 февраля 2006 14:27
· Личное сообщение · #7

Rascal пишет:
По адресам очень-очень похоже на армадилу

Адреса - специфичны для каждой системы, это ни о чём не говорит.
И вообще Viktoro - что там находится, по адресу 3BF194, может это вообще пустышка ?

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





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

Создано: 08 февраля 2006 15:48
· Личное сообщение · #8

протектор действительно Armadillo...
а вот что по этому адресу:

HEX dump:
003BF194 E3 04 00 00 48 92 80 7C у..HТА|
003BF19C 99 FF E9 43 00 00 00 00 Щ щC....
003BF1A4 01 00 00 00 00 00 00 00 .......

ASM code:
003BF194 /E3 04 JECXZ SHORT 003BF19A
003BF196 |0000 ADD BYTE PTR DS:[EAX],AL
003BF198 |48 DEC EAX
003BF199 |92 XCHG EAX,EDX
003BF19A \807C99 FF E9 CMP BYTE PTR DS:[ECX+EBX*4-1],0E9
003BF19F 43 INC EBX
003BF1A0 0000 ADD BYTE PTR DS:[EAX],AL
003BF1A2 0000 ADD BYTE PTR DS:[EAX],AL
003BF1A4 0100 ADD DWORD PTR DS:[EAX],EAX
003BF1A6 0000 ADD BYTE PTR DS:[EAX],AL
~~~~~~~~~~~~~~~~~~~~~~~~~~~
003BF4CE 40 INC EAX
003BF4CF 0000 ADD BYTE PTR DS:[EAX],AL
003BF4D1 0038 ADD BYTE PTR DS:[EAX],BH
003BF4D3 F0:B4 78 LOCK MOV AH,78 ; LOCK prefix is not allowed
003BF4D6 1200 ADC AL,BYTE PTR DS:[EAX]
003BF4D8 0000 ADD BYTE PTR DS:[EAX],AL
003BF4DA 0000 ADD BYTE PTR DS:[EAX],AL
003BF4DC 0000 ADD BYTE PTR DS:[EAX],AL
003BF4DE 0000 ADD BYTE PTR DS:[EAX],AL
003BF4E0 E8 3D3D0000 CALL 003C3222
003BF4E5 0000 ADD BYTE PTR DS:[EAX],AL
003BF4E7 0050 2D ADD BYTE PTR DS:[EAX+2D],DL
003BF4EA C2 0060 RETN 6000



-----
Nothing just happens. You choose it to happen.




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

Создано: 08 февраля 2006 17:21
· Личное сообщение · #9

GetCurrentProcessId...




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

Создано: 08 февраля 2006 18:06
· Личное сообщение · #10

MoonShiner пишет:
GetCurrentProcessId...


почему ты так решил если не секрет? у меня ещё пара таких функций, нужно-то и их определить...

-----
Nothing just happens. You choose it to happen.





Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 08 февраля 2006 18:28 · Поправил: DrGolova
· Личное сообщение · #11

> почему ты так решил если не секрет

По возвращаемому значанию естесно. 0x04E3 слишком мало чтобы быть указателем - соответсно GetCommandLine () отпадает, GetCurrentProcess() всегда возвращает -1, так что тоже отпадает, у GetVersion() старщий бит должен быть выставлен, если это WinNT, LockResource()/FreeResource() это быть не может потому что эти функции принимают 1 параметр, а тут функция без параметров (ret в конце), ну и так далее.




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 08 февраля 2006 20:23 · Поправил: Rascal
· Личное сообщение · #12

Smon пишет:
Адреса - специфичны для каждой системы, это ни о чём не говорит.

Это аллоченые протом адреса, так вот у армы почему-то попадают адреса в пределах 003xxxxx

Viktoro пишет:
у меня ещё пара таких функций, нужно-то и их определить...

Быстрее будет не дать проту их загубить, чем раскапывать, я уже один раз так попробовал, больше чё-то неохота. И подлянок таких может быть больше, на чём тоже уже обжигался.DrGolova пишет:
а тут функция без параметров (ret в конце), ну и так далее.


DrGolova пишет:
а тут функция без параметров (ret в конце), ну и так далее.

В эти эмуляторы ведут по-моему ещё прыги, то есть не факт, что параметров нету, это тоже сталкивался. То есть в таблице импорта прыг поправляется на call ARMA_SECTION -> call ALLOCED_MEMORY
У меня было так, но такое видел всего пару раз, бывает что и прямо на запоренную апи, но нельзя утверждать в таком случае, что параметров нету.

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

-----
Недостаточно только получить знания:надо найти им приложение



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


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