.NET 안티디버깅 문제였는데 나는 언인텐으로 연산으로 풀었다.
dnspy로 까보며면
이렇게 나오는데 Form1_Load에서 안티 디버깅을 하는것 같았다.
그래도 일단 디버깅 해보니까
bytes랑 key값은 영향을 안받는것 같아서 그냥 연산으로 flag를 뽑았다.
l = '''0x07
0x6F
0x66
0x54
0x12
0x7B
0x70
0x37
0x6D
0x44
0x06
0x00
0x1E
0x1D
0x06
0x2B
0x0D
0x72
0x5F
0x58
0x38
0x21
0x5F
0x50
0x38'''
l = l.split()
print(l)
key = 'I_Gu3$$_Y0u_Ju5t_Fl4gg3d_!!!'
flag = ''
for i in range(25):
flag+=chr(eval(l[i]) ^ ord(key[i%0x1c]))
print(flag)
FLAG = N0!!!_Th4ts_Th3_R43l_Fl4g
인텐이 궁금해서 라업 보니까 그냥 코드 패치로 안티 디버깅 부분을 날려버리고 연산한 값을 뽑는 거였다.
Edit Method를 누른다음에
전부 날려버리고
shift + ctrl + s로 저장하고
다시 dnspy에 올려서 디버깅 하면 바로 flag가 나온다.