Comments 98
От автора статьи:
Не стоит искать здесь никаких рационалистических побуждений. Существует масса других очень достойных и более удобных программ для записи и редактирования аудио. Просто сама возможность запустить и поработать в «той самой программе» греет душу :)
Не стоит искать здесь никаких рационалистических побуждений. Существует масса других очень достойных и более удобных программ для записи и редактирования аудио. Просто сама возможность запустить и поработать в «той самой программе» греет душу :)
а мне wavelab нравится.


Вы вообще поняли о чем статья?:)
К слову, рекомендую небольшой платный аудиоредактор Pro Tools.
Порадовали душу. Спасибо :-)
Зачем ассемблер и Hexplorer, когда есть hiew?
Пробелы-с в хакинге у вас, батенька :)
Пробелы-с в хакинге у вас, батенька :)
Отчего же проблемы? Если задачу получилось реализовать этим инструментарием, то это же хорошо)
У каждого свой инструментарий. Я, например, не перевариваю hiew, не в обиду sen будет сказано. Автор выбрал не самый легкий путь, я тоже так считаю, но это не повод выстебывать :) на хабре и так мало RE/DRE, пусть растет.
Согласен, скорее всего здесь было бы удобнее использовать Hiew. В данном случае я, похоже, стрелял из пушки по воробьям. В случае с заменой какого-нибудь достаточно большого участка машинного кода (как например в статье о модификации программ) связка FASM + Hexplorer была бы более актуальной.
Простите, скопировал неправильную ссылку на статью. Вот верная ссылка: Расширение функциональности готовых программ.
Microsoft заявляет, что при наличии более 2 гигабайт оперативной памяти программа сообщает о её недостаче, и это особенность архитектуры приложения.
Микрософт твердо следует заповеди: опиши ошибку в своей программе как особенность :)
Попробую предположить, о чем думал разработчик, когда писал код.
— «Количество свободной памяти… 2 байта. Нет, этого уже мало. 4 байта будет в самый раз. Значит int. Это же аж 2147483647 байт памяти!, куда стлько, гы-гы». (И далее в зачатках отвергнутая мысль об использовании беззнакового, как абсурдная :)
Скорее всего, он думал на английском или хинди, а знаковое использовал из-за операции вычисления, описанной автором статьи, возможно при вычислениях программист, например, не заводил новую переменную, а вычислял разность в этой же.
Причин может быть масса, не обязательно такие «лобовые».
Причин может быть масса, не обязательно такие «лобовые».
640K will be enough =)
Вечно у них так, в микрософт =)
Вечно у них так, в микрософт =)
ну по логике количество памяти не может быть отрицательным, зачем вобще под него знаковую переменную отводить?
Лично я при разработке на си всегда объявляю беззнаковым все что можно) Точнее все что не будет принимать отрицательные значения.
Микрософт твердо следует заповеди: опиши ошибку в своей программе как особенность :)i40.tinypic.com/jpyi2x.gif
автор, вы молодец.
именно for fun!
именно for fun!
Чтобы получить машинный код команды JBE скомпилируем в Flat Assembler следующий кодНу зачем? Запускаем debug.exe из Windows (правда в Windows 7 его уже нет), пишем: «a», «Enter», «jbe 100», Enter, Enter, «d», Enter.
Смотрим команду: 76 FE, код и смещение перехода.
Жмём «q», Enter
простите, а почему нет? только что проверил, у меня debug.exe есть (Win7 Максимальная)
Очень странно.
www.kerrywong.com/2009/05/08/ms-debug-1981-2009/
www.kerrywong.com/2009/05/08/ms-debug-1981-2009/
ну там речь идет еще о Win7 RC. В комментариях некоторые отписались, что у них debug есть.
Забавно, но фасм все-таки удобней. Опять же 32/64 бита. BTW, не связано с сабжом, но все же — как можно более или менее удобно сконвертить binary (точней hex) представление флоата в собственно сам флоат. Я пока пользуюсь этим онлайн конвертером, но может есть что-то более удобное?
Всегда завидовал таким людям как автор. У вас наверное очень много свободного времени.
отличная работа!
а вы в курсе что лицензия IDA стоит $540? Что как бы делает нерентабельным использование легальных копий IDA для подобных хобби (у вас она конечно легальная?)
Да ладно вы. Скорее всего это триал, или подаренная версия ;)
— Гиви, у тебя диплом наверное купленный?
— Абижаишь дарагой. Падарили!
но я почему-то не верю
— Абижаишь дарагой. Падарили!
но я почему-то не верю
1) Как уже сказали — IDA для x86 есть в демо режиме. Описанные в статье действия делаются в ней не менее эффективно, чем в полной.
2) Поскольку указанные действия именно хобби, не предназначены для зарабатывания денег и не являются коммерческим использованием программы — автор чист перед законом и судом. Или вы из тех, кто считает, что private non-commercial use — тоже повод, чтобы посадить человека? :-)
2) Поскольку указанные действия именно хобби, не предназначены для зарабатывания денег и не являются коммерческим использованием программы — автор чист перед законом и судом. Или вы из тех, кто считает, что private non-commercial use — тоже повод, чтобы посадить человека? :-)
>> а вы в курсе что лицензия IDA стоит $540?
Вообще, сообщение не по теме топика, но разрешите доложить о свободной версии IDA Pro.
Вообще, сообщение не по теме топика, но разрешите доложить о свободной версии IDA Pro.
Вы исходите из презумции невиновности. Я (учитывая пост-советскую действительность) в данном случае исхожу из презумции виновности. Вот и ТС не спешит показать нам скриншот окна «About» в которой было бы видно какую он на самом деле версию использует.
Как-то не верю я howto-шкам в которых рассказывается как всего за 3 минуты с помощью Adobe Photoshop можно быстро менять размер фоток чтобы положить вконтакте. Не будет человек сознательно отстегрувший столько денег разменивать столь ценный инструмент на подобное «хобби».
Как-то не верю я howto-шкам в которых рассказывается как всего за 3 минуты с помощью Adobe Photoshop можно быстро менять размер фоток чтобы положить вконтакте. Не будет человек сознательно отстегрувший столько денег разменивать столь ценный инструмент на подобное «хобби».
Да какая разница какая у автора копия.
Исходя из вашей презумпции верните мне $100 (а я пока придумаю за что...)
я думаю вы зря потратите время придумывая за что. Все программы устанавливаемые на Debian командой «apt-get» или «make install» бесплатные. Кстати, почему $100 возвращать именно вам, а не например производителю программ или государству (в виде штрафа)?
Попробуйте следовать мировой юридической практике и исходить из презумпции невиновности :)
Я вам искренне желаю никогда не узнать на собственном опыте, каково это, когда исходят из презумпции виновности. И не какие-нибудь комментаторы, а гос. структуры, имеющие полномочия на несколько лет лишить вас возможности когда вздумается созерцать небо над головой.
В IDA Pro Free нет графического режима просмотра кода (тот, что на скриншоте — прямоугольнички со стрелочками).
Хотя кого это волнует.
Хотя кого это волнует.
а кто нибудь помнит микс, сделанный с помощью sndrec'ордеров и стандартны виндовых звуков?
интересно было бы посмотреть-послушать снова
интересно было бы посмотреть-послушать снова
эмм… хехе :) сам и нашёл :)
video.mail.ru/mail/iakimoff/479/456.html
video.mail.ru/mail/iakimoff/479/456.html
ОГРОМНОЕ человеческое спасибо!!!
«640 килобайт должно хватить всем».
Раньше было еще веселее :)
Раньше было еще веселее :)
А убрать ограничение на длину записи у вас мысли не было?
Во-первых не из Windows 98, а из Windows 95.
Во-вторых вы бы еще Hyperterminal взяли.
В третьих, всякий раз, когда MS сделает какое-то комплектное приложение хорошо работающим, сразу же найдется кто-нибудь, кто захочет повопить по этому поводу, что его шареварный супер-мега-дупер SoundRecorder64PRO выпихивают с рынка, «пользуясь монопольным положением», нате вам иск на стотышпицот мильонов.
Во-вторых вы бы еще Hyperterminal взяли.
В третьих, всякий раз, когда MS сделает какое-то комплектное приложение хорошо работающим, сразу же найдется кто-нибудь, кто захочет повопить по этому поводу, что его шареварный супер-мега-дупер SoundRecorder64PRO выпихивают с рынка, «пользуясь монопольным положением», нате вам иск на стотышпицот мильонов.
Это Sound Recoder то хорошо работающее приложение? Я помню, как звук им писал. По окончании 3-х минутной записи он завис и не сохранил ее.
Судя по Wikipedia, он практически не менялся с Windows 3.11. Просто у меня первая версия, которой я пользовался, была под Windows 98.
помню когда у меня появился комьютер с виндовс 95 (году в 97), я был еще неопытным мальцом и не знал что такое CD-grabber. В то время мне очень нравилась Nana — Remember the Time. И мне так хотлось что бы она была у меня на компьютере, что я приставил микрофон к колонке, запустил эту песню и записывал через эту самую Звукозапись с микрофона. Дело осложнялось тем, что лимит одноразовой записи был почему-то то ли минута, то ли полторы. По этому надо было во время и быстро нажать кнопку паузы и опять на кнопку запись. «Качественно» записать удалось раза с 5, а то и с 10. Эх… были же времена :)
Ссылка «Расширение функциональности готовых программ» 404. Поправьте пожалуйста. Или это страницу прибили?
Спасибо за замечание. Исправил.
Правильная ссылка: habrahabr.ru/blogs/asm/51857/
Правильная ссылка: habrahabr.ru/blogs/asm/51857/
клевая статья :)
Я помню это программка записывала максимум 1 минуту звука. Приходилось замедлять при записи, получалось раза в 3 длинее.
Вот интересное положение: нужно исправить всего одну строку, а ошибка как существовала долгие годы, так никто её и не починит. Я понимаю что «тестирование», «цена изменений», но ведь ситуация смешна и абсурдна в некотором разрезе. Диктат модели разработки.
P.S. На самом деле просто исходники потеряли :)
P.S. На самом деле просто исходники потеряли :)
да, новая звукозапись бредовая. У старой функционала в разы больше. Плюс новая еще и сохраняет звук иногда так что его их же wmp не открывает )
Кстати, чтобы быть совсем точным. В Windows 7 программа Звукозапись запускается через SoundRecorder.exe. Поэтому можно считать, что уже другая программа, а не sndrec32.exe.
Все описаные манипуляции легко и просто сделать в бесплатном отладчике OllyDbg www.ollydbg.de. Все-таки запускать IDA чтобы исправить один джамп это из пушки по воробьям.
Фишка в том, что заранее неизвестно, воробей там или дракон из параллельной вселенной :) ИМХО, лучше сразу разобраться и использовать очень мощные инструменты даже для не самых сложных задач (притом, неизвестно заранее, будет ли задача сложной). Хотя да, OllyDbg тоже очень мощный инструмент в правильных руках, но это уже дело вкуса :)
При исследовании программы сразу в IDA Pro для достижения одной цели можно совершенно случайно найти интересный код, который даст толчок для новых идей, которые можно реализовать «по ходу дела».
Например, когда снимал проверку наличия CD в Age of Empires II, наткнулся на код создания главного меню (где кнопки были расположены не совсем логично). По ходу дела изменил порядок кнопок.
Например, когда снимал проверку наличия CD в Age of Empires II, наткнулся на код создания главного меню (где кнопки были расположены не совсем логично). По ходу дела изменил порядок кнопок.
респект автору! ассемблер, дизассемблер, ностальгия.
Статья интересная, спасибо!
Хотелось бы узнать, почему MS отказался от такой программы как sndrec32 в пользу того убожества, которое есть в vista/7. Ну серьезно, там даже кнопки Play нету!
Хотелось бы узнать, почему MS отказался от такой программы как sndrec32 в пользу того убожества, которое есть в vista/7. Ну серьезно, там даже кнопки Play нету!
обожаю такие вещи) в смысле потрашения прог на асм)) круто
Хорошо что молодежь интересуется такими вещами а не наркотой и бухлом :) Вы молодец!
Для исправления ошибки достаточно было бы написать:
unsigned int AvailableMemory;
Спешу разочаровать автора, что этого в общем случае этого недостаточно. При работе программы на Win7-x64 с доступной памятью в 4 гига, вы получите абсолютно такую же ошибку какая и была (почему — попробуйте догадаться сами :))).
Похоже, вы невнимательно читали статью. Там написано, что функция GlobalMemoryStatus, которая используется для получения количества свободной оперативной памяти, никогда не возвращает значение больше 2³¹. То есть будь у вас свободно хоть 10 гигабайт, функция сообщит, что свободно всего 2 гигабайта. Проблема возникает лишь после того, как программа к возвращаемому числу свободной памяти добавляет размер текущего буфера, из-за чего и возникает ошибка.
Искренне благодарен вам за выкладывание исправленной программы. Как раз нужна была для довольно странной но задачи — заставить винду проигрывать другой звук при загрузке.
Sign up to leave a comment.
Коварный и ужасный sndrec32.exe