tag:blogger.com,1999:blog-30744165.post4508858203595349227..comments2024-02-16T18:41:32.376+11:00Comments on Записки дебианщика: Декомпиляторы, или Что делать, если нужно восстановить исходники из бинарников?virenshttp://www.blogger.com/profile/12420257446841864325noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-30744165.post-2525749741187634572014-04-21T00:06:46.882+10:002014-04-21T00:06:46.882+10:00а как декампелировать ехе написанный для мс доса. ...а как декампелировать ехе написанный для мс доса. есть ли варианты?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-30744165.post-51602040178404316482013-08-08T09:58:30.229+10:002013-08-08T09:58:30.229+10:00вот интересный проект (в зародыше правда) с опубли...вот интересный проект (в зародыше правда) с опубликованными статьями по нему<br />http://demono.ru<br />есть кстати онлайн-сервис восстановления кода для PowerPC и рабочими примерами - можно поигратьсяAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-30744165.post-9104307196130913092013-08-08T08:31:31.565+10:002013-08-08T08:31:31.565+10:00There is an interesting Russian project (not decom...There is an interesting Russian project (not decompiler, but restorer of binary code algorithms). It's in the initial state, but some examples already works!<br />http://demono.ru<br /><br />The site has an online-service for recovery algorithms of code at the PowerPC- assembler.<br />I recommend to look.<br />http://demono.ru/Online/online.htmlAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-30744165.post-11325923410619273202013-03-26T21:23:32.318+11:002013-03-26T21:23:32.318+11:00Подскажите, пожалуйста, где можно найти специалист...Подскажите, пожалуйста, где можно найти специалиста по декомпляции библиотек.<br />Надо разобрать структуру одной функции, но к сожалению ни код Асма ни запутанный сырой код на декомпильованом С не дает разобраться в работе библиотеки.<br />Где можно найти фрилансера, что подаст метод на блюдечке с синей каемочкой? Среди тегов на фриланс нету скила декомпиляция :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-30744165.post-28160098653802681332012-12-24T21:06:26.652+11:002012-12-24T21:06:26.652+11:00@Gregory комментирует...
Virens, отправил исходник...@Gregory комментирует...<br /><b>Virens, отправил исходник Вам на почту</b><br />Да, спасибо, только что получил.<br /><br />Результат в самом деле лучше того, что выдаёт бумеранг и RecStudio.<br /><br />Самая большая проблема в том, что бинарник содержит вызовы библиотечных фукнций из BLAS, и, что понятно, декомпилятор выдаёт содержимое этих функций. BLAS-то у меня есть, и не особенно нужен, а вот ход и структура алгоритма интересны больше. <br /><br />Огромное спасибо за исходник - у меня IDA Pro нет, а посмотреть на его работу очень хотелось. По всему видно, что народная молва про IDA Pro не врёт - результат в самом деле на голову выше конкурентов.virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-18093157200827212082012-12-24T18:54:30.362+11:002012-12-24T18:54:30.362+11:00Virens, отправил исходник Вам на почтуVirens, отправил исходник Вам на почтуGregoryhttps://www.blogger.com/profile/10079478066229104940noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-55268541104641804312012-12-23T09:53:50.169+11:002012-12-23T09:53:50.169+11:00@Gregory комментирует...
Я правильно понимаю, что ...@Gregory комментирует...<br /><b>Я правильно понимаю, что Вы воспользоваться пиратским IDA Pro не можете в данном случае?</b><br /><br />Мне религия не позволяет :-)<br /><br /><b>А прислать декомпиленный с её помощью код можно?</b><br /><br />Конечно! Можно выложить на http://pastebin.com/ или прислать мне на почту mydebianblog@gmail.ком, буду благодарен.<br /><br /><b>Потому что он гораздо лучше того ужаса, который выдают Boomerang и RecStudio для этого mex'a</b><br /><br />У меня IDA Pro нет (и не предвидится), так что был бы очень рад посмотреть на его результаты.virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-32555143448821827052012-12-23T09:50:03.378+11:002012-12-23T09:50:03.378+11:00@lierdakil комментирует...
По-моему проще асм чит...@lierdakil комментирует...<br /><br /><b>По-моему проще асм читать, чем тот ужас, который выдает recstudio...</b><br /><br />Асм читать как раз и не хочется, потому как хочется выудить структуру алгоритма. Он довольно сложный, то есть это не просто перемножение пары матриц.<br /><br /><br />@Iskander комментирует...<br /><br />Это оффтопик. Мой посыл был в том, что программирование и code monkeys != computer science. Об этом многие не знают и путают их. Отличие в том, что один из них умеет мыслить абстрактно, а другой - нет. И этому нельзя научить - это можно развить, до определённой степени.<br /><br /><b>всякого плюсатого говна с шаблонами, классами и прочими мигалками<br /> Ну вот полегче, потоньше как-то надо...</b><br /><br />Тоньше не получается: мне не хотелось тратить время на реализацию этого алгоритма - я знаю, как он работает, и мне хотелось взять готовый код и его кастомизировать. И я не понимаю, зачем разводить всю эту хреновину ради ОДНОГО алгоритма, который на Си занимает пару сотен строчек кода.<br /><br /><b>абстрактных задач по терверу</b><br /><a href="http://www.amazon.com/Intuitive-Probability-Random-Processes-MATLAB/dp/0387241574/ref=sr_1_1?s=books&ie=UTF8&qid=1356216179&sr=1-1&keywords=intuitive+probability" rel="nofollow">Стивен Кай</a> спасёт отца русской демократии. Без шуток и иронии - это один из лучших учебников по прикладной теории вероятности. Я сам его почитываю время от времени.<br /><br /><b>P.S. Автору поста хорошая новость под новый год E17... РЕЛИЗНУЛАСЬ!</b><br />Да я уж видел. Конец света близок, как никогда - такие вещи просто так не релизят :-)<br /><br /><b>Ждем новогоднего поста от автора о впечатлениях!</b><br />Тут у нас жарко, лето и совсем ничего не хочется делать. Но я попробую :-)<br /><br /><br />Искандер, завязывай с оффтопом. Давай лучше письмом напиши. <br /><br />Вообще, если нужны хорошие книжки по терверу и линейной алгебре - обращайся, но учти: мои книги - только на английском. virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-16733870139422836022012-12-23T08:30:40.556+11:002012-12-23T08:30:40.556+11:00Я правильно понимаю, что Вы воспользоваться пиратс...Я правильно понимаю, что Вы воспользоваться пиратским IDA Pro не можете в данном случае? А прислать декомпиленный с её помощью код можно? Потому что он гораздо лучше того ужаса, который выдают Boomerang и RecStudio для этого mex'aGregoryhttps://www.blogger.com/profile/10079478066229104940noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-80789672537914624372012-12-23T01:36:35.464+11:002012-12-23T01:36:35.464+11:00Уффф, ничего себе мне тут лекцию начитали!
Так поп...Уффф, ничего себе мне тут лекцию начитали!<br />Так попорядку:<br />@Vlsu<br />По-моему приведенный Вами кусок на Паскале не соответствует по смыслу куску на Сях... (В Паскале ведь, если мне память не изменят 0!=1)?<br />@virens<br /><b>Computer science учит придумывать новое и для этого люто пичкает теорией.</b><br />И поэтому существование такого в родной стране меня дико удивило, там действительно люто, бешено пичкают теорией!<br /><b>В хороших университетах это добавляют практикой</b><br />И этому я тоже удивился, ибо практики там тоже хватает...<br /><b>всякого плюсатого говна с шаблонами, классами и прочими мигалками</b><br />Ну вот полегче, потоньше как-то надо...<br /><b>учат мыслить абстрактно</b><br />Иногда уж слишком абстрактно...<br /><b>научить человека мыслить моделями</b><br />Еслиб еще был предмет который учит не просто решать кучу интегралов, и абстрактных задач по терверу (о дааа задачи про кучу шаров или 100500 выстрелов наверное именно такая абстракция должна мне приходить в голову) или мат статистике (привет расчетная методичка состоящая целиком из цифр...)<br />Так я о чем собсна... А так вот еслиб в дополнение ПОДЧЕРКИВАЮ в ДОПОЛНЕНИЕ к теории давали еще и теорию составления мат моделей на примере... да хоть на каком-то более или менее реальном примере... ну жить бы стало лучше... жить бы стало веселее как говорил Иосиф Виссарионович...<br /><b>декомпилировать линуксовый экзешник в посте</b> <br />Разгребусь с сессией и попробую, большего сказать не могу (правда сомневаюсь что gcc-шный декомпилированый код будет по степени заговненности сильно лучше кода Visual Studio)<br />P.S. Автору поста хорошая новость под новый год E17... РЕЛИЗНУЛАСЬ! Ждем новогоднего поста от автора о впечатлениях!Iskanderhttps://www.blogger.com/profile/14147777464324088694noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-47658811942136011062012-12-22T23:19:44.518+11:002012-12-22T23:19:44.518+11:00По-моему проще асм читать, чем тот ужас, который в...По-моему проще асм читать, чем тот ужас, который выдает recstudio...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-30744165.post-52669381402252947692012-12-20T09:27:56.478+11:002012-12-20T09:27:56.478+11:00@Iskander комментирует...
Толи я чего не понимаю т...@Iskander комментирует...<br /><b>Толи я чего не понимаю толи computer science как раз этому и учит</b><br />Computer science учит придумывать новое и для этого люто пичкает теорией. В хороших университетах это добавляют практикой, но в век cost-cutting и прочих dirt-cheap практики становится больше, а теории - меньше. Это приводит к тому, что многие под computer science понимают кодинг. Это неправильно в корне, но как можно безграмотным Джонам До объяснить, что теория важна?<br /><br /><b>Да и software engineering тут тоже не лыком шиты.</b><br />Эти сползают в coding monkey ещё более стремительными темпами. Не говоря о том, что они забиты выпускниками индийских богаделен и прочими жрецами джавы.<br /><br /><b>кому нужны "monkey" их нанимают в Индии и не заморачиваются...</b><br />Искандер, ты просто никогда не видел результат их деятельности. Те, что приезжают сюда на postgraduate study и занимаются телекомом (а чем же ещё?!) - просто кошмарны. Никакой мысли outside the box, вообще. Плюс то, что они меня часто спрашивают по линейной алгебре и терверу... это леденящий душу невыразимый ужас. И они пишут научные статьи!<br /><br />@Vlsu комментирует...<br /><b>как сейчас обстоят дела с C++?</b><br />Я не знаю, и мне это мало интересно. Меня огорчают попытки воткнуть плюсы везде и всюду, даже где они не нужны совсем. Пример: один деятель написал <a href="http://sourceforge.net/projects/quadprog/?source=dlp" rel="nofollow">quadprog++</a> (это Dual Active-set optimization, Goldfarb-Idnani algorithm). <br /><br />Так вот, это всего лишь один алгоритм, и на Си это занимает 30-40 килобайт исходников (я пишу похожий, так что примерно так выходит). Вместо этого мы имеем 630 килобайт (!) всякого плюсатого говна с шаблонами, классами и прочими мигалками, которые только усложняют чтение и без того мозголомного кода. <br /><br />У меня только один вопрос: зачем?!<br /><br /><b>я практиковался с C++ и написал в Visual Studio простенькое консольное приложение... решил его декомпилировать. Все пробы выдавали ОГРОМНОЕ месиво</b><br /><br />Собственно, выше пример как раз из той же серии. Декомпиляторые не выдадут тебе обратно чистенький и незаплёванный код. Будет здорово, если ты вообще выудишь оттуда хотя бы структуру программы или какие-то намёки (как удалось это мне).<br /><br /><b>И да, это ещё хорошо, что нет холивара Python vs C++</b><br />А какой тут может быть холивар?<br /><br /><a href="https://www.google.com.au/search?num=20&hl=en&safe=off&client=firefox-a&hs=Ca8&tbo=d&rls=org.mozilla%3Aen-GB%3Aofficial&q=c%2B%2B+compatibility+issues+problems&oq=c%2B%2B+compatibility+issues+problems" rel="nofollow">c++ compatibility issues problems</a> - более 3 миллионов совпадений.<br /><br /><a href="https://www.google.com.au/search?num=20&hl=en&safe=off&client=firefox-a&tbo=d&rls=org.mozilla%3Aen-GB%3Aofficial&q=python+upgrade+transition+pain+in+the+ass" rel="nofollow"><br />python upgrade transition pain in the ass</a> - почти миллион совпадений.<br /><br /><a href="http://maximum-value.blogspot.com.au/2012/12/rails-3-sqlite-rails-v322.html" rel="nofollow">Любителям Руби-на-рельсах.</a><br /><br />Какие холивары могут быть там, где никто не думает об обратной совместимости хотя бы нескольких последних версий?!<br /><br /><b>Что-то дельное - это опыт, умение мыслить и создавать своё. Этому и учат в ВУЗах.</b><br />Vlsu, ты отчасти прав: учат мыслить абстрактно и пытаться понять, как оно всё устроено. <br /><br /><b>Если программист научится моделировать ситуацию в уме</b><br />Собственно, это и есть образование: научить человека мыслить моделями. А не просто подставлять числа в формулы. Увы, но последнее появляется всё больше и больше, причём даже в университетах.<br /><br /><br /><br />По теме поста: Vlsu и Iskander, как насчёт попробовать декомпилировать линуксовый экзешник в посте? Оно в общем представляет интерес. virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-2886513400558718132012-12-20T07:14:50.248+11:002012-12-20T07:14:50.248+11:00@virens
Пост довольно полезный, но я так до конца...@virens<br /><br />Пост довольно полезный, но я так до конца и не понял, как сейчас обстоят дела с C++? <br /><br />Пару лет назад вставала такая задача, но все попытки декомпилировать виндовый exe-шник ничем хорошим не увенчалась. <br /><br />Вот как обстояли дела: я практиковался с C++ и написал в Visual Studio простенькое консольное приложение (тест по физике с выдачей оценки в конце). Так вот, ради интереса решил его декомпилировать. Все пробы выдавали ОГРОМНОЕ месиво, в котором совершенно не понятно, кто что делает. Хотя переменных было не много, пара формул, пара условий и один цикл... <br /><br /><br /><b>А там есть где наступить на грабли.</b><br /><br />Будем с нетерпением ждать продолжение! <br /><br /><br /><b>Вообще-то это оффтопик, от которого стоит воздержаться всем участникам, но тем не менее</b><br /><br />Здесь есть такие участники, которых очень трудно сдерживать :-)<br />И да, это ещё хорошо, что нет холивара Python vs C++, который присущ почти любому посту про программирование<br /><br /><br />@Iskander<br /><br /><b>где обучают чему-то дельному в этой части, а не просто куски паттернов+Дельфи, в лучшем случае кусок C++</b><br /><br />Что-то дельное - это опыт, умение мыслить и создавать своё. Этому и учат в ВУЗах.<br /><br />Начну издалека: в школе учат программированию на паскале. Пример цикла: "for i:=1 to n do". Для будущего программиста не важен вид этой строки для определённого языка программирования, а важно то, что с его помощью можно сделать. Если программист научится моделировать ситуацию в уме, то сможет описать её на любом языке программирования. Найдёт, что в C++ приведённый цикл выглядит следующим образом: "for (i=0; i<n; i++)"...<br /><br />Так что нужно выбирать самому, кем становиться: "творцом нового" или "наборщиком шаблонов"Vlsuhttps://www.blogger.com/profile/07399816785525055158noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-83180918084564700512012-12-19T09:24:40.603+11:002012-12-19T09:24:40.603+11:00Есть отличие: обезьяны не придумают новый алгоритм...<b>Есть отличие: обезьяны не придумают новый алгоритм или очередную инновацию - это просто исполнители.</b><br />Толи я чего не понимаю толи <a href="http://mit.spbau.ru/department#cs" rel="nofollow">computer science как раз этому и учит</a> Да и software engineering тут тоже не лыком шиты. Так что зря Вы так Михаил, ежели кому нужны "monkey" их нанимают в Индии и не заморачиваются...Iskanderhttps://www.blogger.com/profile/14147777464324088694noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-22502188143591510502012-12-19T08:59:40.616+11:002012-12-19T08:59:40.616+11:00@Iskander комментирует...
А что бывают другие? Пок...@Iskander комментирует...<br /><b>А что бывают другие? Покажи мне ВУЗ</b><br />Вообще-то это оффтопик, от которого стоит воздержаться всем участникам, но тем не менее.<br /><br />Другие - бывают, но это не задача ВУЗа (университета) выпускать coding monkeys. В университете прививают и развивают абстрактное логическое мышление - в хороших университетах к этому идут прикладные курсы, показывающие, как всё это использовать. А не просто бубнят тервер Чистякова или линейную алгебру Кострикина-Манина родом из 50-х годов.<br /><br />Coding monkeys готовят в ПТУ, или как тут их политкорректно называют, Institutes (TAFE in Australia). Типичные курсы программирования выглядят <a href="http://www.hunter.tafensw.edu.au/Browse-Courses/Pages/28256-Programming-for-Babies-and-Toddlers-Short-Course.aspx" rel="nofollow">вот так</a>... эээ... ну или <a href="http://www.hunter.tafensw.edu.au/Browse-Courses/Pages/10317-Programming-Certificate-IV.aspx" rel="nofollow">вот так</a>. Ну да, программирование apps для айфона, Джава (с аутентичным индийским раджой в качестве препода), и вёб-дизайн. <br /><br />Есть отличие: обезьяны не придумают новый алгоритм или очередную инновацию - это просто исполнители. <br /><br /><b>мы будем оченна рады...</b><br />Мне тут просто пришлось разбираться с MEX-файлами в МАТЛАБ, и я с удивлением обнаружил, что документации по этому поводу с гулькин хвост. А там есть где наступить на грабли.virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-80043920083470827602012-12-18T15:26:17.205+11:002012-12-18T15:26:17.205+11:00@redVi
куда уж нам, самоучкам-недопрограммерам
А ч...@redVi<br /><b>куда уж нам, самоучкам-недопрограммерам</b><br />А что бывают другие? Покажи мне ВУЗ где обучают чему-то дельному в этой части, а не просто куски паттернов+Дельфи, в лучшем случае кусок C++... Единственным исключением из правил считаю Академический университет в Питере, там и правда учат дельному, но там магистратура. (правда КАКАЯ!)<br />@virens<br /><b>Так что если в скором времени тут начнут появляться посты по хардкорному Сишному программированию мозговыносящих алгоритмов</b><br />... мы будем оченна рады...<br /><br />Iskanderhttps://www.blogger.com/profile/14147777464324088694noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-52581658806380485422012-12-17T16:55:30.976+11:002012-12-17T16:55:30.976+11:00@redVi комментирует...
Отличный пост, спасибо.
Пож...@redVi комментирует...<br /><b>Отличный пост, спасибо.</b><br />Пожалуйста. Мне просто по нужде пришлось разбираться со всем этим. Я так понял, что пока никто не отважился декомпилировать приведённый в посте файл... Придётся его писать самому :-(<br /><br /><b>Для практического применения мне пока без надобности</b><br />И хорошо, если б не пригодилось. Выуживать из этого месива алгоритм - дело безблагодатное.<br /><br /><br />@Serge Ku комментирует...<br /><b>Пост - как украсть чужой алгоритм.</b><br />Сергей, это не совсем так. В моём случае, по крайней мере. Проблема в том, что мы все на факультете используем эти алгоритмы для работы (мы - инженеры, а не математики). И этот мерзавец потратил 7 лет для их создания и отладки. А потом взял и свалил, не оставив никому исходников. Даже описания алгоритмов пришлось выуживать из его статей.<br /><br />Как бы это помягче сказать, джентельмены так не делают. Зато у меня есть шанс отличиться и сделать алгоритм лучше. Что я сейчас и пытаюсь сделать. Так что если в скором времени тут начнут появляться посты по хардкорному Сишному программированию мозговыносящих алгоритмов - не стоит удивляться :-)virenshttps://www.blogger.com/profile/12420257446841864325noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-82052854036651955452012-12-17T16:44:11.566+11:002012-12-17T16:44:11.566+11:00Пост - как украсть чужой алгоритм. Уж да...Пост - как украсть чужой алгоритм. Уж да...Anonymoushttps://www.blogger.com/profile/15061332053025383182noreply@blogger.comtag:blogger.com,1999:blog-30744165.post-20437033426267159512012-12-17T16:35:37.617+11:002012-12-17T16:35:37.617+11:00Отличный пост, спасибо. Для практического применен...Отличный пост, спасибо. Для практического применения мне пока без надобности (куда уж нам, самоучкам-недопрограммерам), но всё может пригодиться. redVihttps://www.blogger.com/profile/14706445531934445700noreply@blogger.com