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