10번 문제
- 리버싱 문제
문제 :
파일은 다운받으면,
reversing.zip 이라는 파일이 다운되고,
압축을 해제하면, reversing.exe 파일이 있다.
해당 파일을 실행하면,
어떤 키 값을 입력하는 프로그램이 열린다.
OllyDBG로 열면 해당 파일이 열리지 않아서, x64dbg로 열어 보았다.
문자열로 검색하면, 17733개의 문자열이 열린다.
여기서는 찾기가 어려워 보인다.
그래서 HxD 프로그램에 reversing.exe 파일을 넣어보았다.
...
해당 파일안에 있는 문자를 찾아서 입력을 하면 결과가 아래처럼 나온다.
근데 답을 보니까 "Did U use the Peid"라는 답이 결과였다... 아마도 Peid로 풀어야하는 문제였던거 같다.
그래서 Peid와 같은 역할을 하는 Exeinfo PE에서 reversing.exe 파일을 열어보았다.
해당 파일은
- 32bit 파일
- Visual C#으로 작성
- 파일은 Unpack되어 있다.
-> Explore, browse, and analyze .NET assemblies with .NET Reflector v8.0 - www.red-gate.com/products/reflector - IF file is packed try .NET Generic unpacker from : www.quequero.org/Pack_Unpack
그래서 Lamer Info에 나와있는 정보를 통해서
red-gate.com에서 reflector를 다운받았다.
그리고 나서 해당 프로그램에 reversing.exe 파일 넣었다.
그결과, button1에 대한 함수의 내용을 알 수 있다.
함수는 엄청 간단했다.
str이라는 값과 입력한 값이 일치하면, AuthKey 값을 반환해주는 함수이다.
private void button1_Click(object sender, EventArgs e)
{
string str = "2theT@P";
string text = "Authkey : Did U use the Peid?";
if (this.textBox1.Text == str)
{
MessageBox.Show(text, "SuNiNaTaS");
this.textBox1.Text = "";
}
else
{
MessageBox.Show("Try again!", "SuNiNaTaS");
this.textBox1.Text = "";
}
}
1) 잘못된 값을 입력했을 때, Try again이라는 글자가 뜬다.
2) 옳은 값을 입력했을 때 (this.texBox1.Text==str)
문제 해결 !