/* 프로그램 실행 환경 : 윈도우 10 */
mh-nexus.de/en/downloads.php?product=HxD20
두번째 문제다. b.zip을 다운받으면 bmp 파일이 등장한다.
bmp 파일의 경우, LSB 변조에 해당하는 것 같다.
보면...FE와 FF가 쭉 나열되어 있는데 그 양이 상당히 많다...
FE는 0으로, FF는 1로 생각해주면 되는데,
2진수로 변환해서 다시 문자열로 돌려주면 플래그가 나올 것 같다.
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그래 나는 코딩을 할 줄 아는 사람이니까 최대한 컴퓨터를 활용하려고 노력했다.
HxD를 통해서 추출한 데이터 값을 배열 요소로 넣어주고,
모두 큰따옴표 처리 해서...넣어줬따...
그리고 이진수로 변환한 값을 넣어줄 배열을 새로 생성하고
for문과 if문을 만들어줬다...
그래서 코드를 실행하면 잘 작동한다.
package iamseongni.hello.eclipse;
import java.util.*;
public class Hello {
public static void main(String[] args) {
String data[] = new String[] { "FE", "FF", "FE", "FE", "FF", "FF", "FF", "FE", "FE", "FF", "FE", "FE", "FF",
"FF", "FF", "FE", "FE", "FF", "FE", "FE", "FE", "FF", "FE", "FE", "FE", "FF", "FF", "FF", "FF", "FE",
"FF", "FF", "FE", "FF", "FF", "FE", "FF", "FF", "FE", "FE ", "FE", "FF", "FF", "FE", "FF", "FE", "FE",
"FF", "FE", "FF", "FF", "FF", "FE", "FE", "FF", "FF", "FE", "FF", "FF", "FF", "FE", "FF", "FE", "FE",
"FE", "FF", "FF", "FE", "FE", "FF", "FE", "FF", "FE", "FF", "FF", "FE", "FF", "FF", "FF", "FE", "FE",
"FF", "FE", "FF", "FF", "FF", "FF", "FF", "FE", "FF", "FF", "FE", "FF", "FF", "FE", "FE", "FE", "FF",
"FF", "FE", "FF", "FE", "FE", "FF", "FE", "FF", "FF", "FF", "FE", "FE", "FF", "FF", "FE", "FF", "FF",
"FF", "FE", "FF", "FE", "FE", "FE", "FF", "FF", "FE", "FE", "FF", "FE", "FF", "FE", "FF", "FF", "FE",
"FF", "FF", "FF", "FE", "FE", "FF", "FE", "FF", "FF", "FF", "FF", "FF", "FE", "FF", "FE", "FE", "FF",
"FE", "FE", "FF", "FE", "FF", "FE", "FE", "FE", "FE", "FF", "FF", "FE", "FF", "FE", "FE", "FE", "FE",
"FE", "FF", "FE", "FF", "FE", "FE", "FF", "FF", "FF", "FE", "FE", "FF", "FE", "FF", "FF", "FF", "FF",
"FF", "FE", "FF", "FF", "FE", "FF", "FF", "FE", "FE", "FE", "FF", "FF", "FE", "FF", "FE", "FE", "FF",
"FE", "FF", "FF", "FF", "FE", "FE", "FF", "FF", "FE", "FF", "FF", "FF", "FE", "FF", "FE", "FE", "FE",
"FF", "FF", "FE", "FE", "FF", "FE", "FF", "FE", "FF", "FF", "FE", "FF", "FF", "FF", "FE", "FE", "FF",
"FF", "FF", "FF", "FF", "FE", "FF" };
String result[] = new String[data.length];
for (int i = 0; i < data.length; i++) {
if (data[i] == "FE")
result[i] = "0";
else
result[i] = "1";
}
for (int i = 0; i < data.length; i++)
System.out.print(result[i]);
}
}
자바 쓰시는 분들 한번 써보시죠 흔쾌히 공유합니다
큰따옴표를 치느라 저는 손가락이 아픕니다만...
C를 처음 배웠을 때가 생각난다
이 코드도 나중에 보면 완전 드러운 코드겠죠?
뭐 우땨용 저는 아직 자바 걸음마도 못 뗌 ㅅㄱ
www.online-toolz.com/langs/ko/tool-ko-text-binary-convertor.html
위의 링크로 들어가면, 이진수↔문자열 간의 상호 변환을 도와준다.
열심히 짠 코드를 돌리면, 이진수가 쭉 나온다.
위의 링크를 이용해서 문자열로 변환하면 플래그가 나온다.
그럼 두번째 문제도 끝~
728x90