Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Сегодня нашёл интересный код, сейчас разбираю его. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Собственно процитировал. Синтаксис и форматирование сохранены. Начал разбирать, привожу свою часть кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 1. Какой тип данных у тех переменных у которых не был указан тип данных ? Ранее такое действительно возможно ? 2. Код: plaintext 1. равносильно Код: plaintext 1. ? На всякий случай спросил. Не говорите мне пожалуйста что делает этот код, если вам сразу всё понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 03:55 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Да, и с переменной " к ", тут видимо побочный эффект, то есть идёт изменение самой переменной, и ещё присваивание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 03:57 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
3. Далее идёт Код: plaintext 1. Не хватает оператора ; в for. Или так тоже ранее можно было ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:02 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SSна входе увеличенный на 1. Целое число Это бред. Это ведь указатель сдвигается с имени программы. Я это в принципе написал сразу, а затем бред приписал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:10 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercury3. Далее идёт Код: plaintext 1. Не хватает оператора ; в for. Или так тоже ранее можно было ? Такого там нет. Есть такое "for(h= 0;h*h<= g;++h)" Какой смысл разбирать такие программы? Их же пишут специально чтобы было непонятно. А цель программиста наоборот писать понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:12 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Какой смысл разбирать такие программы? Это как в футболе. Если играть со слабыми соперниками и всегда на идеальном газоне никогда не научишься играть хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:19 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
2 вопрос, сам ответил. Не равносильно относительно переменной b ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:40 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Отформатировал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 04:57 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Рефакторинг первых строк в первом приближении, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Хотя тут ещё можно упростить всё что касается h. Пока те замены что я предлагаю верны ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 07:16 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. В этом участке кода Код: plaintext 1. 1.В элемент массива записывается d 2. Происходит инкримент d 3. К b добавляется e Так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 08:22 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAnatoly Moskovsky Какой смысл разбирать такие программы? Это как в футболе. Если играть со слабыми соперниками и всегда на идеальном газоне никогда не научишься играть хорошо. Это абсолютный бред. И это высказывание, и такие состязания. Кроме как для развлечения они ни для чего не нужны. Я уверен, что только для этого эти соревнования и были придуманы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 09:37 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
int a[900];//тут компилятор сразу ругается, предполагаю что в 1984 если не указывалчся тип данных, по умолчанию был //например char. Хотя Си обладал явной типзацией ? Или нет. int был, а не char. Это в классическом K&R C было. Если сейчас включить такой режим, напр. в GCC, думаю, скомпилируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 09:39 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Да написал бы Достоевский Идиота если бы он не читал Гете, Бальзака и Гофмана ? Там похлеще чем этот код. Неужели все считают что такой код не нужен и не полезен ??? Я считаю крайне полезен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 10:31 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЯ считаю крайне полезен.Чем? Возможностью "залезть на шкаф"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 10:33 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryНеужели все считают что такой код не нужен и не полезен ???куда полезней было бы ознакомиться вот с чем: тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 11:52 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
On 24.06.2014 11:31, SashaMercury wrote: > Неужели все считают что такой код не нужен и не полезен ??? > Я считаю крайне полезен. Да, не нужен и не очень полезен. Читать и разбирать такой код отчасти конечно полезно, чтобы возможно уточнить какие-то аспекты языка, которые в реальной жизни никогда и не используются. Но польза в итоге весьма мала. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 12:47 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryДа написал бы Достоевский Идиота если бы он не читал Гете, Бальзака и Гофмана ? Там похлеще чем этот код. Неужели все считают что такой код не нужен и не полезен ??? Я считаю крайне полезен. Саш, тебя хочется кинуть на какой-то полезный проект. А то зря киловатты и лошадиные силы тратишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 12:51 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov Чем? Возможностью "залезть на шкаф"? если человек будет ориентироваться в таком коде, то насколько легко ему будет читать обычный код, находить в нём ошибки ? Прекрасная разминка для головы. Я понимаю что такое рефакторинг, но не знаю наверняка насколько это актуально. Думаю что актуально, читая такой код, и транслируя его в аналогичный, на том-же языке, человек улучшает свои способности в этом разделе программирования. Да и вообще, этот код очень красивый. Его просто приятно разбирать. Мне приятно. Да, ещё наверняка есть такие люди что ищут уязвимости в коде, и скрытые ловушки, чтение и разбор такого кода тоже будет актуально для них. Код, чужой, разный, хороший, плохой, читать нужно. Вы говорите развлечения ? А как-же без этого ;) Я не сомневаюсь что в глубине души вам такой код тоже нравится, и вам самим может быть и хочется поразвлечься и понять что он делает ;) egorych, так это моя любимая книга по программированию, я её не прочитал всю, и не разобрал (слово разобрал тут ключевое), потому что к сожалению приходится занимать порой всякой фигней, и не получается уделять всё время до 18 математике и программированию. Но я постепенно её читаю, и разбираю(к данной книге это ключевое слово). Даже топ создавал. mayton, с большой радостью участвовал бы в каком-нибудь проекте. Только моих знаний скорее всего слишком мало, пока что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 15:33 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryесли человек будет ориентироваться в таком коде, то насколько легко ему будет читать обычный код, находить в нём ошибки ? Прекрасная разминка для головы. Это не плохой код. Это код специально написанный чтобы запутать. Чем запутаннее тем лучше. А плохой код, это код написан плохо неспециально, и чаще всего его автор и не подозревает что код плохой. Уметь разбираться в этих двух видах кода, это совершенно разные скиллы, причем первый из них совершенно бесполезен в прикладной работе. Это примерно как тренироваться жонглировать тенисным мячем чтобы хорошо играть теннис :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 15:55 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. можно ли упростить этот участок кода ? Как я понял, тут происходит какой-то алгоритм сохранения всех чисел до g включительно. Обращение к элементу идёт через "маску" a[b << 5 | c]. b и с принимают значение от 0 до до h. Где h это целая часть корня g(округление в меньшую сторону). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 02:38 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, а сколько времени потребуется хорошему разработчику(не K&R конечно, но очень хорошему) чтобы разобраться в том что делает этот код и сказать что делает эта программа ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 02:44 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Вот исправленная первая треть кода с правильными комментариями Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 03:30 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Вторая часть кода. Вот как с ней лучше работать. Я создал функцию отображения Код: plaintext 1. 2. 3. 4. Вот так теперь выглядит вторая часть кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. А если нарисовать в каком порядке она заполняет массив всеми числами до g включительно, относительно параметров b and c , и классической матрицы a_00-верхлево, a_hk-низправо, вот что мы увидим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 04:12 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
Остался вопрос только по этой сточке: Код: plaintext 1. все операции делать слева направо ? сначала Код: plaintext 1. затем результат побитово на Код: plaintext 1. и тд ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 04:29 |
|
||
|
Анализ программного кода. International Obfucated C Code Contest. 1984. By Mike Laman
|
|||
|---|---|---|---|
|
#18+
SashaMercuryAnatoly Moskovsky, а сколько времени потребуется хорошему разработчику(не K&R конечно, но очень хорошему) чтобы разобраться в том что делает этот код и сказать что делает эта программа ? Я могу только сказать, сколько времени потребуется чтобы убедить разработчика разбираться в таком. Много. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 04:37 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38677989&tid=2019161]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 292ms |
| total: | 422ms |

| 0 / 0 |
