<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90323</guid>
        <pubDate>Sun, 24 Aug 2003 13:42:34 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90323</link>
        <description><![CDATA[esperanto: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Dmitriy SF, 19.08.03, 00:10:09</span><div class='quote '>Кто-. &nbsp;ведь должно быть однозначное соответствие между кодом на ЯВУ и машинным кодом, или я не прав?</div></div><br><br><br>нет такого соответствия нет <br>]]></description>
        <author>esperanto</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90322</guid>
        <pubDate>Sun, 24 Aug 2003 12:58:20 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90322</link>
        <description><![CDATA[Jin X: Ты знаешь... если брать Турбо Паскаль, то там оптимизации вообще почти нет, т.е. встречаются даже такие глупые конструкции, как...<br><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">mov [bp+4],ax&#60;br&#62;mov ax,[bp+4]</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>Здесь теоретически можно написать диз-паскалер :). А если у тебя в наличии есть turbo.tpl и tpu-шки (той же версии!), то можно даже имена функций и некоторых переменных вынуть (кроме определённых в главном модуле программы, если в exe-шнике нет отладочной информации). Т.к, например, вызов процедуры - это всегда несколько mov-ов с push-ами, а затем call. А что за функции - можно узнать методом сравнения. С арифметическими операциями уже сложнее. Конечно, в любом случае это гемор ещё тот. Кстати, может, вот это тебе немного поможет? : http://reversing.net]]></description>
        <author>Jin X</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90321</guid>
        <pubDate>Tue, 19 Aug 2003 10:08:48 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90321</link>
        <description><![CDATA[Visitor: После оптимизации ассемблерного кода, которую выполнит компилятор в процессе компиляции, <strong class='tag-b'>простое и очевидное</strong> взаимное соответствие между операторами ЯВУ и машинным кодом построить уже довольно сложно.<br><br>Причем, проблемы тут две:<br><br>1. ЧЕЛОВЕКУ, пишущему такой декомпилятор, ЧРЕЗВЫЧАЙНО трудно обратить В СВОЕЙ ГОЛОВЕ то преобразование, которое выполняет компилятор над исходным кодом. Т.е. ПРИДУМАТЬ АЛГОРИТМ декомпилятора сложно, тем более, что он будет существенно отличаться для каждого конкретного компилятора -- оптимизируют-то все по-разному... Есть, конечно, всякие обходные пути, эвристики там, перебор с возвратами, но сильного облегчения вы от етого не почувствуете :)<br><br>2. Вот ета НЕОДНОЗНАЧНОСТЬ, вызванная ПОТЕРЕЙ информации при компиляции, может, в худшем случае, привести и вот к такому <a class='tag-url' href='http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=cpp;action=display;num=1060596934' target='_blank'>коду</a> ;)]]></description>
        <author>Visitor</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90320</guid>
        <pubDate>Tue, 19 Aug 2003 05:29:17 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90320</link>
        <description><![CDATA[experimenter: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Shiru_Otaku, 19.08.03, 02:43:52</span><div class='quote '>Скажем, имена функций и переменных...</div></div><br>ну, это, наверное, не существенно и не очень важно, так как их можно назвать как угодно.]]></description>
        <author>experimenter</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90319</guid>
        <pubDate>Mon, 18 Aug 2003 22:43:52 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90319</link>
        <description><![CDATA[Shiru_Otaku: Скажем, имена функций и переменных...]]></description>
        <author>Shiru_Otaku</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90318</guid>
        <pubDate>Mon, 18 Aug 2003 20:10:09 +0000</pubDate>
        <title>Дизассемблирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=9203&amp;view=findpost&amp;p=90318</link>
        <description><![CDATA[Dmitriy SF: Кто-нибудь может мне объяснить такую вещь: я слышал много раз, что нельзя создать алгоритм дизассемблирования машинного кода в, например, паскаль, потому что при компиляции теряется информация. Меня интересует, какая это именно информация теряется, ведь должно быть однозначное соответствие между кодом на ЯВУ и машинным кодом, или я не прав?]]></description>
        <author>Dmitriy SF</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	