국원고등학교 랜섬웨어 개발 팀 활동을 위한 선행개발 산출물의 클래스 구성을 소개한다.
먼저 AppendArray() 함수를 정의하였다.메소드 오버로딩을 통해 배열을 이어붙이거나, 배열에 데이터 하나를 추가하는 일을 하나의 함수 이름으로 처리할 수 있도록 하였다.제네릭을 이용, 어떤 배열이든 확장 기능을 사용할 수 있도록 하였다.REST API에 Requ
모든 형태의 배열에 .Append 확장 메서드를 추가하는 방향으로 코드를 다시 작성하였다.
재귀 함수를 활용해 하위 디렉터리에 들어있는 모든 파일의 경로까지 allFilePath 배열에 추가되도록 하였다.
CallByReference를 사용하는 방향으로 코드를 다시 작성하였다.
파일 경로를 인자로 받아 해당 경로의 파일을 AES 방식으로 암호화하는 메서드를 가진 클래스이다.
파일 경로 리스트를 인자로 받아 해당 파일 경로의 파일을 복호화하는 역할을 하는 메서드를 가진 클래스이다.
통신을 위한 상수의 선언을 추가하였다.
최초 실행시 모든 파일 경로 구하여 암호화 수행모든 파일 경로는 별도의 파일을 생성하여 저장일정 시간마다 공격자의 요구를 충족했는지 확인하는 패킷을 서버로 전송요구 충족되어 Key와 IV가 들어있는 패킷이 들어왔을 시 복호화 수행 및 프로그램 종료
간단하게 MySql.Data와 TcpListener를 이용해 만들었다.
국원고 프로젝트, 랜섬웨어의 전체 코드를 살펴본다.