Podstawy dekompilacji - jak odtworzyć strukturę kodu?
Zapraszamy na kolejny Tech Talk CodiLime. Marcin Kościelnicki, reprezentant naszego zespołu Security, przedstawi temat:“Podstawy dekompilacji - jak odtworzyć strukturę kodu?”
Jednym z wielu zadań stojących przed dekompilatorami jest strukturalizacja wynikowego kodu. Dekompilator musi umieć odtworzyć konstrukcje wysokiego poziomu (if, while, itp) z samego grafu przepływu sterowania w kodzie. Marcin przedstawi algorytmy strukturalizacji, które zespół wybrał do użycia w Velesie - naszym narzędziu do inżynierii wstecznej. Poruszy tematy takie jak: drzewa dominatorów używane często w kompilatorach, wykrywanie pętli naturalnych, pokaże zastosowanie pattern matchingu do wykrywania leniwie wyliczanych wyrażeń warunkowych (&& i || znane z C), oraz omówi niejednoznaczności w strukturalizacji i heurystyki, które zastosował do wyboru najprostszego wariantu.
Spotkanie odbędzie się w naszym biurze przy ul. Krańcowej 5 w Warszawie.
Po prezentacji zapraszamy na wspólną integrację przy piwie i pizzy :)