- ollvm 설치 확인
- ollvm을 통해 세 가지 옵션으로 난독화
저번 시간에는 https://github.com/obfuscator-llvm/obfuscator에서 ollvm을 설치하는 작업으로 시간을 다 보냈다. 따라서 오늘은 ollvm을 통해 난독화 된 결과와 원본 코드를 비교해서 난독화가 되었음을 확인하며 제대로 설치가 되었는지 확인해 볼 것이다.
./clang -m64 ../cfiles/test01.c -o target.o (옵션)
상단의 명령어를 통해서 제공하는 여러 옵션을 테스트해보았다.
Control Flow Flattening (-mllvm -fla)
https://github.com/obfuscator-llvm/obfuscator/wiki/Control-Flow-Flattening
ollvm에서 제공하는 wiki를 참고해 보았는데 control flow를 가로로 복잡하게? 좀더 경우의 수를 늘리는 그런 난독화 방법인 것 같다. 실제로 원본 코드와 비교해 보았는데, jump문이 원래는 두개밖에 없었는데 완전 많아졌다..!!
기본적인 -fla옵션 외에도 split_num을 통해서 몇 번 난독화할 수 있는지도 설정해서 난독화할 수 있는 듯 하다
⬇
⬇
⬇
Instructions Substitution (-mllvm -sub)
https://github.com/obfuscator-llvm/obfuscator/wiki/Instructions-Substitution
간단한 연산을 복잡하게 하는 옵션이다. 이 역시 sub_loop를 통해 여러 번 적용이 가능하다.
⬇
⬇
⬇
그냥 a+b의 간단한 연산을 복잡하게 난독화하였다.
Bogus Control Flow (-mllvm -bcf)
https://github.com/obfuscator-llvm/obfuscator/wiki/Bogus-Control-Flow
이 역시 반복해서 적용하는 옵션을 제공하고 있다.
⬇
⬇
⬇
'ACTIVITY > 모각코 (2020 여름)' 카테고리의 다른 글
[모각코] 3회차 결과 (200715) (0) | 2020.07.15 |
---|---|
[모각코] 3회차 목표 및 기록 (200715) (0) | 2020.07.15 |
[모각코] 2회차 결과 (200708) (0) | 2020.07.08 |
[모각코] 1회차 결과 (200701) (0) | 2020.07.01 |
[모각코] 1회차 목표 및 기록 (200701) (0) | 2020.07.01 |