• naurM
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    8 months ago

    Testowałem kiedyś (dość krótko) Cuttera, ale nie odniosłem wtedy wrażenia, żeby miał przewagę nad IDA czy Ghidrą.

    Zrobiłem szybki test dzisiaj. Dekompilator nie potrafił zmapować rejestrów na zmienne. Wywalił się też w ciągu pierwszych 5 minut pracy i stwierdziłem, że wystarczy. ;-)

    • Lacky
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      Potwierdzam. Używałem kiedyś cuttera, ale mnie nie zachwycił. Sam pakiet radare2 obecnie traktuję jako taki zestaw narzędzi/framework na bazie, którego mogę w miarę szybko zrobić jakieś narzędzie do automatycznego zbierania informacji o binarkach. Np skrypt po tytułem: znajdź w binarce wszystkie użycia funkcji system/popen i postaraj się ustalić jaka komenda systemowa jest przez nie wykonywana.

      • サぺルOP
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        8 months ago

        Bo ja jestem jakiś minimalistyczny. Kiedyś mnie zachwycało, że coś robi deasm. Uważałem, że to spore ułatwienie. Potem byłem w szoku, jak do asma dodawało komentarze z fragmentem kodu źródłowego. Można było wiedzieć, gdzie się jest. Tu uznałem, że wystarczający jest dla mnie ten graf z fragmentami asma.

        Z drugiej strony podobało mi się, kiedy BenEater kodował w kodzie maszynowym. To było ciekawe bo mógł rozwinąć własne narzędzie do ułatwiania tego. Wyewoluować odmienną ścieżkę informatyki. Więc nawet to powtórzyłem kodując na Game Boya w kodzie maszynowym “Z80”.

        “Może jestem nienormalny, za krótko miałem amigę, może jakiś emeryt covida sprzedał mi.”

        • naurM
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          edit-2
          8 months ago

          Moim zdaniem następnym etapem w tej dziedzinie będzie zastosowanie uczenia maszynowego do konwersji asemblera na języki wysokiego poziomu.
          Zrobienie takiego modelu jest pewnie w zasięgu możliwości dużego korpo i mogłoby zrewolucjonizować inżynierię wsteczną.

          • サぺルOP
            link
            fedilink
            Polski
            arrow-up
            1
            ·
            8 months ago

            Słyszałem, że już jest dobre w wykrywaniu błędów w kodzie źródłowym. Ktoś nawet prosił na X MS, żeby przeskanowali projekty FLOSS za pomocą AI.

            Więc może kiedyś we wszystkim będzie można bezpiecznie kodować. Bo jak by co AI da ci klapsa.

          • サぺルOP
            link
            fedilink
            Polski
            arrow-up
            1
            ·
            8 months ago

            Mi się wydaje, że twórcy AI dążą do tego by ostatecznym językiem programowania był angielski. Brak precyzji będzie rozwiązany ciągłym doprecyzowaniem wymagań. To się z czasem będzie poprawiać. Bo telemeria zobaczy jakich określeń i skrótów myślowych ludzie używali na początku, by określić to co wyszło na końcu.

            Ostatecznie to AI będzie pełniło rolę wykonawczą, zamiast generować kod.

            Przynajmniej w dziedzinie powłoki i skryptów.

            naur, kiedy używa C++ https://youtu.be/Hr-6LRpTBno

            Kiedy AI generuje mi kod, czuję się jak dziecko któremu odebrano cukierka.

      • naurM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        8 months ago

        Dla mnie radare2 to taki vim deasemblerów. Spore możliwości, ale ukryte za interfejsem, który odstrasza.

        Podoba mi się, że w oficjalnej instrukcji są zamieszczone crackme dla treningu. :-)

        • サぺルOP
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          8 months ago

          Myślałem, że klimat VIM ci się podoba?

          • Lacky
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            8 months ago

            Naurowi może i vim się podobać, ale umówmy się, że jednak większości się nie podoba. Kilka przykładów poleceń radare2:

            -iz - wyświetlenie stringów z sekcji data -izz - tak wyświetlamy stringi z całej binarki -pdf - deasemblacja wybranej funkcji -iI - a tak wyświetlamy informacje o pliku -a - analiza binarki, ale im więcej literek “a” tym dokładniejsza analiza (na ostatnim etapie jedzie do Ciebie deweloper radare2, żeby osobiście zrewersować ci binarkę ;-) )

            Wiem, że za formatem tych komend stoi pewna stara indiańska filozofia, ale umówmy się, że nie jest to najprzyjemniejszy zapis poleceń aplikacji. Co nie zmienia faktu, że szanuję radare2 za spore możliwości i że można na jego bazie robić swoje narzędzia.

            • サぺルOP
              link
              fedilink
              Polski
              arrow-up
              1
              ·
              8 months ago

              Z jednej strony można się nabijać i narzekać. Bo dla osoby postronnej to wygląda dziwnie.

              Z drugiej strony, jeśli komuś to narzędzie jest potrzebne to się tego nauczy. Z czasem nawet uzna za wygodne. Bo te rzeczy staną się częścią jego natury.

              Kod maszynowy też wygląda okropnie. Ale zaimponował mi Woz i Ben. To fajne ćwiczenie.

              Macie jakieś ćwiczenia na paranoję?

              • Lacky
                link
                fedilink
                arrow-up
                1
                ·
                8 months ago

                “Macie jakieś ćwiczenia na paranoję?”

                Zwijanie aluminiowej czapeczki na czas ;-)

            • naurM
              link
              fedilink
              Polski
              arrow-up
              1
              ·
              edit-2
              8 months ago

              -a - analiza binarki, ale im więcej literek “a” tym dokładniejsza analiza (na ostatnim etapie jedzie do Ciebie deweloper radare2, żeby osobiście zrewersować ci binarkę

              LOL, podobno w GCC dla dużych wartości -O przylatuje pan Kazushige Goto i poprawia kod maszynowy.

              Z innej beczki, kojarzysz czy radare2 ma jakieś wparcie dla rozpoznawania funkcji na podstawie sygnatur? Coś jak FLIRT z IDA.
              Dla mnie to był killer-feature tego narzędzia.