Посл.ответ
Сообщение
Ранг: 16.5 (новичок)Активность: 0.01↘ 0 Статус: Участник
Создано: 14 мая 2010 19:28 · Личное сообщение · #1
Ребят, отлаживаю одно приложение и встречаю в отладчике вот такое абсурдный код:
или вот такой:
Опыта у меня особого нет, отсюда и интерес, может быть наличие такого кода говорит о каких-то метаморфах? Я просто не представляю, что нужно написать на си (а на нём программа и написана), чтобы получился такой асм-код
| Сообщение посчитали полезным:
Ранг: 281.8 (наставник), 272thxАктивность: 0.25↘ 0.01 Статус: Участник Destroyer of protectors
Создано: 14 мая 2010 19:38 · Личное сообщение · #2
noph пишет: Опыта у меня особого нет, отсюда и интерес, может быть наличие такого кода говорит о каких-то метаморфах? ХЗ о чём оно там говорит......первый кусок ваще хрень, кроме ADD EAX,4 можно всё убрать.
Второй тоже не больно содержательный. Приведи побольше кода.
| Сообщение посчитали полезным:
Ранг: 681.5 (! ! ) , 405thxАктивность: 0.42↘ 0.21 Статус: Участник ALIEN Hack Team
Создано: 14 мая 2010 19:48 · Личное сообщение · #3
Да это всё норм, ничего метаполиморфного тут нет.
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным:
Ранг: 450.3 (мудрец), 13thxАктивность: 0.2↘ 0 Статус: Участник
Создано: 14 мая 2010 20:00 · Личное сообщение · #4
noph пишет: или вот такой: Code: MOV DWORD PTR SS:[EBP-4],-1 CMP DWORD PTR SS:[EBP-4],0 Может на CMP есть переход стоящий выше, в обход mov?
| Сообщение посчитали полезным:
Ранг: 331.1 (мудрец), 561thxАктивность: 0.19↘ 0.06 Статус: Участник
Создано: 14 мая 2010 20:11 · Личное сообщение · #5
noph пишет: Я просто не представляю, что нужно написать на си (а на нём программа и написана) Откуда такая уверенность, что программа написана на С? Скажите тип компилятора создавшего такой код, вполне могут быть асмовые вставки в С код, необходимо привести, как сказали выше, большие куски кода, а желательно функцию целиком.
----- Everything is relative... | Сообщение посчитали полезным:
Ранг: 164.6 (ветеран), 65thxАктивность: 0.12↘ 0 Статус: Участник Волшебник
Создано: 14 мая 2010 21:17 · Поправил: neomant · Личное сообщение · #6
Вполне нормальный код. Второй пример может так выглядеть на Си:
----- Следуй за белым кроликом | Сообщение посчитали полезным:
Ранг: 756.3 (! ! ) , 113thxАктивность: 0.61↘ 0.05 Статус: Участник Student
Создано: 14 мая 2010 21:24 · Личное сообщение · #7
такие неосмысленные конструкции часто встречаются, причём несколько раз пробовал убирать такой мусор и всё нормально работает... В связи с чем компиляторы их не оптимизируют хз
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным:
Ранг: 309.8 (мудрец), 21thxАктивность: 0.17↘ 0 Статус: Участник
Создано: 14 мая 2010 21:35 · Личное сообщение · #8
Скорее всего это гавнокомпилятор дельфи.
----- Shalom ebanats! | Сообщение посчитали полезным:
Ранг: 756.3 (! ! ) , 113thxАктивность: 0.61↘ 0.05 Статус: Участник Student
Создано: 14 мая 2010 21:39 · Личное сообщение · #9
SLV скорее си, это он любит разбрасываться памятью
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным:
Ранг: 309.8 (мудрец), 21thxАктивность: 0.17↘ 0 Статус: Участник
Создано: 14 мая 2010 22:10 · Личное сообщение · #10
Не понял сути предложения про С.
----- Shalom ebanats! | Сообщение посчитали полезным:
Ранг: 355.4 (мудрец), 55thxАктивность: 0.32↘ 0 Статус: Uploader 5KRT
Создано: 14 мая 2010 22:30 · Личное сообщение · #11
Скорее гомнокомпилятор Си
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным:
Ранг: 756.3 (! ! ) , 113thxАктивность: 0.61↘ 0.05 Статус: Участник Student
Создано: 14 мая 2010 22:33 · Личное сообщение · #12
Суть в расточительстве памяти... Вот как-то сравнивал на примере простой проги
ef25_14.05.2010_CRACKLAB.rU.tgz - Fakul.pdf
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным:
Ранг: 67.4 (постоянный)Активность: 0.04↘ 0 Статус: Участник
Создано: 14 мая 2010 23:24 · Поправил: Sunzer · Личное сообщение · #13
Isaev интересный док, хоть какая то оптимизация в DevC++ включена была?
А вот непонятно зачем ассемблер было туда писать)) до и после одно и тоже ведь, для наглядности разве что.
| Сообщение посчитали полезным:
Ранг: 756.3 (! ! ) , 113thxАктивность: 0.61↘ 0.05 Статус: Участник Student
Создано: 14 мая 2010 23:28 · Личное сообщение · #14
это спорил как-то с профессором, именно об ассемблере, поэтому он тоже там есть
в DevC++, как и в Delphi, всё по умолчанию было, ничего не трогал
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным:
Ранг: 199.6 (ветеран), 12thxАктивность: 0.1↘ 0 Статус: Участник www.uinc.ru
Создано: 15 мая 2010 03:07 · Личное сообщение · #15
скорее всетаки дельфи - сишные уже давно обучены не использовать фрейм-поинтер, если их спецально не заставить. даже убогий gcc умеет. а вобще такой код характерен для любого hll компилятора - у них чтобы совсем не тормозить при сборке есть ограничения на глубину оптимизации блоков, и на узлах появляются подобныве артефакты. se la vi ёба.
| Сообщение посчитали полезным:
Ранг: 40.4 (посетитель), 3thxАктивность: 0.08↘ 0 Статус: Участник
Создано: 15 мая 2010 11:31 · Личное сообщение · #16
Второе ещё можно как-то понять, а вот первое... Спрашивается: Какую траву курил автор проги???
Ну так и так ему сюды:
Govnokod.ru
| Сообщение посчитали полезным:
Ранг: 681.5 (! ! ) , 405thxАктивность: 0.42↘ 0.21 Статус: Участник ALIEN Hack Team
Создано: 15 мая 2010 12:32 · Личное сообщение · #17
Да автор-то там причём? Он, что, должен каждую инструкцию в отладчике просмотреть?Это к разработчикам компилера вопросы...
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным:
Ранг: 355.4 (мудрец), 55thxАктивность: 0.32↘ 0 Статус: Uploader 5KRT
Создано: 15 мая 2010 14:33 · Поправил: Coderess · Личное сообщение · #18
ZLOvar Ну так и так ему сюды: Govnokod.ru Улыбнуло, забавный рессурс
govnokod.ru/1520
Получение адреса текущей инструкции убийственным для производительности методом. Очень убийственный метод
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным:
Ранг: 281.8 (наставник), 272thxАктивность: 0.25↘ 0.01 Статус: Участник Destroyer of protectors
Создано: 15 мая 2010 15:04 · Поправил: MasterSoft · Личное сообщение · #19
Coderess пишет: Очень убийственный метод Ну на то он и
http://govnokod.ru/ Не подскажешь менее убийственный? А лучше несколько
Magister Yoda Не вкурил чёт.....
| Сообщение посчитали полезным:
Ранг: 107.3 (ветеран), 5thxАктивность: 0.2↘ 0.04 Статус: Участник
Создано: 15 мая 2010 15:05 · Личное сообщение · #20
govnokod.ru/2222
жгут
| Сообщение посчитали полезным:
Ранг: 101.0 (ветеран), 344thxАктивность: 1.15↘ 0 Статус: Участник
Создано: 15 мая 2010 16:34 · Личное сообщение · #21
noph пишет: наличие такого кода говорит о каких-то метаморфах нет
ToBad пишет: Может на CMP есть переход стоящий выше, в обход mov? +1
neomant пишет: Второй пример может так выглядеть на Си +1
SLV пишет: гавнокомпилятор дельфи Coderess пишет: гомнокомпилятор Си скорее говнокодер автор или обфускация
Тема переходит в бесконтрольный флуд. Но чистить не буду, ибо изначально вопрос не требующий философии на три страницы. Ответ был дан, тема закрыта.
| Сообщение посчитали полезным: