Про Баги и способы их исправления.

Компьютеры, программы, периферия, коммуникации, интернет, программирование и т.п. Ранее назывался Hard-n-Soft.
Сообщение
Автор
novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 0 Сообщение novoku » 17 фев 2013 15:40

Народ, студенту необходимо написать в ассемблере исправление к программе имеющей баг (ошибку исполнения).
Но для этого требуется иметь программу, которая на каком- то этапе вылетает или зависает и самое главное способ этого исправления (типа набор клавиш или слов) после чего этот баг пропадает. Студент должен вписать это исправление непосредственно в тело программы на ассемблере.
Ну чтобы понятнее было (я сам не программист), например AIMP на 15 минуте трека виснет, если набрать комбинацию клавиш ctrl-NO, то висяк пропадает. Тогда товарищ должен просто найти место в программе и исправить косяк (это студент должен сделать уже сам).
Проблема в том, что я не могу найти такую программу имеющую такой баг (баги). Программа должна быть не очень большой и достаточно известной. Можно игрушку. Спасибо за ранее!! Я просто пообещал товарищу студенту, думал быстро найду...

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 1 Сообщение novoku » 17 фев 2013 17:04

вот примерно то, что нам надо замутить
Ну попроще, конечно)

http://www.youtube.com/watch?v=9FcjWy6da84 

Злец
Аватара пользователя
Благодарил (а): 1916 раз
Поблагодарили: 1760 раз

№ 2 Сообщение Злец » 17 фев 2013 18:11

0: novoku:
Постановка задачи отдает фигней. Если в программе есть баг, ведущий к зависанию программы, то он обычно не исправляется клавиатурной командой. Разве только автор программы намеренно ввел это в программу. Но тогда "это не баг, а фича".

Отсюда вывод: если вам позарез нужна такая программа с таким багом, придется ее написать.

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 3 Сообщение novoku » 17 фев 2013 19:02

2: Злец пишет:
> 0: novoku:
> Постановка задачи отдает фигней. Если в программе есть баг, ведущий к зависанию программы, то он обычно не исправляется
> клавиатурной командой. Разве только автор программы намеренно ввел это в программу. Но тогда "это не баг,
> а фича".
>
> Отсюда вывод: если вам позарез нужна такая программа с таким багом, придется ее написать.

Речь не идет о только зависании, любой сбой. И программа должна быть более менее известной. Возможно я не корректно написал постановку задачи. Тогда постараюсь по другому
Нужно используя ассемблер исправить ошибку возникающую в существующей программе или игрушке.

Естественно это проще сделать когда известен один из способов устранения бага, например набором символов с клавиатуры, а программно внести в тело программы (на ассемблере) это уж дело техники.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 4 Сообщение Burg » 17 фев 2013 19:08

3: novoku:
Берешь простенькую игрушку, например Lines ("шарики"), объявляешь багом, то что ты там не первый в списке рекордов и исправляешь сие недоразумение :D

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 5 Сообщение novoku » 17 фев 2013 19:15

4: Burg пишет:
> 3: novoku:
> Берешь простенькую игрушку, например Lines ("шарики"), объявляешь багом, то что ты там не первый в списке рекордов
> и исправляешь сие недоразумение :D

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

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 6 Сообщение Burg » 17 фев 2013 19:25

5: novoku:
Глупое какое-то задание...

BIL
Аватара пользователя
Не админ нифига
Благодарил (а): 1 раз
Поблагодарили: 7 раз

№ 7 Сообщение BIL » 17 фев 2013 19:27

Глупость. Сколько-нибудь мелкая настоящая программа после дизассемблера будем в тексте от сотни килобайт. Разобраться в ней и исправить ошибку на ассемблере не всегда сможет автор.
Задача, мне кажется, на сообразительность. Имеет ли испытуемый понятие о том, что просят...
---
Ты первый... :)

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 8 Сообщение novoku » 17 фев 2013 19:34

6: Burg пишет:
> 5: novoku:
> Глупое какое-то задание...

Ну да только не для специальности информационная безопасность.
Для меня непрограммиста это вообще темный лес, но вот пообещал тову думал найду в AIMPе, а там просто устранены баги в новой версии, а как их можно было подчиститьв в старой ни гугу. Естесно стал искать в других местах..

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 9 Сообщение Burg » 17 фев 2013 19:55

8: novoku:
Даже для этой специальности )

Nizh

№ 10 Сообщение Nizh » 17 фев 2013 20:18

вы не поверите :D
совершенно случайно нашёл баг. Программа для чтения pdf-файлов, версия для винды. При открытом выпадающем меню (Файл, Правка, Вид, Переход, Справка) программа не реагирует на кнопки "закрыть", "развернуть", "свернуть".

SergeB
Благодарил (а): 3 раза
Поблагодарили: 39 раз

№ 11 Сообщение SergeB » 17 фев 2013 20:19

В некоторых случаях может быть придется заново писать программу :)
Странное задание.

Может его трансформировать как предложено 4: Burg ?

WhiteCat
Благодарил (а): 2 раза
Поблагодарили: 87 раз

№ 12 Сообщение WhiteCat » 17 фев 2013 20:27

Надо найти такую программу с багом, для которой свободно выложены исходники на языках высокого уровня. При их компилляции получается программа на ассемблере. В таком ассемблерном коде разобраться уже можно.
Остальсь только найти такую программу :)

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 13 Сообщение novoku » 17 фев 2013 20:32

12: WhiteCat пишет:
> Надо найти такую программу с багом, для которой свободно выложены исходники на языках высокого уровня. При их компилляции
> получается программа на ассемблере. В таком ассемблерном коде разобраться уже можно.
> Остальсь только найти такую программу :)

Исходникикак раз не нужны. Любой экзешник можно загрузить в ассемблер и там разобрать по косточкам. Естесвенно чем меньше програтем легче это сделать. Думаю с Word-ом трудности офигенные, а с Палитрой по проще..

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 14 Сообщение novoku » 17 фев 2013 20:33

10: Nizh пишет:
> вы не поверите :D
> совершенно случайно нашёл баг. Программа для чтения pdf-файлов, версия для винды.
> При открытом выпадающем меню (Файл, Правка, Вид, Переход, Справка) программа не реагирует на кнопки "закрыть",
> "развернуть", "свернуть".

Спасибо!, отправил Ваше сообщ..

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 15 Сообщение novoku » 17 фев 2013 20:37

9: Burg пишет:
> 8: novoku:
> Даже для этой специальности )

Ну в общем то да, если чел решил что белое это черное до дискутировать с ним бесполезняк..

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 16 Сообщение Burg » 17 фев 2013 20:39

12: WhiteCat:
Мне вот интересно, ты хоть раз видел дизасемблированную программу написанную на С (даже не на С++)? Я уже не говорю о том, что большинство компиляторов делают оптимизацию и она по умолчанию включена.

novoku
Аватара пользователя
Поблагодарили: 28 раз

№ 17 Сообщение novoku » 17 фев 2013 20:44


WhiteCat
Благодарил (а): 2 раза
Поблагодарили: 87 раз

№ 18 Сообщение WhiteCat » 17 фев 2013 21:04

16: Burg:
Видел, только то была управляющая программа для микроконтроллера, достаточно простая :)

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 19 Сообщение Burg » 17 фев 2013 21:13

18: WhiteCat:
:D

Desperanto
Аватара пользователя
Благодарил (а): 106 раз
Поблагодарили: 65 раз

№ 20 Сообщение Desperanto » 17 фев 2013 21:29

в дизасемблированной программе как такого то и кода нет :) адреса переходов по функциям и инструкциям :) и ковырять это добро просто жесть

ХЗ
Экономный
Благодарил (а): 158 раз
Поблагодарили: 347 раз

№ 21 Сообщение ХЗ » 17 фев 2013 23:09

20: Desperanto:
> кода нет адреса переходов по функциям и инструкциям

:facepalm:

Desperanto
Аватара пользователя
Благодарил (а): 106 раз
Поблагодарили: 65 раз

№ 22 Сообщение Desperanto » 18 фев 2013 00:29

21: X3:
видимо разное декомпелируем да :facepalm:

ХЗ
Экономный
Благодарил (а): 158 раз
Поблагодарили: 347 раз

№ 23 Сообщение ХЗ » 18 фев 2013 08:00

22: Desperanto:
ну я попробую догадаться, что "адреса переходов по функциям" - это Call, а "адреса переходов по инструкциям" - это джампы. (хотя конечно написано у тебя совсем другое). Получается что программы своей логики не имеют, а только сплошняком вызывают внешний функционал. Забавно.

Desperanto
Аватара пользователя
Благодарил (а): 106 раз
Поблагодарили: 65 раз

№ 24 Сообщение Desperanto » 19 фев 2013 08:58

23: X3:
я дезассемблю не под ПиСи и даже не под АРМ :) приложение не обязано выполняться именно на компе и операционкой :) логика там есть своя, но прямого явного кода нет. и да, между словом, прошивку микроконтроллера тоже можно назвать приложением ;)

Corwin
Благодарил (а): 1 раз
Поблагодарили: 2 раза

№ 25 Сообщение Corwin » 19 фев 2013 10:04

24: Desperanto пишет:
> 23: X3:
> я дезассемблю не под ПиСи и даже не под АРМ :) приложение не обязано выполняться именно на компе и операционкой
> :) логика там есть своя, но прямого явного кода нет. и да, между словом, прошивку микроконтроллера тоже можно назвать
> приложением ;)
:-? А покажи плз, пример кривого неявного кода.... Ну очень интересно. Ну или просто скажи для какой архитектуры кодишь.

Desperanto
Аватара пользователя
Благодарил (а): 106 раз
Поблагодарили: 65 раз

№ 26 Сообщение Desperanto » 19 фев 2013 11:49

25: Corwin:
в лс

Corwin
Благодарил (а): 1 раз
Поблагодарили: 2 раза

№ 27 Сообщение Corwin » 19 фев 2013 19:13

26: Desperanto пишет:
> 25: Corwin:
> в лс
Посмотрел. Код для него предполагается обычный. Чё там непрямого в дизассеблере можно увидеть так и не понял. Для Х3: джампы и вызовы в наличии.

ХЗ
Экономный
Благодарил (а): 158 раз
Поблагодарили: 347 раз

№ 28 Сообщение ХЗ » 19 фев 2013 20:02

27: Corwin:
> джампы и вызовы в наличии.

Ну ведь не один джампы и вызовы, наверное и условные джампы есть :)

Corwin
Благодарил (а): 1 раз
Поблагодарили: 2 раза

№ 29 Сообщение Corwin » 19 фев 2013 21:08

Есть конечно и условные; бедненько там - к примеру, умножения вроде как нету, а так всё вполне обычно.

Вернуться в «Компьютерный форум»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей