PLASinCNU / op-eliminator

GNU General Public License v2.0
1 stars 0 forks source link

Themida 등 Real packer Test #3

Closed fcmonoid closed 4 years ago

fcmonoid commented 5 years ago

난독화가 심하게 되어서 trace 일부만 가지고는 mi-asm에서 block 읽어들이기가 어려운 상황... 해결책은?

fcmonoid commented 5 years ago

(일단 block 읽어들이는 것이 가능하게 된 후) 우리 opd 에서 k가 고정된 값으로만 test 되었다면, Themida에 대해서는 좀 가변 값으로 테스트 해보는 것이 좋지 않을까? (S&P17에서는 k =12정도가 좋다고 하지만)

fcmonoid commented 5 years ago

Real packer 말고도 test 좀더 해봐야함 : FN, FP 좀 확인했으면... (op predicate generator를 직접 만들어도 괜찮을 듯)

jh-yang commented 5 years ago

themida trace 처음 10 line에 대해서는 동작하고 있습니다. 그러나 15줄 이상부터는 k 값에 관계없이 asmcfg 구성하는 과정에서 문제가 발생합니다.

fcmonoid commented 5 years ago

CV로 테스트중. 돌핀은 trace에 보이는데 못잡고, fish는 아예 안보이는 것 맞는지? 역시 real obfuscator는 O-LLVM 같은 것들과는 많이 다른 듯. 돌핀 먼저 왜 못잡는지 알고 싶음..

추측: 돌핀은, solver가 overflow/underflow 를 해서라도 답을 찾아내기 때문에, unsat이 되는게 정상인 경우도 sat으로 나오는 것 아닐까? --> solver의 조건에 OF (overflow flag) 검사 추가 필요 추측: fish 안보이는 이유는 main executable이 아닌 쪽으로 jump하는 것?

jh-yang commented 5 years ago

돌핀은 trace에 보이는데 satisfy 하다고 판단하고, fish는 trace 상에 안보이는 것 맞습니다.

코드 수정해서 오버/언더 플로우 플래그 조건 추가하는 중에 있습니다.

2019년 8월 14일 (수) 오전 11:50, fcmonoid notifications@github.com님이 작성:

CV로 테스트중. 돌핀은 trace에 보이는데 못잡고, fish는 아예 안보이는 것 맞는지? 역시 real obfuscator는 O-LLVM 같은 것들과는 많이 다른 듯. 돌핀 먼저 왜 못잡는지 알고 싶음..

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/PLASLaboratory/op-eliminator/issues/3?email_source=notifications&email_token=AK5IXRKGQMVR6SE6T5QRVA3QENXHXA5CNFSM4IHIDTTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4HRKSY#issuecomment-521082187, or mute the thread https://github.com/notifications/unsubscribe-auth/AK5IXRI3NRXT6L4H25ITI23QENXHXANCNFSM4IHIDTTA .

fcmonoid commented 4 years ago

보고서에 들어간 내용임. 버그 고치고 실험 마무리됨. (그리고 일단, CV, O-LLVM에 집중하자.) close 함.