Как стать автором
Обновить

Комментарии 98

К слову, рекомендую небольшой и бесплатный аудиоредактор Wavosaur.

При объеме всего 500Кб. он имеет поддержку основных форматов, VST плагинов и т.д. А главное — не требует установки, так что его можно носить с собой на флэшке.
а я тихонько порекомендую Audacity — свободный аудиоредактор, который при желании поддерживает VST и ASIO.
От автора статьи:

Не стоит искать здесь никаких рационалистических побуждений. Существует масса других очень достойных и более удобных программ для записи и редактирования аудио. Просто сама возможность запустить и поработать в «той самой программе» греет душу :)
Возможно, вы не обратили на это внимание, но вы отвечаете автору статьи.
Обратил, я его словами к нему же и обращаюсь.
а мне wavelab нравится.
НЛО прилетело и опубликовало эту надпись здесь
:) Я когда-то освоила вейфлаб. И поэтому для меня он самый любимый и удобный)
Про легкость и быстроту говорить не буду, wavosaur действитльно без особых заморочек.
теперь поглядите на стоимость программы, что вы освоили. :)
я в курсе :)
Вы вообще поняли о чем статья?:)
К слову, рекомендую небольшой платный аудиоредактор Pro Tools.
Порадовали душу. Спасибо :-)
Зачем ассемблер и Hexplorer, когда есть hiew?
Пробелы-с в хакинге у вас, батенька :)
Отчего же проблемы? Если задачу получилось реализовать этим инструментарием, то это же хорошо)
Использовать компилятор для замены перехода — это все равно что грачевать на самосвале.
Я уже не говорю о том, что в hiew вся процедура от начала и до конца заняла бы примерно 15 нажатий клавиш, смотрю, народ и так не понял, о чем вообще разговор :)
У каждого свой инструментарий. Я, например, не перевариваю hiew, не в обиду sen будет сказано. Автор выбрал не самый легкий путь, я тоже так считаю, но это не повод выстебывать :) на хабре и так мало RE/DRE, пусть растет.
Согласен, скорее всего здесь было бы удобнее использовать Hiew. В данном случае я, похоже, стрелял из пушки по воробьям. В случае с заменой какого-нибудь достаточно большого участка машинного кода (как например в статье о модификации программ) связка FASM + Hexplorer была бы более актуальной.
Microsoft заявляет, что при наличии более 2 гигабайт оперативной памяти программа сообщает о её недостаче, и это особенность архитектуры приложения.

Микрософт твердо следует заповеди: опиши ошибку в своей программе как особенность :)

Попробую предположить, о чем думал разработчик, когда писал код.
— «Количество свободной памяти… 2 байта. Нет, этого уже мало. 4 байта будет в самый раз. Значит int. Это же аж 2147483647 байт памяти!, куда стлько, гы-гы». (И далее в зачатках отвергнутая мысль об использовании беззнакового, как абсурдная :)
Скорее всего, он думал на английском или хинди, а знаковое использовал из-за операции вычисления, описанной автором статьи, возможно при вычислениях программист, например, не заводил новую переменную, а вычислял разность в этой же.

Причин может быть масса, не обязательно такие «лобовые».
«Well… Available memory… 2 bytes. No, it's too little. 4 bytes will be enough. Oh, fuck! It's 2147483647 bytes of memory!, for what so much, lol»
«Ту хум хау»
НЛО прилетело и опубликовало эту надпись здесь
640K will be enough =)
Вечно у них так, в микрософт =)
ну по логике количество памяти не может быть отрицательным, зачем вобще под него знаковую переменную отводить?
См. выше — человек сэкономил 4 байта памяти на повторном использовании какой-то переменной, премию небось получил :))
Лично я при разработке на си всегда объявляю беззнаковым все что можно) Точнее все что не будет принимать отрицательные значения.
Точно, при первом использовании переменной надо головой подумать, какие она значения может принимать и соответственно установить тип и размер. А не делать «на всякий пожарный» :)
Микрософт твердо следует заповеди: опиши ошибку в своей программе как особенность :)
i40.tinypic.com/jpyi2x.gif
автор, вы молодец.
именно 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 Максимальная)
ну там речь идет еще о Win7 RC. В комментариях некоторые отписались, что у них debug есть.
у меня в professional нет
у вас 64-битная?
да
Значит, debug.exe есть в 32-разрядных Windows 7 (как минимум в версии Ultimate)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
и домашнаяя расширенная
Забавно, но фасм все-таки удобней. Опять же 32/64 бита. BTW, не связано с сабжом, но все же — как можно более или менее удобно сконвертить binary (точней hex) представление флоата в собственно сам флоат. Я пока пользуюсь этим онлайн конвертером, но может есть что-то более удобное?
Всегда завидовал таким людям как автор. У вас наверное очень много свободного времени.
В ночь перед выходными можно и побаловаться немного ;)
отличная работа!
а вы в курсе что лицензия IDA стоит $540? Что как бы делает нерентабельным использование легальных копий IDA для подобных хобби (у вас она конечно легальная?)
Да ладно вы. Скорее всего это триал, или подаренная версия ;)
— Гиви, у тебя диплом наверное купленный?
— Абижаишь дарагой. Падарили!

но я почему-то не верю
Зато когда автор начнёт коммерческий проект, и ему понадобится отладчик, то с большой вероятностью он купит IDA. Тем самым производитель сэкономит на рекламе и получит лояльного пользователя, бесплатно рекламирующего его товар ;)
1) Как уже сказали — IDA для x86 есть в демо режиме. Описанные в статье действия делаются в ней не менее эффективно, чем в полной.

2) Поскольку указанные действия именно хобби, не предназначены для зарабатывания денег и не являются коммерческим использованием программы — автор чист перед законом и судом. Или вы из тех, кто считает, что private non-commercial use — тоже повод, чтобы посадить человека? :-)
>> а вы в курсе что лицензия IDA стоит $540?
Вообще, сообщение не по теме топика, но разрешите доложить о свободной версии IDA Pro.
Вы исходите из презумции невиновности. Я (учитывая пост-советскую действительность) в данном случае исхожу из презумции виновности. Вот и ТС не спешит показать нам скриншот окна «About» в которой было бы видно какую он на самом деле версию использует.

Как-то не верю я howto-шкам в которых рассказывается как всего за 3 минуты с помощью Adobe Photoshop можно быстро менять размер фоток чтобы положить вконтакте. Не будет человек сознательно отстегрувший столько денег разменивать столь ценный инструмент на подобное «хобби».
Да какая разница какая у автора копия.
Исходя из вашей презумпции верните мне $100 (а я пока придумаю за что...)
я думаю вы зря потратите время придумывая за что. Все программы устанавливаемые на Debian командой «apt-get» или «make install» бесплатные. Кстати, почему $100 возвращать именно вам, а не например производителю программ или государству (в виде штрафа)?
Ну тогда верните за зря потраченное время. Вы же в любом случае виновны! ;)
Попробуйте следовать мировой юридической практике и исходить из презумпции невиновности :)
ГК РФ кстати основана на презумпции виновности…
Я вам искренне желаю никогда не узнать на собственном опыте, каково это, когда исходят из презумпции виновности. И не какие-нибудь комментаторы, а гос. структуры, имеющие полномочия на несколько лет лишить вас возможности когда вздумается созерцать небо над головой.
В IDA Pro Free нет графического режима просмотра кода (тот, что на скриншоте — прямоугольнички со стрелочками).
Хотя кого это волнует.
А к чему вы это? Ну не IDA, так OllyDbg можно взять, делов то. Это не менее достойный инструмент который способен удовлетворить большинство потребностей. Впрочем, на любимое хобби, которое есть отдушина в жизни, как правило людям не жалко вообще никаких денег.
а кто нибудь помнит микс, сделанный с помощью sndrec'ордеров и стандартны виндовых звуков?
интересно было бы посмотреть-послушать снова
ОГРОМНОЕ человеческое спасибо!!!
«640 килобайт должно хватить всем».
Раньше было еще веселее :)
А убрать ограничение на длину записи у вас мысли не было?
Возможно, это будет еще один повод поковыряться в этой программе каким-нибудь тихим вечером ;)
Во-первых не из Windows 98, а из Windows 95.
Во-вторых вы бы еще Hyperterminal взяли.
В третьих, всякий раз, когда MS сделает какое-то комплектное приложение хорошо работающим, сразу же найдется кто-нибудь, кто захочет повопить по этому поводу, что его шареварный супер-мега-дупер SoundRecorder64PRO выпихивают с рынка, «пользуясь монопольным положением», нате вам иск на стотышпицот мильонов.
Это Sound Recoder то хорошо работающее приложение? Я помню, как звук им писал. По окончании 3-х минутной записи он завис и не сохранил ее.
Когда отвечаете — не торопитесь, прочтите внимательнее то, на что вы отвечаете, попробуйте понять смысл прочитанного.
Судя по Wikipedia, он практически не менялся с Windows 3.11. Просто у меня первая версия, которой я пользовался, была под Windows 98.
В 3.11 был другой. А вот в 95 был вот имено этот.
помню когда у меня появился комьютер с виндовс 95 (году в 97), я был еще неопытным мальцом и не знал что такое CD-grabber. В то время мне очень нравилась Nana — Remember the Time. И мне так хотлось что бы она была у меня на компьютере, что я приставил микрофон к колонке, запустил эту песню и записывал через эту самую Звукозапись с микрофона. Дело осложнялось тем, что лимит одноразовой записи был почему-то то ли минута, то ли полторы. По этому надо было во время и быстро нажать кнопку паузы и опять на кнопку запись. «Качественно» записать удалось раза с 5, а то и с 10. Эх… были же времена :)
Да, времена были просто супер :) Я для того, чтобы избежать ограничения в 60 секунд, предварительно записывал звук нужной длины (тишину), а потом поверх уже записывал то что было нужно.
Я думаю у многих найдется несколько забавных историй, связанных с этой программой. Очень интересно почитать.
Ссылка «Расширение функциональности готовых программ» 404. Поправьте пожалуйста. Или это страницу прибили?
Спасибо за замечание. Исправил.
Правильная ссылка: habrahabr.ru/blogs/asm/51857/
клевая статья :)
Я помню это программка записывала максимум 1 минуту звука. Приходилось замедлять при записи, получалось раза в 3 длинее.
комбо:
1) записываем 10-30 секунд звука
2) Ctrl+C
3) Ctrl+V много раз, до нужной продолжительности (в win7 не работает)
4) Перематываем в начало и записываем
Вот интересное положение: нужно исправить всего одну строку, а ошибка как существовала долгие годы, так никто её и не починит. Я понимаю что «тестирование», «цена изменений», но ведь ситуация смешна и абсурдна в некотором разрезе. Диктат модели разработки.

P.S. На самом деле просто исходники потеряли :)
Да-да, одну строку, в исходниках, которые никто не получит (тем более что их потеряли). А так один байт! Неужели сложно патчик с каким-нибудь апдейтом выкатить было?
P.S. Хотя если подробнее посчитать — ошибка лишь в одном бите ;)
JLE и JBE различаются не одним битом, если не ошибаюсь.
Это «классические» JE и JNE отличаются одним битом. Биткряк, ностальджи, романтика )
jle — 7Eh — 01111110b
jbe — 76h — 01110110b
Удивительное рядом :)
да, новая звукозапись бредовая. У старой функционала в разы больше. Плюс новая еще и сохраняет звук иногда так что его их же wmp не открывает )
Кстати, чтобы быть совсем точным. В Windows 7 программа Звукозапись запускается через SoundRecorder.exe. Поэтому можно считать, что уже другая программа, а не sndrec32.exe.
Все описаные манипуляции легко и просто сделать в бесплатном отладчике OllyDbg www.ollydbg.de. Все-таки запускать IDA чтобы исправить один джамп это из пушки по воробьям.
Фишка в том, что заранее неизвестно, воробей там или дракон из параллельной вселенной :) ИМХО, лучше сразу разобраться и использовать очень мощные инструменты даже для не самых сложных задач (притом, неизвестно заранее, будет ли задача сложной). Хотя да, OllyDbg тоже очень мощный инструмент в правильных руках, но это уже дело вкуса :)
При исследовании программы сразу в IDA Pro для достижения одной цели можно совершенно случайно найти интересный код, который даст толчок для новых идей, которые можно реализовать «по ходу дела».
Например, когда снимал проверку наличия CD в Age of Empires II, наткнулся на код создания главного меню (где кнопки были расположены не совсем логично). По ходу дела изменил порядок кнопок.
респект автору! ассемблер, дизассемблер, ностальгия.
Статья интересная, спасибо!
Хотелось бы узнать, почему MS отказался от такой программы как sndrec32 в пользу того убожества, которое есть в vista/7. Ну серьезно, там даже кнопки Play нету!
обожаю такие вещи) в смысле потрашения прог на асм)) круто
Хорошо что молодежь интересуется такими вещами а не наркотой и бухлом :) Вы молодец!
Для исправления ошибки достаточно было бы написать:

unsigned int AvailableMemory;

Спешу разочаровать автора, что этого в общем случае этого недостаточно. При работе программы на Win7-x64 с доступной памятью в 4 гига, вы получите абсолютно такую же ошибку какая и была (почему — попробуйте догадаться сами :))).
Похоже, вы невнимательно читали статью. Там написано, что функция GlobalMemoryStatus, которая используется для получения количества свободной оперативной памяти, никогда не возвращает значение больше 2³¹. То есть будь у вас свободно хоть 10 гигабайт, функция сообщит, что свободно всего 2 гигабайта. Проблема возникает лишь после того, как программа к возвращаемому числу свободной памяти добавляет размер текущего буфера, из-за чего и возникает ошибка.
Добавил описанную проблему и ссылку на эту статью в Community bug tracker.
Искренне благодарен вам за выкладывание исправленной программы. Как раз нужна была для довольно странной но задачи — заставить винду проигрывать другой звук при загрузке.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории