특히 decompiling 쪽으로 해서, high-level lang으로가 아니라, binary level에서 assembly level까지만(그 이후는 어차피 현존하는 analyzer들로 충분하니까).
일단 암호화, 난독화 따위가 일체 없는 clean한 binary라고 가정하고(그 단계와 이 해석단계는 엄연히 분리되는 게 맞지).
이때, input, output pair에 의존하는 통계방식으로는 model을 짜기가 대단히 까다로우니까(general한 model은 사실상 불가능하다 생각)
debugging process를 기반으로 valid한 branch를 축적시키면서 학습시키게끔 하면 되지 않을까 싶은데
응안돼 현대 신경과학은 과연 동키콩을 이해할 수 있는가 라는 글 찾아서 읽구와
그건 recognition의 문제고, 애초에 이건 none에서 출발하는 게 아닐 뿐더러 내가 생각하는 방법은 거대한 stack 기반이라 핀트가 다른듯
응안돼 글잘못읽었어
근데 휴가나왔니?
난 글에서도 쓴거처럼 general한 recognition 능력을 부여하자는 게 아니라, 주어진 binary에 대해서 전체적인 structure를 가늠하는데 있어서 그 아이디어를 machine-learning에서 따오자는 건데 -0-;;
웅...
그러고보니 네 말이 맞는거 같아
근데 기계어랑 어셈은 그냥 1:1매칭되는거 아니야?
그치. 근데 실제적인 code 영역이랑 부수적인 data 영역 및 header 영역이 binary마다 다~~~ 구조가 다르고 비정형화돼있기 때문에, 단순히 일대일 대응만으론 본래의 유기적인 code로 환원시킬 수가 없지. 그냥 random-access해서 하나를 꼭 찝었는데, 이게 실제적인 code인지, 아니면 code를 포함하고 있는 제2의 binary를 포함하고 있었는데 그 일부분인지와 같은 문제도 있고. 이것 뿐만 아니라 굉장히 까다로운 문제가 많음.
저기 리버싱이 뭔진 아세요?