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

 eXeL@B —› Протекторы —› Obsidium
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 22 декабря 2008 02:59 · Поправил: mak
· Личное сообщение · #1

Подскажите как импорт востановить. Честно скажу , уже поздно и устал сам ковырять. Предлогаю саму прогу , распакованный с косяками файл , и таблицу импорта для Импрека на всякий. Прога почти запускается , точнее запускается но потом доктор вин приходит и все. Либы какие знаю но какие функции нет. Завтра утром надеюсь будет много ответов)

www.onlinedisk.ru/file/54606/

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 22 декабря 2008 08:11 · Поправил: Djeck
· Личное сообщение · #2

Mak я тут быстренько глянул, вроде дамп у меня пашет, пробуй :
rapidshare.com/files/175670572/dump1_.rar.html
www.megaupload.com/?d=0JAN7O6S
www.filefactory.com/file/aadhf8/n/dump1_rar

Теперь немного объясню где ты накосячил. Вся беда в том, что ты:
1) Не поксорил (не занопил) API обсида
2) Не восстановил часть импорта.
3) Не восстановил шифрованные куски


По первому пункту. В программе частенько проверяется регистрация, даже там где в этом отсутствует логика При восстановление импорта (я думаю ты его скриптом восстанавливал) надо было прочекать такое место:

CMP DWORD PTR DS:[EDI+4],0 <----- если 0, то Апи обсида
JE 0152A9F9

ESI,DWORD PTR DS:[EDI+14]
LEA ESI,DWORD PTR DS:[ESI+EAX*8]
MOVZX EAX,WORD PTR DS:[ESI]
TEST EAX,4
JNZ 0152A366 <----- Первый переходник

TEST EAX,1
JNZ SHORT 0152A33D <----- Второй переходник

TEST EAX,80
JNZ 0152AE39 <----- Третий переходник

TEST EAX,40
JNZ 0152A40E <----- Четвёртый переходник

MOVZX EAX,WORD PTR DS:[ESI+2]

и если после первой проверки вместо FF у нас 00, то такие апи надо ксорить, но в данной программе эти вызовы лучше просто нопить. Если сам попробуешь поймёшь почему.

Пример:

00422FCA API Obsidium (Nop)
004238A3 API Obsidium (Nop)


По второму пункту. Опять же если ты восстанавливал импорт скриптом в месте, которое я указал выше надо было внимательнее просмотреть переходник под номером 2 :

TEST EAX,1
JNZ SHORT 0152A33D <----- Второй переходник


Именно это место ты и просрал и не восстановил внушительный кусок импорта, а точнее апи для работы с инетом:

Code:
  1. 00440E26    FF25 80E64500   JMP DWORD PTR DS:[45E680]      ws2_32.inet_ntoa
  2. 00440E2C    FF25 84E64500   JMP DWORD PTR DS:[45E684]      ws2_32.gethostbyname"
  3. 00440E32    FF25 88E64500   JMP DWORD PTR DS:[45E688]      ws2_32.WSAStartup
  4. 00440E38    FF25 8CE64500   JMP DWORD PTR DS:[45E68C]      ws2_32.WSACleanup
  5. 00440E3E    FF25 90E64500   JMP DWORD PTR DS:[45E690]      ws2_32.WSASetLastError
  6. 00440E44    FF25 94E64500   JMP DWORD PTR DS:[45E694]      ws2_32.WSAGetLastError
  7. 00440E4A    FF25 98E64500   JMP DWORD PTR DS:[45E698]      ws2_32.ntohs
  8. 00440E50    FF25 9CE64500   JMP DWORD PTR DS:[45E69C]      ws2_32.accept
  9. 00440E56    FF25 A0E64500   JMP DWORD PTR DS:[45E6A0]       ws2_32.inet_addr
  10. 00440E5C    FF25 A4E64500   JMP DWORD PTR DS:[45E6A4]      ws2_32.bind
  11. 00440E62    FF25 A8E64500   JMP DWORD PTR DS:[45E6A8]      ws2_32.htons
  12. 00440E68    FF25 ACE64500   JMP DWORD PTR DS:[45E6AC]     ws2_32.htonl
  13. 00440E6E    FF25 B0E64500   JMP DWORD PTR DS:[45E6B0]     ws2_32.closesocket
  14. 00440E74    FF25 B4E64500   JMP DWORD PTR DS:[45E6B4]     WSOCK32.recv
  15. 00440E7A    FF25 B8E64500   JMP DWORD PTR DS:[45E6B8]     ws2_32.send
  16. 00440E80    FF25 BCE64500   JMP DWORD PTR DS:[45E6BC]     ws2_32.WSAAsyncSelect
  17. 00440E86    FF25 C0E64500   JMP DWORD PTR DS:[45E6C0]     ws2_32.ioctlsocket
  18. 00440E8C    FF25 70E64500   JMP DWORD PTR DS:[45E670]     ws2_32.socket
  19. 00440E92    FF25 74E64500   JMP DWORD PTR DS:[45E674]      WSOCK32.recvfrom
  20. 00440E98    FF25 78E64500   JMP DWORD PTR DS:[45E678]      ws2_32.sendto
  21. 00440E9E    FF25 7CE64500   JMP DWORD PTR DS:[45E67C]      ws2_32.connect


А как ты просмотрел эту апи я не знаю :
0043014E FF15 54E64500 CALL DWORD PTR DS:[45E654] WINMM.sndPlaySoundA

Третий пункт. В программе существует множество кусков шифрованных без ключа. При беглом осмотре крипт по ключу я не нашёл:

Пример шифрованного куска:

00422FCA CALL DWORD PTR DS:[45E070] Апи обсида (проверка зареганости. AL=1 если купили программу)
00422FD0 TEST AL,AL
00422FD2 POP EDI
00422FD3 JNZ 00423059
00422FD9 PUSH 5B
00422FDE CALL DWORD PTR DS:[4A60EB] <--------------раскриптовываем

00422FE4 IN EAX,0AA
00422FE6 JL SHORT 00422F82
00422FE8 MOV EAX,773D6000
00422FED MOV ESP,BA00AFB0
00422FF2 POP SS
----------------------------вырезано---------------------------------- -------------------------
0042303F PUSH 5B
00423044 CALL DWORD PTR DS:[4A60EF] <--------------закриптовываем

0042304A OR DWORD PTR SS:[EBP-4],FFFFFFFF
0042304E LEA ECX,DWORD PTR SS:[EBP-45C]

Если вместо:
00422FD9 PUSH 5B
00422FDE CALL DWORD PTR DS:[4A60EB]


в программе увидишь, например:

00422FD9 PUSH 5B
00422FDE CALL 4A60EB


то это крипт с ключом

Отладчик окошек у тебя всплывал, как раз именно в этом месте, т.к. ты в импреке отрезал апи обсида, и вызов происходил в нули.
Вроде всё!



Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 22 декабря 2008 12:46 · Поправил: Djeck
· Личное сообщение · #3

ARCHANGEL пишет:
ну, может, всё так и есть, как ты сказал, но ведь и по его методу работает!

ARCHANGEL боюсь спросить, а что он собственно сказал? Что апи прота эмулируют? Ну попробуйте проэмулировать, в чём проблема? Он же даже эту программу в глаза не видел, а даёт советы, что лучше делать

Хм... Я даже не поленился поискать:
Jupiter пишет:
кста, в проге есть ссылки на функи а-ля Protected API:
005B9150: dd 006BE520
005B9154: dd 006BC482
005B9158: dd 006BE331

эти функи вызываются из разных частей проги, в т.ч. при совершении "не демо" действий.
кто-нить их копал?
где 006BC482, например:
006BC482: xor eax,eax
006BC484: retn

pavka пишет:
это они и есть ;) еах я поксорил..

Ну ты же очень умный неужели ты не понял, что я о том же?




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 22 декабря 2008 14:18
· Личное сообщение · #4

Война тут целая идет

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


А вот кстати , там помойму был еще 5 ый переходник
TEST EAX,10
JNZ xxxxxxxxxx


Либо у меня не тот скрипт , либо он у меня не работает не востановить апи не пройти проверки он не смог. Он сразу говорил вероятно это версия другая.

Djeck Thank You very match работает дамп спасибо. Что за скрипт о котором ты говоришь ?

А вот эта фраза мне особо понравилась
Djeck пишет:
Теперь к главному mak


pavka да ладно те , главное работает и все , а на остальное пофиг Если даже и не так выразился это означает лишь что личность творческая. А ночью и я бы написал тупо ...хотя я тупо и написал

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 22 декабря 2008 16:14 · Поправил: Модератор
· Личное сообщение · #5

mak пишет:
Что за скрипт о котором ты говоришь ?

Ну ты же не вручную импорт восстанавливал? Я думал скриптик накатал.
mak ты наверное топик не закрывай, а то их по обсидиуму итак уже целый ворох, а судя по частоте появляющихся запакованных им программ, это не последний вопрос реверсов по этому проту.
Bronco смысл твоего поста мне тоже не очень понятна. Ты тоже где-то суть увидел? Помойму истинная суть- это рабочий дамп, а какими способами делать его рабочим пусть каждый решает сам.



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

Создано: 22 декабря 2008 16:43 · Поправил: progopis
· Личное сообщение · #6

pavka
Вопрос к тебе как к знатоку: что ты делаешь с закриптованными кусками? Я лично ставлю ret в крипторе. Существует флаг закриптованности (прямо в push'е возводится старший бит операнда) - декриптор первый раз расшифрует код, второй раз увидит флаг и успокоится (или я что-то путаю?) - после того как декриптор отработает полностью можно нопить все вызовы - можно даже всю эту работу автоматизировать скриптом или патчем в декрипторе. Вот только не опасно ли делать такой дамп (ну типа данные прога портит во время работы)? Djeck предлагал эти куски копи-пастить после раскриптовки - ты назвал его способ смешным (или как-то так).

Djeck
примером выше ты утверждаешь что раскриптовка происходит только если программа зарегистрирована. Ты в этом уверен? У меня как раз проверка происходит в закриптованном куске.



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 22 декабря 2008 18:03 · Поправил: pavka
· Личное сообщение · #7

Bronco пишет:
Наверное суть тож АскАрбительна...

Суть от меня не зависит ) А судя по количеству брани других аргументов нет!progopis пишет:
после того как декриптор отработает полностью можно нопить все вызовы - можно даже всю эту работу автоматизировать скриптом или патчем в декрипторе.

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

Нет нету . Мак нашел оеп и дал тебе полуфабрикат А судя по тому что ты в прошлый разы сам был это сделать не в состоянии то низачет




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 22 декабря 2008 18:25
· Личное сообщение · #8

progopis
+1 У обисида есть раскриптовка по ключу и без.

pavka
Не высмеивай его ошибки, а объясняй где он ошибся...

-----
Research For Food




Ранг: 196.0 (ветеран), 72thx
Активность: 0.140.02
Статус: Участник

Создано: 22 декабря 2008 18:40 · Поправил: Djeck
· Личное сообщение · #9

Ну вот видишь esp-4 без проблем, импорт я довосстанавливал и поверь мне и полный его восстановлю. Ну а чё конкретно ещё в этой проге было я написал и разобрал на примере выше. А насчёт учённого... ну не хочешь учить гуляй дальше, я думаю твои профессорские замечания здесь мало кому нужны. Людям нужен результат, который я продемонстрировал выше, а не пиздобольство, которое продемонстрировал ты. И свои посты ты ещё называешь информативными
daFix пишет:
Не высмеивай его ошибки, а объясняй где он ошибся...

Ну наконец хоть один вменяемый чел. Я за конструктивный диалог, а не за беспонтовое- ты тут не правильно сделал, а почему думай сам. Если проанализировать все посты ЭТОГО, то станет понятно, что ни разу он толком ничего не объяснил, да и хоть убей не пойму к чему он здесь придрался. Знающие люди покажите мне мои ошибки из второго поста, а то от куска не дождёшся.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 22 декабря 2008 20:49
· Личное сообщение · #10

Djeck пишет:
смысл твоего поста мне тоже не очень понятна

Ё..всё же просто.
// я даже не удивлЁн что Павыч понял.
Очень многА лишнего текста...
В качестве аргументов - дампа мало, выкладывай скрипты...
Тогда будет конструктив. Ну тимпо есть что обсуждать.

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 22 декабря 2008 21:04
· Личное сообщение · #11

Отбанил обоих на 3 дня. Ребята, вы когда-нибудь вообще успокоитесь, есть же личка/ирка/аська/мыло, реал в конце концов. И серьёзно почистил топик, убив на это до жопы времени, имейте совесть.




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

Создано: 27 декабря 2008 21:58
· Личное сообщение · #12

Распакованный файл прекрасно работает, но при онлайн игре падает,
видимо часть сетевых апи все таки не востановлена

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





Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 27 декабря 2008 22:06
· Личное сообщение · #13

Шняга то лажовая, фули там играть.
Но сли считаешь что импорт, попробуй заново восстановить:


1ffd_27.12.2008_CRACKLAB.rU.tgz - tree.txt

-----
Чтобы юзер в нэте не делал,его всё равно жалко..





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 30 декабря 2008 20:51
· Личное сообщение · #14

действительно падет , не смотрел до конца но импорт даже от бронко не помогает видимо , либо нерпавильно распознан , либо есть еще апи от обсида =) Падет при онлайн режиме и конекте .. ошибка с0000005

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 декабря 2008 23:30 · Поправил: Archer
· Личное сообщение · #15

Прогнав через 1 тулзу, я получил импорт, выложенный бронко, так что импорт в норме (считал по числу функций в каждой либе, сами функи не сравнивал). Забыл покриптованные части вставить/апи занопить/перепрыгнуть криптованные по ключу куски, видимо, ищи и разбирайся.




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 31 декабря 2008 01:58
· Личное сообщение · #16

Archer пишет:
Прогнав через 1 тулзу, я получил импорт, выложенный ....

Да хоть через две...., не с лохами же дело имеете...

-----
Чтобы юзер в нэте не делал,его всё равно жалко..



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


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