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

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

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

Создано: 08 ноября 2008 16:24 · Поправил: Модератор
· Личное сообщение · #1

Сегодня смотрел обсидиум на боликах.Впринципе ничё серьёзного не заметил и прогу распаковал,только осталось несколько вопросов.
В коде встречается динамическая раскриптовка вида:
004XXXXX 68 90000000 PUSH 90
004XXXXX FF15 E267C000 CALL DWORD PTR DS:[C067E2]
Это лечится бинарным копирование после расшифровки и занопливаем затем ненужных криптующих и раскриптующих call.
Ещё в коде встречается такое:
00793857 55 PUSH EBP
00793858 68 3E397900 PUSH 0079393E
0079385D 64:FF30 PUSH DWORD PTR FS:[EAX]
00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP
00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6]
---------------------------------------------------------------------- ----------
тут мусор
---------------------------------------------------------------------- ----------
jmp на нормальный код

Весь этот мусор отрабатывает в секции протектора.Я никак чё-то не додумаюсь как эту хрень восстанавливать.С этой хернёй я боролся так: просто прилепил к дампу две секции протектора.Плюс конечно есть:не нужно востанавливать динамическую раскриптовку и прекрасно работают апи обсида.Возможно будет работать и регистрация.Не знаю не проверял.Но как-то не красиво получается,хочется обойтись без секций прота.Хотелось бы услышать кто как справляется с этим.

Далее нашёл апи обсида:
0054783C - FF25 983E9B00 JMP DWORD PTR DS:[9B3E98] ; \GetRegState
00547842 8BC0 MOV EAX,EAX
00547844 - FF25 943E9B00 JMP DWORD PTR DS:[9B3E94] ; \name
0054784A 8BC0 MOV EAX,EAX
0054784C - FF25 903E9B00 JMP DWORD PTR DS:[9B3E90] ; \trial day
00547852 8BC0 MOV EAX,EAX
00547854 - FF25 8C3E9B00 JMP DWORD PTR DS:[9B3E8C] ;
0054785A 8BC0 MOV EAX,EAX
0054785C - FF25 883E9B00 JMP DWORD PTR DS:[9B3E88] ; \CheckRegCode
Не могу понять нахера ещё одна апи.Для ключа что-ли?И как точно можно узнать что считывает каждая апи.Ну с CheckRegCode понятно:один раз считывается при проверке имени и ключа,а вот с остальными.....Трейсить эти апи в оригинале у меня не получается,слишком много исключений




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

Создано: 08 ноября 2008 16:45
· Личное сообщение · #2

О! Значит я обисид распаковывал... Но прога была без его API. Встречался с той-же хренью с динамической раскриптовкой кода. Только я не стал цеплять его секцию, просто расфифровал все куски

-----
Research For Food




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

Создано: 08 ноября 2008 16:56
· Личное сообщение · #3

daFix пишет:
с динамической раскриптовкой кода

Это не обязательно обсид был.Похожая динамическая раскриптовка на память есть и в PC Guard.Там принцип почти такой же.Хрен знает кто у кого спёрОбсид легко запалить по его интересному импорту.Я пока с таким импортом нигде не встречался.
Эти куски кода:
004XXXXX 68 90000000 PUSH 90
004XXXXX FF15 E267C000 CALL DWORD PTR DS:[C067E2]

восстановить проблем нет никаких.Как я понял push указывает на длину раскриптованного кода,а call собственно раскриптовка.Тяжелее дело обстоит вот с этим:
00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6]
Дело в том что адрес указывает в секции прота 00EXXXXX и 02XXXXXXX.Естественно если не лепить эти секции в дамп,то будет ошибка.Трейсить эту хрень тяжеловато-мусора до хера.Пока я понял что там вызываются апи обсида.Вообще у меня такое чувство что код ниже должен расшифроваться при наличии валидного ключа.Хотя возможно я и ошибаюсь



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

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

Djeck пишет:
Похожая динамическая раскриптовка на память есть и в PC Guard.Там принцип почти такой же.Хрен знает кто у кого спёр

есть и у пелока,фимы и кучи других протов Имхо если ты как юрист решишь вопросы приоритет можешь не хило деньги заработать на сутяжничестве ))))



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

Создано: 08 ноября 2008 18:56
· Личное сообщение · #5

pavka пишет:
есть и у пелока,фимы и кучи других протов Имхо если ты как юрист решишь вопросы приоритет можешь не хило деньги заработать на сутяжничестве ))))

К чему данный пост?



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

Создано: 08 ноября 2008 19:10
· Личное сообщение · #6

Djeck пишет:
К чему данный пост?

К тому что прежде чем обинять кого то в воровстве неплохо было бы понять что используются совершенно разные схемы криптования )



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

Создано: 08 ноября 2008 19:27
· Личное сообщение · #7

Djeck пишет:
Похожая динамическая раскриптовка

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




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

Создано: 08 ноября 2008 19:42
· Личное сообщение · #8

Завязывайте в очередной раз гнать друг на друга, а то опять побаню обоих.



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

Создано: 08 ноября 2008 19:49
· Личное сообщение · #9

Archer посмотри внимательно топик.Я привёл некоторый код и задал конкретные вопросы.Тут опять этот чел со своими претензиями.Ну видно же он просто придерается к словам.И так в каждом созданном мною топике.Ну сколько можно




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

Создано: 08 ноября 2008 23:09
· Личное сообщение · #10

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



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

Создано: 09 ноября 2008 00:42 · Поправил: Djeck
· Личное сообщение · #11

Bronco пишет:
Ваще то Павычу больше присуще ирония&сарказм

Стал замечать,что этот сарказм у него присущ только к определённым личностям
Bronco пишет:
Ё...некоторым надо индульгенции раздвать

Кому именно?
Всё это хорошо конечно,но мне бы желательно если бы кто подсказал каким макаром исправлять криптованные участки вида:
00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP
00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6]
В жизни не поверю что никто обсид не копал.И тем более не верю что никому такие участки не попадались



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

Создано: 09 ноября 2008 09:05
· Личное сообщение · #12

Спорить с аминистрацией безполезно ;) Правило ты начальник я дурак ни кто не отменял )
Зачем плодить безсмымленые топики об одном и том же тем более речь идет о тех же прогах
Нужна помощь в распаковке Obsidium : 18 апреля 2008 21:20:19 Djeck 131.9 (ветеран)
http://exelab.ru/f/action=vthread&forum=1&topic=11712
тем боле что совет высказаный с немалым апломбомDjeck пишет:
Это лечится бинарным копирование после расшифровки
напоменает совет шарика все отнять и поделить ))



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 09 ноября 2008 10:36
· Личное сообщение · #13

А ни у кого случаем нету такой штуки: 'Pаtch HWID Оbsidium 1.3.4.2' от Соmputer Angel ?
Интересно было бы поглядеть...

-----
.[ rE! p0w4 ].




Ранг: 20.8 (новичок), 7thx
Активность: 0.010.02
Статус: Участник

Создано: 10 ноября 2008 12:08
· Личное сообщение · #14

я импорт восстанавливал даже не лазя в сам прот, делается оч просто - модифицируются системные библы т.о., что при вызове ф-ии с определенныем параметром в еах возвращается сам адрес ф-ии
так что вся эта защита импорта просто гавно
Djeck пишет:
00547854 - FF25 8C3E9B00 JMP DWORD PTR DS:[9B3E8C] ;

cмори какие еще параметры передаются и скоко их




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

Создано: 10 ноября 2008 13:17 · Поправил: daFix
· Личное сообщение · #15

Djeck
Дай ссылку на прогу. В моём случае раскриптовка кода шла в стёке, и уже оттуда передавалось управление на раскриптованный кусок кода

int_256
Слышал подобный метод в топике про старфорс, отличная задумка.

PS: Надеюсь Djeck'а не забанили...

-----
Research For Food




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

Создано: 10 ноября 2008 14:10
· Личное сообщение · #16

daFix пишет:
PS: Надеюсь Djeck'а не забанили...

Не, за что? Просто реальной помощи нету,вот я и молчу
Прога rapidshare.com/files/162387268/proga1.rar.html (6 метров)
Распакованная rapidshare.com/files/162388029/Unpacked.rar.html (2 метра)
daFix сразу говорю дамп на других системах не тестил.На моей всё запускается и работает прекрасно.Если вздумаешь сам с нуля распаковать,напиши в личку дам дерево impreka и скажу спёртые байты.
Я сейчас сам просто разбираюсь с апи протектора.



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

Создано: 11 ноября 2008 05:41
· Личное сообщение · #17

daFix пишет:
В моём случае раскриптовка кода шла в стёке, и уже оттуда передавалось управление на раскриптованный кусок кода

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

К чему это столько телодвижений ? Там и банальным скритом все неплохо восстанавливается




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 11 ноября 2008 09:20
· Личное сообщение · #18

pavka пишет:
Там и банальным скритом все неплохо восстанавливается


Поделись скриптами.



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 11 ноября 2008 10:07 · Поправил: Ultras
· Личное сообщение · #19

NIKOLA, на www.reaonline.net http://www.reaonline.net есть скрипты к обсиду. Правда у меня не заработали

-----
.[ rE! p0w4 ].





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

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

Ultras пишет:
Правда у меня не заработали


Дык я по этому и прошу у Павки, нужны рабочие скрипты.



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

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

NIKOLA
да не вопрос пиши в личку дам скрипты и обьясню ньюансы



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

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

NIKOLA
pavka уже выкладывал эти скрипты. Можно поискать на форуме - тем про Obsidium не так уж и много (всё-таки это не аспр).

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




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 11 ноября 2008 11:40
· Личное сообщение · #23

progopis пишет:
То есть хочу я заблочить кусок кода - вставляю специальные инструкции (как было в аспре при криптовании кода) до и после этого кода, компилирую и кидаю в Obsidum?


Code:
  1. procedure TfrmMain.FormCreate(Sender: TObject);
  2. var
  3.     regInfo: array[0..127] of char;
  4. begin
  5.     if isRegistered() then begin
  6.         lblInfo.Caption := 'Registered, but no advanced license key used';
  7.         gbRegInfo.Enabled := false;
  8.         // The following code will only be executed if a valid advanced license key is present
  9.         {$I PATTERN_REG_START.inc}
  10.         getRegInfo(0, @regInfo);
  11.         lblInfo.Caption := 'This application is registered to ' + regInfo;
  12.         {$I PATTERN_REG_END.inc}
  13.     end
  14.     else begin
  15.         {$I PATTERN_ENC_START.inc}
  16.         lblInfo.Caption := 'Unregistered, please enter your registration information below.';
  17.         ShowMessage('This application is currently unregistered!');
  18.         {$I PATTERN_ENC_END.inc}
  19.     end;
  20. end;


Это пример.



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

Создано: 11 ноября 2008 18:45 · Поправил: progopis
· Личное сообщение · #24

Как узнать использовали API протектора или нет? По принципу падает или нет? Вот файл приложил - анпак Obsidium и туда же добавил его DLL и не анпакнутую версию

_http://rapidshare.com/files/162779919/Bulk_Image_Downloader.zip.html


NIKOLA пишет:
Это пример.

Защиты в этом ноль с половиной, а вот локализовать защитный механизм помогает. В чём смысл?

P.S. Мне бы ещё версию точно узнать... Опознайте плз!



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

Создано: 11 ноября 2008 19:16
· Личное сообщение · #25

progopis пишет:
Как узнать использовали API протектора или нет?

по флажку при заполнении импорта



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

Создано: 11 ноября 2008 19:54
· Личное сообщение · #26

pavka пишет:
по флажку при заполнении импорта

Как всегда подробный ответГде этот флажок никого ниебёт.Сам трейс и сам ищи флажок.К чему такие ответы?Теперь я понял откуда такой ранг.
progopis я думаю советчик сверху говорил об этом:
021AA440 837F 04 00 CMP DWORD PTR DS:[EDI+4],0 <------------------если 0,то это апи обсида
021AA444 0F84 5F070000 JE 021AABA9 <-----------------------иначе дальше
021AA44A 0377 14 ADD ESI,DWORD PTR DS:[EDI+14]
021AA44D 8D34C6 LEA ESI,DWORD PTR DS:[ESI+EAX*8]
021AA450 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
021AA453 A9 04000000 TEST EAX,4
021AA458 0F85 A1000000 JNZ 021AA4FF
021AA45E A9 01000000 TEST EAX,1
021AA463 75 71 JNZ SHORT 021AA4D6
021AA465 A9 80000000 TEST EAX,80
021AA46A 0F85 910B0000 JNZ 021AB001
021AA470 A9 40000000 TEST EAX,40
021AA475 0F85 33010000 JNZ 021AA5AE
021AA47B 0FB746 02 MOVZX EAX,WORD PTR DS:[ESI+2]
021AA47F 6A 01 PUSH 1
021AA481 50 PUSH EAX

Обычно здесь:
021AA440 837F 04 00 CMP DWORD PTR DS:[EDI+4],0
бывает FF. Ну как я уже сказал при 0 апи обсида.Это место можно найти,когда будешь импорт восстанавливать.Потрейсь одну функцию и всё сам поймёшь.Кстати это и ответ,как можно узнать используется ли апи обсида.Я в своей программе просто скриптом чекал эту "проверку"
Кстати ещё чаще встречается такой же код,но только с мусором:
0092433B 837F 04 00 CMP DWORD PTR DS:[EDI+4],0 <--------------------таже проверка
0092433F EB 01 JMP SHORT 00924342
00924341 1A0F SBB CL,BYTE PTR DS:[EDI]
00924342 JE 00924AA3 <-----------апи обсида
00924348 |EB 01 JMP SHORT 0092434B
0092434A |0003 ADD BYTE PTR DS:[EBX],AL
0092434C |77 14 JA SHORT 00924362
0092434E |EB 03 JMP SHORT 00924353
Правда не могу сказать точно,но помойму такой код в версиях поновее



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

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

Djeck пишет:
Как всегда подробный ответГде этот флажок никого ниебёт.Сам трейс и сам ищи флажок.К чему такие ответы?Теперь я понял откуда такой ранг.

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

В пердудщем созданом тобой топике
Нужна помощь в распаковке Obsidium : 18 апреля 2008 21:20:19 Djeck 131.9 (ветеран)
http://exelab.ru/f/action=vthread&forum=1&topic=11712
pavka пишет:
003A4590 7C800000 kernel32.7C800000 <-----------длл
003A4594 FFFFFFFF <--------------- флаг
003A4598 00000001
003A459C 00000000
003A45A0 00000000
003A45A4 00000644

003A4758 00000000 <------------------- Апи обсида
003A475C 00000000 <------------------==0
003A4760 00000002
003A4764 00000000
003A4768 00000000
003A476C 00001854

И не нужно давать глупые советы тем более не понимая о чем ты говоришь
А ранг мне пофигу Ты вон по рангу ветеран а знаний ноль, да в добавок просто по человеческий глуп




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

Создано: 12 ноября 2008 12:17
· Личное сообщение · #28

Оба в баню на 3 дня. И чисто риторический вопрос: вы успокоетесь когда-нибудь а закончите гнать друг на друга?



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

Создано: 04 января 2009 12:44
· Личное сообщение · #29

Есть у кого-нибудь, что-нибудь почитать по новому обсиду. Ну никак я непойму, что это такое:
00793857 55 PUSH EBP
00793858 68 3E397900 PUSH 0079393E
0079385D 64:FF30 PUSH DWORD PTR FS:[EAX]
00793860 64:8920 MOV DWORD PTR FS:[EAX],ESP
00793863 FF15 E667C000 CALL DWORD PTR DS:[C067E6]
---------------------------------------------------------------------- ----------
тут мусор
---------------------------------------------------------------------- ----------
jmp на нормальный код

Уже и справку несколько раз прочитал, и свой крэкми запаковывал со всеми опциями и со всеми маркерами, всё равно не вижу похожий код. Эта опция хоть как называется кто знает?.




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

Создано: 04 января 2009 19:28
· Личное сообщение · #30

это же настройка сеха ... все просто
Code:
  1. assume fs:nothing
  2. push  offset sehhandle
  3. PUSH FS:[eax]     
  4. MOV FS:[eax],ESP 
  5. ;-------------------------------------------------
  6. CALL DWORD PTR DS:[C067E6] 
  7. мусор 
  8. sehhandle:     чето делаем
  9.                         ret
  10. jmp на нормальный код


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



. 1 . 2 . >>
 eXeL@B —› Протекторы —› Вопросы по Obsidium
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати