c++ в машинный код

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by iskorpitix, 15 May 2020.

  1. iskorpitix

    iskorpitix New Member

    Joined:
    15 May 2020
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    здравствуйте. код который написан в с++, его можно конвертировать в машинный код?.
    потом этот же кот который конвертировали обратно конвертировать в с++ и компилировать получит .exe файл. такое вазможо сделать?
     
    1. altblitz

      altblitz Elder - Старейшина

      Joined:
      5 Jun 2009
      Messages:
      3,694
      Likes Received:
      3,146
      Reputations:
      236
      Borland TurboDebugger - для изучения кода настоящих хакеров и кракеров.
      Удивительно, но работает до сей поры XXI века, написанное в 2000 годах.

      Или, есть одно программное в мире нашем , что покажет и код и структуру программы.
       
      1. #colorblind

        #colorblind Moderator

        Joined:
        31 Jan 2014
        Messages:
        631
        Likes Received:
        245
        Reputations:
        42
        нельзя
         
        1. DFService

          DFService New Member

          Joined:
          21 May 2020
          Messages:
          5
          Likes Received:
          2
          Reputations:
          0
          Попытки есть, но что-то я не слышал об особых успехах)
           
          1. mankurt13

            mankurt13 Well-Known Member

            Joined:
            18 Oct 2019
            Messages:
            373
            Likes Received:
            1,373
            Reputations:
            3
            Если изначально конпелируется под ту же архитектуру, шаги "обратно конвертировать в с++" и "компилировать получит .exe файл" можно заменить на "дизассемблировать" и "ассемблировать". Это называется риппинг.
             
            CKAP likes this.
            1. sn0w

              sn0w Статус пользователя:

              Joined:
              26 Jul 2005
              Messages:
              1,023
              Likes Received:
              1,258
              Reputations:
              327
              да, просто добавь ключ компилятору /FAs, например:
              cl /c /FAs /Od /Oy- /Ob1 /std:c++17 /GR- /GS- myprog.cpp

              это сгенерирует ассемблерный листинг.
              ну а проще всего заюзать https://godbolt.org/
              там можно и разные компиляторы заюзать и разные платформы типа арм и мипс
               
              Flisk likes this.
              1. altblitz

                altblitz Elder - Старейшина

                Joined:
                5 Jun 2009
                Messages:
                3,694
                Likes Received:
                3,146
                Reputations:
                236
                Ключ этот, документирован?
                И куда его вводить ключик тот волшебный, в передницу или в задницу программисткам?

                [​IMG]

                Что же выбрать на обед гусарам?
                Или сразу 4 гамбургеров с сыром или говяжий язык в соусе испанском Мадейра?
                 
                1. sn0w

                  sn0w Статус пользователя:

                  Joined:
                  26 Jul 2005
                  Messages:
                  1,023
                  Likes Received:
                  1,258
                  Reputations:
                  327
                  вводить надо в командную строку, запущенную с окружением. медленно, предварительно смазав. и да, наступило твоё время, блиц - даже бмв акк перекрасил. впрочем похуй, pull a trigger - kill a nigger, then kill a gay.
                  а сабж по теме прекрасно расписан вот тут: https://docs.microsoft.com/en-us/cp...piler-options-listed-by-category?view=vs-2019

                  это если конпильрщик использует мегкомягкий конпилер, ежели гну gcc -
                  то - хуй знает где, ищите сами, но гдето в дебрях C++ Standards Support in GCC - GNU Project - Free Software Foundation (FSF)
                   
                  #8 sn0w, 30 Jun 2020
                  Last edited: 30 Jun 2020
                  1. VY_CMa

                    VY_CMa Green member

                    Joined:
                    6 Jan 2012
                    Messages:
                    917
                    Likes Received:
                    492
                    Reputations:
                    724
                    CPPtoCarCodeConverter64.exe
                     
                    _________________________
                    #colorblind and fandor9 like this.
                    1. slesh

                      slesh Elder - Старейшина

                      Joined:
                      5 Mar 2007
                      Messages:
                      2,702
                      Likes Received:
                      1,224
                      Reputations:
                      455
                      Чтобы в бинарника получить исходни нужен декомпилятор, но качество будет отвратительное. Без отладочных символом тем более нехрена не понятно будет. Для С++ подойдет HexRay из комплекта IDA. Но всё это для мелких прог, большие даже с отладочными символами получится бред и придется долго допиливать вручную. Другое дело C# - там можно гонять всё в любую сторону и получать код который можно снова компилировать.

                      Опять же как выше писали, при компиляции можно задать флаг, чтобы компилятор создавал ассемблерные файлы для каждого файла исходника.

                      Но что-то мне подсказывает человеку нужно было просто у готовой проги что-то изменить.
                       
                      4Fun likes this.