Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› Внятная таблица условных переходов
Посл.ответ Сообщение

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

Создано: 01 февраля 2007 01:01
· Личное сообщение · #1

Для следующей статьи из серии Дневников чайника мы с Gambit'om соорудили таблицу.

Вообще говоря, всё это уже изложено много раз, но хочется сделать как можно доступней для начинающих.

Посмотрите кому интересно, возможно заметите ошибки или просто есть, что доработать по существу.
Себе повешу вместо плаката, чтоб под рукой всегда бала (не учить же лишнюю дурь).
И ещё сделаю обои для рабочего стола (а может и на стену =).

23b9_01.02.2007_CRACKLAB.rU.tgz - Jxx.doc

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




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

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

баян с масма видел:

12ed_01.02.2007_CRACKLAB.rU.tgz - Флаги Jcc.exe



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

Создано: 01 февраля 2007 01:12
· Личное сообщение · #3

Господа, а есть ли несколько обратная программа? Т.е. ей пишешь мнемонику Jcc, а она отдает значения флагов? А заодно и битовую маску для игрищ с флагами посредством push/popfd. а то каждый раз руками считать несколько нудно.
А еще существует ли аналогичная для FPU?



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

Создано: 01 февраля 2007 01:18
· Личное сообщение · #4

entusiast пишет: Господа, а есть ли несколько обратная программа?
таблицу слабо глянуть...



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 01 февраля 2007 01:39
· Личное сообщение · #5

>>(не учить же лишнюю дурь)
А че там учить? Встречаются только 3 или 4 усл.перехода в основном, их выучить чтоли так трудно?

-----
My love is very cool girl.




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

Создано: 01 февраля 2007 01:42
· Личное сообщение · #6

gegter пишет:
баян с масма видел:
12ed_01.02.2007_CRACKLAB.rU.tgz - Флаги Jcc.exe

The Svin'a уважаю, и знаком с его трудами, но он ориентируется больше на низкий уровень.
Здесь же задача обратная.
Пишешь на Асме исходник и, не отвлекаясь, постоянно видишь перед собой все возможные переходы.
Короче шпаргалку делаем. =)

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




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

Создано: 01 февраля 2007 01:52
· Личное сообщение · #7

theCollision пишет: Встречаются только 3 или 4 усл.перехода в основном, их выучить чтоли так трудно? это смотря что распаковывать...
Bitfry пишет: Короче шпаргалку делаем. =)
если нужна - ради бога....




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

Создано: 01 февраля 2007 02:42
· Личное сообщение · #8

Bitfry а можно не атачем, а то у мну траблы с атачами?

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




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

Создано: 01 февраля 2007 02:57
· Личное сообщение · #9

PE_Kill пишет: а можно не атачем, а то у мну траблы с атачами?
www.dump.ru/files/6/607406/




Ранг: 282.8 (наставник), 24thx
Активность: 0.260
Статус: Участник
win32.org.ru

Создано: 01 февраля 2007 03:04 · Поправил: Guru_eXe
· Личное сообщение · #10

PE_Kill, guru-exe.ripgames.org/pub/jmp.htm

p.s.
у меня там онлайн версия, если комунить панадобится, хотя наврятли.

-----
may all your PUSHes be POPed!





Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 01 февраля 2007 03:20
· Личное сообщение · #11

Bitfry спсб, уже на стену повесил.
p.s. хорошая вещь ибо при исследовании хорошо помогает, когда забываешь назначание того или иного перехода...

-----
Ламер - не профессия :))





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

Создано: 01 февраля 2007 04:45
· Личное сообщение · #12

вы тогда уж и opcodes.hlp переведите что ли =)

-----
Тут не могла быть ваша реклама





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

Создано: 01 февраля 2007 09:31
· Личное сообщение · #13

Bitfry, класная табличка, но она для самых маленьких IMHO. Вот "шпора" по-серёздней.

d489_01.02.2007_CRACKLAB.rU.tgz - IntelCodeTable.pdf



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

Создано: 01 февраля 2007 11:46
· Личное сообщение · #14

Зошибись табличка! Вроде понятная. Щас роспечатаю и розвешу по всему дому.



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 01 февраля 2007 13:26
· Личное сообщение · #15

s0larian пишет:
но она для самых маленьких IMHO.

Сколько таких людей пришедших на cracklab.ru c большой базой знаний, пока единицы – ИМХО…
А вот маленьких ламеров каждый день толпами и только из них единицы хотят действительно чему-то научиться
А эта таблица своего рода лекарство от однодневных постов! И таких же ответов ‘google…’

gegter пишет:
баян с масма видел:

гы-гы, баян – это когда компоненты, проги и пр. четырехлетней давности постят здесь на форуме, а информация лишней никогда не бывает.
По-твоему книги на одну тему надо тоже называть – баян, а?
Написать, как ломать ума много не надо и не есть гудь делать ‘двух-байтовые патчи’…

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 01 февраля 2007 16:18
· Личное сообщение · #16

Я когда-то делал такую таблицу вот в таком стиле:
Команды условных переходов JCC(Jump if condition- перейти, если условие выполнено) анализируют (проверяют) состояние регистра флагов (flags register).
Команды условных переходов не изменяют (не воздействуют на) флаги.
Флаг ZF(Zero flag- флаг нуля) находится в 6 бите регистра флагов (flags register).
Если результат операции равен 0, то тогда флаг ZF(Zero flag- флаг нуля) устанавливается(ZF=1).
Если результат операции не равен 0, то тогда флаг ZF(Zero flag- флаг нуля) сбрасывается(ZF=0).
Язык ассемблера имеет разные команды (мнемокоды) которые проверяют одни и те же флаги, но эти команды имеют один и тот же машинный код (Binary code- двоичный код).
Процессор прибавляет (слаживает) содержимое регистра IP(Instruction pointer register- регистр указатель команд) с указанным смещением расположенным сразу после команды условного перехода, если условие выполнено (истинно).
Если условие не выполнено (ложно), то тогда процессор выполняет следующую команду, на которую указывает регистр IP(Instruction pointer register- регистр указатель команд).
Процессор, перед тем как выполнить команду условного перехода вычисляет адрес следующей команды, которая находится в памяти за выполняемой в данный момент времени командой условного перехода и её смещением и заносит его в регистр IP(Instruction pointer register- регистр указатель команд).

P. S.
Авторы мне так кажется, создали топик не для того чтобы послушать критику, а для того чтобы посоветовали, что нужно добавить и, скорее всего этой таблицей не собираются ограничиваться!?
Если создать полное описание такой таблицы то это многим поможет значительно ускорить разбор полиморфа, метаморфа, VM(вирт. машина) и т. д.

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com




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

Создано: 01 февраля 2007 20:18
· Личное сообщение · #17

В самом деле, лучше бы таблицу опкодов перевели.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 01 февраля 2007 21:13
· Личное сообщение · #18

Критерии:
0. Сделать в виде плагинов, а ПО по справке усл. переходов сделать в виде плагина
1. Горячая клавиша для вызова программы с усл. переходами
2. Сразу же после вызова, чтобы я мог после набора "ne" получить тутже хелп по jne
3. Раз в n сек. ровно на 2 сек. программа должна выдавать модальное для всех окон окно, то бишь по верх всех, и выводить какую нить команду к примеру. Этот режим назвать обучающим.

-----
My love is very cool girl.




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

Создано: 01 февраля 2007 22:57
· Личное сообщение · #19

s0larian пишет:
Bitfry, класная табличка, но она для самых маленьких IMHO. Вот "шпора" по-серёздней.
d489_01.02.2007_CRACKLAB.rU.tgz - IntelCodeTable.pdf

Да, спасибо! Из этой много можно взять и нам.

Дальше таблицы переходов обсуждать что-то пока рано.
Время очень быстро течёт, а дел всё больше и больше.

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




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

Создано: 02 февраля 2007 01:04
· Личное сообщение · #20

Demon666 русския язык учил?
если написать "баян, (запятая) с масма видел?", то это значит, что bitfry баян запостил, а если
"баян с масма видел", то это значит, что я выложил то же, что на масме давно пылится, чтоб все не кидались качать и потом не говорили, что все об этом знают. понятно?

в данном случае именно 2-й вариант



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 02 февраля 2007 01:46
· Личное сообщение · #21

Freecod пишет:
бы таблицу опкодов перевели.

на васме DrIce выкладывал

-----
Подписи - ЗЛО! Нужно убирать!




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 02 февраля 2007 02:19
· Личное сообщение · #22

А зачем ее переводить? (про таблицу опкодов)
Всеже итак понятно! Открываешь ман, читаешь про всякие Eb, Jb - которых не очень то и много! А после смотришь таблички, которые переводить не точто не стоит, но и вредно!

-----
My love is very cool girl.





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

Создано: 02 февраля 2007 03:03 · Поправил: Gambit
· Личное сообщение · #23

Ну и я вставлю слово (а мож два;)

theCollision пишет:
Встречаются только 3 или 4 усл.перехода в основном, их выучить чтоли так трудно?

Нет, не трудно... JE и JNE даже новички помнят;) А вот когда попадается команда JNBE или JNO - хочется вешаться (особенно, если в сайсе сидишь, где нельзя доку посмотреть, не выходя оттуда)
В том то все и дело, что встречается чаще всего два-три перехода, а в голове приходится держать 32 (не, я конечно мазохист, но не до такой степени;)

Freecod пишет:
В самом деле, лучше бы таблицу опкодов перевели.

Во, блин... недовольные
А так, Bitfry прав:
Bitfry пишет:
Дальше таблицы переходов обсуждать что-то пока рано.
Время очень быстро течёт, а дел всё больше и больше.



Demon666 пишет:
скорее всего этой таблицей не собираются ограничиваться!?

Что значит: ограничиваться? Bitfry в поте лица работает над дневниками чайника, я - составляю таблицу соответствий OlyDbg и SoftIce (кстати, сайс наконец-то получилось на VM установить - можете поздравить;), так что

-----
программистом не рождаются - им умирают





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 02 февраля 2007 03:50 · Поправил: FrenFolio
· Личное сообщение · #24

entusiast пишет:

Господа, а есть ли несколько обратная программа? Т.е. ей пишешь мнемонику Jcc, а она отдает значения флагов? А заодно и битовую маску для игрищ с флагами посредством push/popfd. а то каждый раз руками считать несколько нудно.
А еще существует ли аналогичная для FPU?


Приаттачил в одном архиве несколько прог по сабжу. Позволяют посмотреть op-code той или иной нужной мнемоники + калькуляторы для прикидочных расчетов FPU и основных команд:

1. 32bit Calculator v1.7;
2. FloatConvert + source code (masm32);
3. Fpu Calculator v1.0;
4. Jump Generator v0.4b + source code (masm32);
5. oPcodeR;
6. Jump to Hex Converter.

5021_02.02.2007_CRACKLAB.rU.tgz - Code_Help.rar

-----
Программист SkyNet




Ранг: 79.6 (постоянный), 2thx
Активность: 0.080
Статус: Участник
алХимик

Создано: 02 февраля 2007 04:34
· Личное сообщение · #25

Bitfry пишет:
Для следующей статьи


Опять старому больному человеку напрягать единственную извилину для вычитки? =)

-----
Все говорят что мы вместе. Но не многие знают в каком.





Ранг: 75.0 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 02 февраля 2007 04:36
· Личное сообщение · #26

Ждемс нетерпением, с theCollision согласен



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

Создано: 02 февраля 2007 06:55
· Личное сообщение · #27

SeDoYHg пишет:
Опять старому больному человеку напрягать единственную извилину для вычитки? =)

Если ты согласишься - УРА!
Просто подумал, что уже задолбал тебя своими статьями, вот и не прислал бету.
Если у тебя найдётся время прочесть – буду признателен. Обсудим мылом.

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




Ранг: 79.6 (постоянный), 2thx
Активность: 0.080
Статус: Участник
алХимик

Создано: 02 февраля 2007 07:25
· Личное сообщение · #28

Bitfry пишет:
Обсудим мылом.


Жду письма.

ЗЫ. пишу такие бессодержательные посты в форуме, т.к. личка не пашет!

-----
Все говорят что мы вместе. Но не многие знают в каком.



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


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