Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› Внятная таблица условных переходов |
Посл.ответ | Сообщение |
|
Создано: 01 февраля 2007 01:01 · Личное сообщение · #1 Для следующей статьи из серии Дневников чайника мы с Gambit'om соорудили таблицу. Вообще говоря, всё это уже изложено много раз, но хочется сделать как можно доступней для начинающих. Посмотрите кому интересно, возможно заметите ошибки или просто есть, что доработать по существу. Себе повешу вместо плаката, чтоб под рукой всегда бала (не учить же лишнюю дурь). И ещё сделаю обои для рабочего стола (а может и на стену =). ![]() ----- Всем привет, я вернулся ![]() |
|
Создано: 01 февраля 2007 01:07 · Личное сообщение · #2 |
|
Создано: 01 февраля 2007 01:12 · Личное сообщение · #3 |
|
Создано: 01 февраля 2007 01:18 · Личное сообщение · #4 |
|
Создано: 01 февраля 2007 01:39 · Личное сообщение · #5 |
|
Создано: 01 февраля 2007 01:42 · Личное сообщение · #6 gegter пишет: баян с масма видел: 12ed_01.02.2007_CRACKLAB.rU.tgz - Флаги Jcc.exe The Svin'a уважаю, и знаком с его трудами, но он ориентируется больше на низкий уровень. Здесь же задача обратная. Пишешь на Асме исходник и, не отвлекаясь, постоянно видишь перед собой все возможные переходы. Короче шпаргалку делаем. =) ----- Всем привет, я вернулся ![]() |
|
Создано: 01 февраля 2007 01:52 · Личное сообщение · #7 |
|
Создано: 01 февраля 2007 02:42 · Личное сообщение · #8 |
|
Создано: 01 февраля 2007 02:57 · Личное сообщение · #9 |
|
Создано: 01 февраля 2007 03:04 · Поправил: Guru_eXe · Личное сообщение · #10 |
|
Создано: 01 февраля 2007 03:20 · Личное сообщение · #11 |
|
Создано: 01 февраля 2007 04:45 · Личное сообщение · #12 |
|
Создано: 01 февраля 2007 09:31 · Личное сообщение · #13 Bitfry, класная табличка, но она для самых маленьких IMHO. Вот "шпора" по-серёздней. ![]() ![]() |
|
Создано: 01 февраля 2007 11:46 · Личное сообщение · #14 |
|
Создано: 01 февраля 2007 13:26 · Личное сообщение · #15 s0larian пишет: но она для самых маленьких IMHO. Сколько таких людей пришедших на cracklab.ru c большой базой знаний, пока единицы – ИМХО… А вот маленьких ламеров каждый день толпами и только из них единицы хотят действительно чему-то научиться А эта таблица своего рода лекарство от однодневных постов! И таких же ответов ‘google…’ gegter пишет: баян с масма видел: гы-гы, баян – это когда компоненты, проги и пр. четырехлетней давности постят здесь на форуме, а информация лишней никогда не бывает. По-твоему книги на одну тему надо тоже называть – баян, а? Написать, как ломать ума много не надо и не есть гудь делать ‘двух-байтовые патчи’… ----- ЗЫ: истЕна где-то рядом, Welcome@Google.com ![]() |
|
Создано: 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 ![]() |
|
Создано: 01 февраля 2007 20:18 · Личное сообщение · #17 |
|
Создано: 01 февраля 2007 21:13 · Личное сообщение · #18 Критерии: 0. Сделать в виде плагинов, а ПО по справке усл. переходов сделать в виде плагина 1. Горячая клавиша для вызова программы с усл. переходами 2. Сразу же после вызова, чтобы я мог после набора "ne" получить тутже хелп по jne 3. Раз в n сек. ровно на 2 сек. программа должна выдавать модальное для всех окон окно, то бишь по верх всех, и выводить какую нить команду к примеру. Этот режим назвать обучающим. ----- My love is very cool girl. ![]() |
|
Создано: 01 февраля 2007 22:57 · Личное сообщение · #19 s0larian пишет: Bitfry, класная табличка, но она для самых маленьких IMHO. Вот "шпора" по-серёздней. d489_01.02.2007_CRACKLAB.rU.tgz - IntelCodeTable.pdf Да, спасибо! Из этой много можно взять и нам. Дальше таблицы переходов обсуждать что-то пока рано. Время очень быстро течёт, а дел всё больше и больше. ----- Всем привет, я вернулся ![]() |
|
Создано: 02 февраля 2007 01:04 · Личное сообщение · #20 Demon666 русския язык учил? если написать "баян, (запятая) с масма видел?", то это значит, что bitfry баян запостил, а если "баян с масма видел", то это значит, что я выложил то же, что на масме давно пылится, чтоб все не кидались качать и потом не говорили, что все об этом знают. понятно? в данном случае именно 2-й вариант ![]() |
|
Создано: 02 февраля 2007 01:46 · Личное сообщение · #21 |
|
Создано: 02 февраля 2007 02:19 · Личное сообщение · #22 |
|
Создано: 02 февраля 2007 03:03 · Поправил: Gambit · Личное сообщение · #23 Ну и я вставлю слово (а мож два;) theCollision пишет: Встречаются только 3 или 4 усл.перехода в основном, их выучить чтоли так трудно? Нет, не трудно... JE и JNE даже новички помнят;) А вот когда попадается команда JNBE или JNO - хочется вешаться (особенно, если в сайсе сидишь, где нельзя доку посмотреть, не выходя оттуда) В том то все и дело, что встречается чаще всего два-три перехода, а в голове приходится держать 32 (не, я конечно мазохист, но не до такой степени;) Freecod пишет: В самом деле, лучше бы таблицу опкодов перевели. Во, блин... недовольные ![]() А так, Bitfry прав: Bitfry пишет: Дальше таблицы переходов обсуждать что-то пока рано. Время очень быстро течёт, а дел всё больше и больше. Demon666 пишет: скорее всего этой таблицей не собираются ограничиваться!? Что значит: ограничиваться? Bitfry в поте лица работает над дневниками чайника, я - составляю таблицу соответствий OlyDbg и SoftIce (кстати, сайс наконец-то получилось на VM установить - можете поздравить;), так что ![]() ----- программистом не рождаются - им умирают ![]() |
|
Создано: 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. ![]() ----- Программист SkyNet ![]() |
|
Создано: 02 февраля 2007 04:34 · Личное сообщение · #25 |
|
Создано: 02 февраля 2007 04:36 · Личное сообщение · #26 |
|
Создано: 02 февраля 2007 06:55 · Личное сообщение · #27 |
|
Создано: 02 февраля 2007 07:25 · Личное сообщение · #28 |
![]() |
eXeL@B —› Программирование —› Внятная таблица условных переходов |