목록전체 글 (67)
Hack4S3cur1ty
문제 풀이 먼저 파일을 다운받아보면 다음과 같은 코드를 볼 수 있다. GeneratePrime함수를 통해 p값과 q값을 생성하고, GenerateKeys함수를 통해 e, d, n 값을 생성한다. 그 후 MakeRandomString함수를 통해 랜덤값의 문자열을 헥스화 시킨 후 powmod를 통해 RSA암호화 시킨다. 시간제한은 1초로 설정되어 있고, 초과시에는 Time Out을 출력, 시간내에 Data값과 Answer값이 일치하면 FLAG가 출력된다. 우선 전체적인 로직을 파악하기 위해 코드를 정리했다. 통신관련 함수를 때내고 p, q, n, d, plain text값을 출력하도록 하고 실행시켜본 결과 p, q, n, d 값이 일정하다는 것을 알 수 있었다. p, q, n, d에 관한 함수들을 그대로 욺..
문제 풀이 먼저 문제를 보니 어플리케이션의 구조를 가진것으로 예상할 수 있다. classes.dex를 분석하기보다는 assets 폴더에 들어가서 데이터를 확인해보았다. assets/x-game 에 들어가면 x-script.rpyc 라는 파일이 보이는데, 이 어플레이션의 전체적인 작동 스크립트라고 생각하고 rpyc파일을 디컴파일했다. unrpyc툴을 이용해 디컴파일하면 다음과 같이 x-script.rpy 파일이 나오고 스크립트 내용을 볼 수 있게 됬다. 해당 스크립트 마지막 부분에 가면 key를 출력하는 부분이 보이고, 이런식으로 로직을 따라다니면서 키값을 하나씩 적었다. 하지만 중간에 이런식으로 로직이 두 부분으로 나뉘어 키값이 두가지로 나뉘게 되는데, 모든 경우의 수를 따져서 게싱으로 풀었다.. HS{..