# reversing

59개의 포스트
post-thumbnail

[Dreamhack] Inject Me!!!

DLL 엔트리 포인트이다. sub_1800015F0을 실행한다.v8 부분을 보면 sub_180001390을 호출한다.MessageBox를 통해 flag를 출력해주고 있다. flag는 복잡한 연산과정에 의해 설정되므로 저 flag를 어떻게 출력할 수 있는지 확인해봐야겠다

2일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] Secure Mail

html 파일이 너무 기므로 코드를 첨부하진 않겠다. 웹 리버싱 문제이다. click 하게 되면 \_0x9a220(pass.value)를 실행하게 된다. \_0x9a220 함수를 분석해보자. 이걸 분석할 수 있을까? 절대 분석 못하지만, 이 부분을 보면 뭔가 틀리면 W

2일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] patch

그래픽 문제를 많이 접해보지는 못해서 좀 힘들긴 했다. 저 가리는 모션을 패치하자.뭐가 많이 복잡하긴 하다.RegisterClassExW(&v11); 이 부분을 보자. 콜백함수이ㅏㄷ.v11을 분석해보자 ...?v11.lpfnWndProc = (WNDPROC)sub_14

2일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-9

음... 먼저 a1의 길이를 v3에 받는다. v3+1은 8로 나누어지면 안된다.이걸 통과하면 10A0 함수에 a1의 8배수 원소들만 인자로 넘겨준다.memcmp도 하므로 10A0 함수 내에서 a1 배열의 값들을 바꾼 다는 것을 예측해볼 수 있다.이 함수에 들어온 값들에

3일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-8

어우 이건 뭘까.... -5를 곱하기는 하는데 unsigned int 형태로 가져오므로 0xFB를 곱한다고 생각하면 될까 ?그냥 브루트 포싱으로 풀었다 .... 플래그가 어질어질하다 ㅎㅎ참고로 251을 곱하는 건 4바이트 형태이므로 꼭 꼭 type casting을 해

3일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-7

어우 ROL이 나온다. 식 정리해서 문제 해결해보도록 하자.$$i \\ |\\ ROL(ai, i \\& 7) = bytei\\ROL(ai, i\\& 7) = bytei \\ |\\ i\\ai = ROR(bytei \\ |\\ i, i\\&7)$$어 됐다.저 ROR

3일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-6

...? byte 배열이 두개이고, 우리가 입력한 값을 인덱스로 찾는다. 그래서 두 원소의 값이 같아야 한다. 브루토포싱 문제인 듯 하다.

3일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-5

i 번째 원소와 다음 원소의 합이 배열의 i번째 값이면 되나보다. 근데 24번째 원소는 0이다. 엄청난 힌트이다.$$arri + arri+1 = bytei$$여기서 마지막 byte 배열의 값이 0이다. 그러므로 우리가 입력할 마지막 값은 76이다.

3일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-4

음 ... 엄........ 그냥 우선순위 적당히 정리해주고 해결해주면 되겠다. \[우선순위 정리]https://dojang.io/mod/page/view.php?id=188편의상 a1 -> arraybyte_140003000 -> byte_array$$(\_

5일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-3

140001000을 분석해보자.어우 복잡하다. xor이 우선순위가 가장 낮다. 즉 내가 입력한 i번째 문자에 2i를 더하고 i를 xor한 값이 byte_140003000i여야 한다.$$byte_140003000i == (i \\oplus (a1i+2i))\\i\\opl

5일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-2

0x12, 즉 18바이트가 들어가야 하나 보다.내가 입력한 i번째 글자랑 aC4 \* i 글자랑 같아야 하겠다.이렇게 배열 안의 값들이 보이게 되는데 이렇게 확인 가능하다.

5일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-1

이전 문제와 마찬가지로 입력받은 v4를 sub_140001000으로 넘긴다.입력받은 값을 a1으로 넘기는데 각 원소의 값이 저 아스키코드 값이면 되겠다.그럼 해결된다.

5일 전
·
0개의 댓글
·
post-thumbnail

[Dreamhack] rev-basic-0

그냥 IDA로 풀겠다.sub_140001000에 입력한 v4를 넣는다. 아마 값을 확인하는 함수인 것 같다.Correct를 출력하도록 값을 맞춰야 한다.wowflag : Compar3_the_stri1ng

5일 전
·
0개의 댓글
·

CyKor week9

mainsub_140001000byte_140003020(a1i) == byte_140003000i 를 항상 만족시켜야 함을 알 수 있다. 다음과 같은 코드를 사용해서 플래그를 얻을 수 있었다. flagmainsub_140001000ROL1 함수의 역할에 대해 알아볼

2022년 7월 2일
·
0개의 댓글
·
post-thumbnail

스택 프레임에 대하여.

기초부터 다시 정리를 해보자 한다.스택 프레임에 대하여 알아보자.우선 함수 하나가 호출된다면 그 스택 내에는함수의 매개변수호출이 끝나고 돌아갈 주소 (RET)호출한 함수의 ebp (SFP)함수에 선언된 지역변수이렇게 저장된다.요런 코드가 있다고 생각해보자. 편의상

2022년 6월 28일
·
0개의 댓글
·

[DreamHack] checkflag

brute force

2022년 5월 17일
·
0개의 댓글
·

[H4CKING GAME] Reverse Engineering - Keygen

H4ACKING GAME - Reverse Engineering 분야의 keygen 문제를 풀었습니다.

2022년 5월 15일
·
0개의 댓글
·

[DreamHack] baseball

custom base64

2022년 5월 2일
·
0개의 댓글
·

[DreamHack] rev-basic-5

이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. > > 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! > > 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. > > 예시) 입력 값이 AppleBanana일 경우 flag는 DH{AppleB...

2022년 5월 1일
·
0개의 댓글
·

[DreamHack] rev-basic-4

bit operation

2022년 5월 1일
·
0개의 댓글
·