Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+5 невидимых)

 eXeL@B —› Основной форум —› Что делает код.
Посл.ответ Сообщение

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

Создано: 06 декабря 2004 11:21
· Личное сообщение · #1

Имеется следующий код:

push ebp
push $004DC6FE
push dword ptr fs:[eax]
mov fs:[eax], esp

Как узнать, что в 004DC6FE и что значит - fs: ?




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 06 декабря 2004 11:27
· Личное сообщение · #2

FuckMan учи ассемблер... это SEH конструкция, $004DC6FE адрес обработчика исключительных ситуаций... А вообще - это тебе не пригодится, если прогу ломаешь ))

-----
Пиво, сиськи, транс




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 декабря 2004 13:30
· Личное сообщение · #3

FuckMan пишет:
что значит - fs

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

-----
Всем привет, я вернулся





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

Создано: 06 декабря 2004 13:58
· Личное сообщение · #4

Bitfry
про сехи чтоли ? на ваме почитай =)



Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 декабря 2004 14:32
· Личное сообщение · #5

Bitfry
Энджой!
h**p://glm.nm.ru/seh.c



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 декабря 2004 15:31
· Личное сообщение · #6

Gloomy
Спасибо

-----
Всем привет, я вернулся





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 07 декабря 2004 00:06
· Личное сообщение · #7

FuckMan пишет:
push ebp
push $004DC6FE
push dword ptr fs:[eax]
mov fs:[eax], esp

Короче это стандартный мусор любого протектора - SEH... суть такова - если после этого кода произойдет ошибка в проге, то программа jmp'ается на $004DC6FE. То есть обычно это юзается в нормальных прогах для установки обработчиков исключений, а в протекторах для запутывания кода... и юзается лишь как jmp аналог (но только для запутывания кода).

fs - сегмент fs, но в винде нет сегментов - это пережиток 16 битной винды (3.11)

А вообще почитай книжки по асму или хотябы статьи на wasm'е - в них дао

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





Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 07 декабря 2004 02:54 · Поправил: -= ALEX =-
· Личное сообщение · #8

GPcH нихуя се ты прогнал ) Какой же это мусор, это как раз нужный код в программе, обработчик исключительных ситуаций, например как в дельфие "try ..... except", вот он так и будет выглядить...
А насчет мусора в протекторе, где ты видел один в один такое начало кода ))

-----
Пиво, сиськи, транс





Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 07 декабря 2004 05:43
· Личное сообщение · #9

-= ALEX =-
А по-моему гпч весьма внятно пояснил (для новичка во всяком случае).

-----
Всем не угодишь





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

Создано: 07 декабря 2004 06:18 · Поправил: Mario555
· Личное сообщение · #10

GPcH пишет:
в протекторах для запутывания кода... и юзается лишь как jmp аналог (но только для запутывания кода).

ну нет, далеко не только для этого =)
Используется например для самотрассировки (запись в DR регистры) ;) да и вообще доступ к структуре CONTEXT это полезно и использовать можно по-разному...
PS Шайнера спроси, он тебе ещё что-нить про применение сехов расскажет ;)



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 декабря 2004 07:25 · Поправил: gost
· Личное сообщение · #11

FuckMan
Вот дока по SEH на инглише



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

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

прицепил заново (чето опера глючит)

702998410__seh.rar




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 07 декабря 2004 07:52 · Поправил: -= ALEX =-
· Личное сообщение · #13

Bad_guy млин, тот код, что нам предложен, не МОЖЕТ говорить нам о том, что это антиотладочный код !!! А нам он говорит о нормальном начале обработчика, коих в прогах написанных, к примеру на дельфи, дофига... Вот если б там были инструкции явно делающие исключительную ситуацию, можно было б грить об антиотладочных приемах... А так не надо парня путать...

-----
Пиво, сиськи, транс





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 07 декабря 2004 09:16
· Личное сообщение · #14

-= ALEX =- пишет:
где ты видел один в один такое начало кода

Угадай

Mario555
Насчет самотрассировки я не знал


-= ALEX =- пишет:
А так не надо парня путать...

Я лишь сказал все места, где это РЕАЛЬНО использоваться может... а насчет try.. except.... врядли у чела именно этот случай, хотя, хз, если так и есть, то ты прав конечно

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





Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 07 декабря 2004 09:39
· Личное сообщение · #15

-= ALEX =- пишет:
Bad_guy млин, тот код, что нам предложен, не МОЖЕТ говорить нам о том, что это антиотладочный код !!!

Согласен, но не может говорить и обратного.

-----
Всем не угодишь





Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 07 декабря 2004 09:52
· Личное сообщение · #16

GPcH вот уверен в 99,9 % что именно такой код, который здесь приведен, именно в такой последовательности врятли юзается в антиотоадке :P Похожее по смыслу - несомненно. Это типичное начало try.. except

-----
Пиво, сиськи, транс




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

Создано: 07 декабря 2004 23:08
· Личное сообщение · #17

вобще этот код выдрпнный из DeDe

...
* Reference to: system.@LStrAddRef;
|
004DC500 E83F80F2FF call 00404544
004DC505 33C0 xor eax, eax
004DC507 55 push ebp
004DC508 68FEC64D00 push $004DC6FE

***** TRY
|
004DC50D 64FF30 push dword ptr fs:[eax]
004DC510 648920 mov fs:[eax], esp
004DC513 BF07000000 mov edi, $00000007
004DC518 BB21000000 mov ebx, $00000021
004DC51D EB16 jmp 004DC535
004DC51F 8D45EC lea eax, [ebp-$14]
004DC522 8BD3 mov edx, ebx

* Reference to: system.@LStrFromChar(String;String;Char);
|
004DC524 E8637DF2FF call 0040428C
004DC529 8B55EC mov edx, [ebp-$14]
...

типа это просто присваивание....




Ранг: 260.3 (наставник), 2thx
Активность: 0.120
Статус: Участник
PPC-PROTECT author

Создано: 08 декабря 2004 01:54
· Личное сообщение · #18

НУУ ??? и кто тут прав был ???? ))))

-----
Пиво, сиськи, транс





Ранг: 266.8 (наставник), 5thx
Активность: 0.220.03
Статус: Участник
very WELL :)

Создано: 08 декабря 2004 02:13
· Личное сообщение · #19





Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 08 декабря 2004 03:13
· Личное сообщение · #20

FuckMan пишет:
типа это просто присваивание....

Ты не видел DOS программ, там сегмент обязательно нужно вписывать, посмотри любой учебник. Только FS в простых примерах не используется. Короче да.

-----
Всем привет, я вернулся



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


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