'Wargame/CodeEngn'에 해당되는 글 30건


codeengn basic 20번 문제다.

드디어 basic 마지막문제. 

키 크랙 문제인 것 같다. crackme3.key라는 파일이 필요한 것 같다.

파일부터 실행해보자. 그냥 실행시키면 뭐가 없다. 

패킹은 따로 되어있지 않다. 바로 열어보자.

우선 문제에서도 나와있듯이 키 파일을 열고 파일내용을 읽는 CreateFile, ReadFile 함수가 보인다.

그냥 돌려보니 역시나 키파일이 없어 정상적으로 동작하지 않는다.

대충 아무값이나 넣고 crackme3.key라는 키 파일부터 만들어서 돌려봤다.

F8로 하나씩 실행하다보니 ReadFile 실행 후 CMP을 보면 4021A0의 값이 내가 입력한 bytes 크기인 9

라고 나온 것 같다. 저 값을 ReadFile에서 지정하고있는 최대바이트크기인 12(10진수로 18)bytes 랑

비교를 하는데 일반적으로 그냥 점프를 하도록 만들기 때문에 점프를 안하고 분기문 안에 있는 코드를

실행시켜보려면 JNZ를 통해 점프를 하면 안되므로 ZF가 1이 되어야 한다. 

파일의 내용을 다음과 같이 18bytes로 바꿔봤다.

동작시켜보니 정상적으로 JNZ SHORT 20.00401037을 통과한다. 그렇다면 이제 그 안을 분석할 차례이다.

우선 의심스러워 보이는 함수 두개를 BP걸고 내부로 들어가봤다. 여기서 이 알고리즘을 이해를 못해서

결국 검색의 힘을 빌려버렸다. 처음엔 풀이를 봐도 잘 이해가 안됬는데 이해하고 보니 그냥 내 어셈블

리어 실력이 문제였다. 명령어 흐름과 메모리구조에대해 공부좀하고 보니 크게 어려운 문제가 아니었다.

하... 어셈블리 ㅠ 

다음은 00401311 함수의 내부 코드다.

분석을 해보면 먼저 XOR을 통해 ECX,EAX를 0으로 초기화 한다.
그다음 키 값이 들어있는 ESP+4를 ESI에 입력한다. 그다음 BL을 0x41로 초기화 한다.

그다음으로는 AL에 키 값이 담긴 ESI를 BYTE단위로 첫번째 부터 넣어준다.

그 후 AL과 BL을 XOR하여 암호화 하는데 예를 들면 현재 내가 입력한 파일의 첫번 째 바이트값인 1의 16진수값인 31과 첫번째 BL값인 41을 XOR하는 경우다. 

다음으로 이렇게 암호화된 AL값을 원래의 바이트 값에 다시 넣어준다.

그 다음 ESI와 BL 값을 1씩 증가시키고 4020F9값에 암호화 시킨 값인 EAX값을 넣어준다.

이 때 암호화된 AL이 0 값이면 함수는 끝이나고 CL은 1씩 증가하는데 총 몇번 반복했는지에 대한 카운트를 나타낸다.

다음으로 BL이 1씩 증가하다가 4F(O)가 되면 함수가 끝이난다.


즉  정상적으로 진행된다면 41(A) ~ 4F(O) 1~14bytes동안 저 형식이 계속해서 반복이 되며  실제로 입

력한 키 값을 XOR를 통해 암호화 하며 변경한다. 그리고 추가적으로 4020F9에 값에는 암호화된 값들

의 총 합이 저장되게 된다.

이렇게 함수가 끝나고 다시 원래 실행흐름으로 돌아오면 

다음과 같이 함수를 통해 암호화된 값들의 총합이 저장된 4020F9의 값과 12345678을 XOR하고 

0040133C 함수를 호출한다. 함수 내부동작을 보기 위해 들어가 봤다.

분석해보면 ESP+4 부분이 파일의 입력한 키 값이 담겨있는데 이를 ESI에 입력하고 ESI값에 0E를 ADD

하여 15byte 위치로 이동한다. 그 후 ESI를 EAX에 넣고 리턴하게되면 EAX에는 파일의 입력된 키 값의

15~18bytes내용이 들어가게 된다.

다음으로 넘어가면 EAX값을 위에서 암호화하였던 4020F9값과 비교한다. 이 부분이 중요한데 다음의 SETE AL을 통해 AL값이 1이 나와야 TEST AL,AL구문을 통해 JE내부로 들어가 성공함수인 00401346으로 들어 갈 수 있다. 그렇다면 SETE AL을 통해 AL값이 1이 나오게 하는게 중요하는데 이를 위해선 CMP EAX,4020F9를 통해 ZF가 1이 되어야 하므로 EAX값이 4020F9값과 같아야한다.  

※SETE에 대해 모르시는 분들이 있으실까 동작원리를 적어드리면 ZF가 1이되면 Byte형 레지스터 즉 여기서 AL을 1로 set하는 명령어다.


현재 값을 확인해 보니 다음과 같았다. 일단 저 부분이 통과될 수 있도록 004020F9부분을 EAX와 같도록 다음과 같이 수정을 해보았다.

실행해보니 다음과 같이 값이 뜬다. 

무슨 값인가 했더니 다음 에서 볼 수 있듯이15~18bytes값을 담고있던 EAX의 앞부분이다. 즉 1~14bytes 부분인 암호화 되어 나온 키 값 부분에 마지막에 !가 함께 나온 것을 알 수 있다.


그렇다면 이제 저 부분이 CodeEngn가 나오도록 하면 CodeEngn!가 출력될 것 같다. 그렇다면

처음에 키 값을 가지고 암호화 해주도록 하는 함수에서 41^입력값첫번째byte=C , 42^입력값두번째byte=o 와 같은 방식으로 8바이트 까지 CodeEngn을 만들고 9번째부터는 null값이 들어가야 되므로 함수를 빠져나올 수 있도록 9번째 byte에 49^00을 통해 AL에 0값을 입력하여 함수를 빠져나오는 조건을 달성시켜준다.

이제 그럼 어떤 값을 입력해야 될지가 문제인데 

xor의 특성인 a^b=c, a^c=b를 활용한다. 즉 2가지값만 알고있으면 나머지하나를 구할 수 있다.

우리는 41~4F의 값과 우리가 도출해내고 싶은 CodeEngn값을 알고있기 때문에 위의 방식을 이용하여

헥스에디터를 통해 다음과 같은 파일을 만들어낸다. 


다음과 같이 넣고 돌려보니. 실패를 했다. ㅡㅡ? 문제가 뭐지 제대로 흐름탄거 같은데 뭔가 했더니 거의 다왔다는생각에 흥분을 했다.


저 CMP구문에서 새로 수정한  파일의 1~14bytes를 통해 만들어진 4020F9값이 1234557B인걸 확인했다. 그렇다면 15~18bytes값을 EAX가 가지고 있기 때문에 파일 내용에서 15~18bytes부분을 다음과 같이 바꾸어봤다.

 


정상적으로 통과하고 다음과 같이 성공하게 된다.


basic이라 쉽게 생각하고 있었는데 마지막 문제풀면서 역시 쌩초보구나 라는걸 다시한번 느꼈다. 혼자

풀다 막혀서 다른분들 풀이까지 참고를 했는데도 어셈블리어를 한번도 제대로 공부해보지 않고 문제풀

면서 하나둘 검색해서 배워가다보니 처음에 흐름이 제대로 이해가 안가서 완벽히 이해하고 푸는데 하루

시간이 걸렸다. 공부를하면할수록 부족하다는 것만 더 느끼게 되는것 같다. 앞으로도 더 열심히 해야

것 같다. 일단 basic은 clear해서 나름 뿌듯한 것 같다. 이제 한숨돌리고 advance로 넘어가보도록 하

다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn advance 2번  (0) 2018.02.05
code engn advance 1번  (0) 2018.02.04
code engn basic 19번  (0) 2018.02.04
code engn basic 18번  (0) 2018.02.04
code engn basic 17번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn basic 19번 문제다.

오... 드디어 새로운유형.... 몇초 후에 종료 되는지 알아보란다. 시간과 관련이 있을 것 같다.

파일부터 실행 해 보자. 저렇게 프로그램이 실행되고 어느정도 시간이 지나면 프로그램이 종료된다.

이제 패킹 확인후 파일부터 열어보자.

언패킹 후 파일을 실행해보니 실행이 안된다.

뭔가가 막고있다. 함수들을 확인해보니 IsDebuggerPresent 함수가 막고있었다. 이전에 했던 간단한 우회니 가볍게 회피해보자. 이후 부턴 실행이 잘 된다.


다음으로 이제 시간과 관련해서 뭔갈 찾아야 한다. 함수 목록을 확인해보니 맨처음 보인게 Sleep 함수였

다. 일단 모르니까 sleep함수에 죄다 BP걸고 돌려봤다. 근데 하나도 걸리는게 없다. 여기서부터 멘붕 시

작. 다른 시간관련 함수를 찾아야 하는데 내눈이 사시인지 왜 이걸 의심을 못했지.. ㅡㅡ timegetTime

이라는 함수를 못찾아서 엄청나게 해맸다. 여기서 애초에 내가 뭔가 잘못짚고 있나 싶어서 이러다 결국

포기할까봐 찾아봤다...하... 근데 대충보니 풀이는 볼 것도 없고 그냥 저 함수를 발견하냐 못발견하냐의

문제였다. 아 그냥 더 삽질해서 찾아볼걸..ㅡㅡ  

그래서 timegetTIme 함수에대해 검색을 해봤다. 

윈도우(운영체제)가 시작되어서 지금까지 흐른 시간을 1/1000 초 (milliseconds) 단위로 DWORD형을 리턴하는 함수란다.

그럼 이제부턴 간단하다. F8로 하나씩 실행하면서 분석해봤다.

먼저 최초로 timeGetTime 함수가 실행되면 EAX에 반환된 프로그램 실행시작 값을 ESI에 저장시켜 놓는다. 그 후 CALL EDI를 통해 timeGetTIme 함수를 호출할 수 있기 떄문에 두번째로 실행시킨 함수의 값으로 최초시간과 비교를한다. 두번째로 호출된 함수는 항상 최초 시작값인 ESI값보다 클수밖에 없기 때문에 점프를 하여 다음 사진의 위치로 간다.

다음과 같이 점프해서 오면 EAX에는 두번째로 호출됬을때 시간값이 담겨있고 이를 최초값과 SUB한다.

그러면 실행 후 현재까지의 시간이 EAX에 저장이 되고 이 시간값이 다음의 CMP구문에 있는

 DWORD PTR DS:[EBX+4] 값과 비교가 된다. DWORD PTR DS:[EBX+4] 00002B70이라는 값으로

나와있고 EAX값이  00002B70 보다 작으면 다시 두번째로 timegetTime함수가 호출되었던 위치로 돌

아가 이 과정을 계속 반복한다.  그러다 timegetTIme함수가 호출된 값이 최초 시작값과 SUB되

어  00002B70 값보다 커지게 되면  JMB 19.00444C71에서 점프가 안되서 다음 점프문을 통해 프로

그램 종료 위치로 넘어가게 된다. 이 흐름만 이해한다면 뭘 기준으로 프로그램이 종료되는지 아실테니

정답은 뭔지 다들 짐작하실 거라고 생각한다.

분석할 함수를 못찾아서 검색하고 풀어 괜시리 찝찝했던 문제.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn advance 1번  (0) 2018.02.04
code engn basic 20번  (0) 2018.02.04
code engn basic 18번  (0) 2018.02.04
code engn basic 17번  (0) 2018.02.04
code engn basic 16번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn basic 18번 문제다.

이전에 많이 풀었던 문제랑 같다. 

실행해보면 다음과 같고 패킹이 따로되어있지않아 그대로 열면 된다.

코드를 봤는데 흐름이 전에문제들과 다를바가 없다. 결국 OR EAX,EAX에서 조건이 결정되는데 이때 이

값이 0이 되어야 하므로 EAX값에 0을 리턴하도록 lstrcmpiA 함수가 0을 리턴하도록 하면 된다.

다음과 같이 값을 넣어보니 첫번 째 함수 인자로 입력한 값이 들어간다. 그렇다면 두번째 인자가

CodeEngn의 시리얼 값이라도 추측할 수 있다. 간단하다. 이전에 계속 했던 방식이다.


그대로 입력해주면 다음과 같이 성공하게 된다.

17번에서 알고리즘 풀어보겠다고 엄청 애썼는데 다시 너무 쉬워져서 당황..


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 20번  (0) 2018.02.04
code engn basic 19번  (0) 2018.02.04
code engn basic 17번  (0) 2018.02.04
code engn basic 16번  (0) 2018.02.04
code engn basic 15번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn basic 17번 문제다.

오.. 드디어 뭔가 좀 바뀐 느낌이다. 이전과는 다르게 키 값을 통해 Name값을 알아내야 하는 것 같다. 그

리고 한자리라는 뭔가 제한적인 것도 있을 것 같다. 

파일부터 실행해보자. name이 1자리라고 해서 넣어봤더니 더 입력하란다. 뭔가 조건으로 막고 있는 것 같다.

패킹은 안되어 있으니 그냥 열어보자. 떡하니 점프문 앞에서 3이랑 비교를 하고 있다. 이걸 CMP EAX,1

로 수정하면 일단 한글자입력은 가능해진다. 


그렇다면 이제 분석을 해보자. 여기저기 BP 걸고 삽질하면서 하나씩 실행하다보니 0045B850 함수를 통해 내가 입력한 name값을 가지고 키 값을 만들어 내는걸 알 수 있었다.

 그 다음 00404C3C 함수를 통해 분기문 조건이 설정되는데 결과 값을 보니 다음과 같이 EAX값은 고정

되어 있고 입력한 name값에 따라 EDX의 값이 달라진다.


직감적으로 EAX와 EDX의 ASCII 값이  같아질 수 있도록 만들면 JMP문 안으로 들어올 것 같다. 어차피

한글자 밖에 안되니 Brute force 방식을 쓰면 될 것 같다. 알파벳아니면 숫자라했으니 하나씩 천천히 넣

어보자. 몇 번 넣어보니 F에서 동일 한 값이 나오고 정상적으로 성공화면이 나온다.


사실 생각보다 오래 걸린 문제였다. 중간에 네임값으로 키값을 만들어내는 함수가 있는데 함수 내부로

들어가서 알고리즘을 파악해보고 입력해야될 값을 알아내려다 결국 실패했다. 아직 실력이 확실히 부족

한 것 같다.이런식으로 풀어서 얻는게 있긴 하는걸까 생각이 든다. 웹쪽 워게임을 집중적으로 하고 있어

서 좀더 시간투자를 하지는 못했지만 다음에는 검색을해서 도움을 받아서라도  알고리즘을 꼭 분석하고

넘어가겠다. 아직도 갈길이 먼 것 같다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 19번  (0) 2018.02.04
code engn basic 18번  (0) 2018.02.04
code engn basic 16번  (0) 2018.02.04
code engn basic 15번  (0) 2018.02.04
code engn basic 14번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn basic 16번 문제다.

흠... 문제자체는 14,15번과 또 똑같다. 이번엔 내부가 좀 다른 느낌이었으면 좋겠다.

파일부터 실행해보자. 별다른건 없는 것 같다. 뭔가 불길하다 또 같은 문제일거같은 느낌..ㅠ

패킹은 따로 안되어 있고 그대로 열어보자.

설마 했는데 또 같은 흐름...하.. 아무리 basic이라도 너무한거 아니냐 ㅠ 

풀이방법은 이전에 2번이나 했기 때문에 따로 설명은 안하겠다. 그대로 입력해주면 된다.


복습 하난 기가 막히게 시켜주는듯..


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 18번  (0) 2018.02.04
code engn basic 17번  (0) 2018.02.04
code engn basic 15번  (0) 2018.02.04
code engn basic 14번  (0) 2018.02.04
code engn basic 13번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn 15번 문제다.

흠.. 문제자체는 14번이랑 같은거 같다. 내부를 봐야할 것 같다.

먼저 파일을 실행해보자.

군말없이 패킹확인하고 열어보자. 패킹은 따로 안되어있다. 그대로 열면 될 것 같다.

...?
진짜 설마 했는데 14번이랑 다른게 없다. 하아.. 이전이랑 같이 그대로 입력해봤다.


딴건 몰라도 가볍게 아무 생각없이 풀기엔 딱 좋은 난이도의 문제들 인 것 같다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 17번  (0) 2018.02.04
code engn basic 16번  (0) 2018.02.04
code engn basic 14번  (0) 2018.02.04
code engn basic 13번  (0) 2018.02.04
code engn basic 12번  (0) 2018.02.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

code engn basic 14번 문제다.

파일부터 실행해보자. 뭔가 입력하면 될 것 같다. 귀엽네 근데 저남자.

패킹부터 확인하고 열어보자. UPX방식으로 패킹되어 있어 언팩 후 열어보았다.

처음엔 하나하나 분석안하고 큰 흐름만 보고 풀었는데 그냥 성공문위에 분기문 조건에 해당하는 CMP 부분만 봐도 답이 너무 쉽게 나왔다. 

네임이 codeEnge랬으니 입력해주고 시리얼값은 대충 입력해서 CMP부분에 BP걸고 돌려봤다.
EAX값이 16진수인데 10진수로 변경해보면 내가 입력한 Serial 값이 나온다. 그럼 ESI값을 구해 내 시리얼 입력값으로 입력해주면 된다. 


실제로 한번 입력해봤다.

성공!

근데 문제풀고 중간에 네임값으로 시리얼값 구하는 알고리즘부분을 해석안하고 넘어간게 뭔가 찝찝했다.

그래서 그냥 가볍게 볼려고 했다가 거의 1시간이상 삽질.... 잘 해석이안된다 ㅠ 미천한 내 어샘블리 실

력아..결국 패스.. 출제자 의도가 정확히 뭔진 몰라서 내가 제대로 풀고있는건지는 잘 모르겠다. 너무 쉽

게쉽게가려하는거  같아서 뭔가 찝찝하긴 하다만.... 얼른 basic 후딱풀고 머리짜내는 문제들로 넘어가야겠다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 16번  (0) 2018.02.04
code engn basic 15번  (0) 2018.02.04
code engn basic 13번  (0) 2018.02.04
code engn basic 12번  (0) 2018.02.04
code engn basic 11번  (0) 2018.01.28
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

code engn basic 13번 문제다.

파일부터 실행해 봤다.

흠 키 값을 구해야 할 것 같다. 일단 패킹되있는지부터 확인하고 열어보자.

흠..따로 패킹은 안되있는 것 같다. 그냥 열어보니 실행이 안된다..?응?

뭔가 싶어서 Microsoft Visual C# 실행파일 형식에 대해 검색을 좀 해봤다. 찾아보니 실행하려면  .NET

Framework가 필요한 것 같다. 설치를 하려보니 이미 설치가 되어있다고..?뭐지 다시 또 찾아봤다. C#

은 애초에 올리디버거에서 잘 안열린다는 것 같다. 대신 디컴파일러로 유명한  .NET Reflector라는 프로

그램이 있단다. 다운받아보자.

http://www.red-gate.com/products/dotnet-development/reflector/

처음써보는 프로그램이라 프로그램 자체에 대한 자세한 설명은 궁금하시면 따로 검색해주는게 좋을 것 같다.

간단하게 설명해드리면 처음에 파일을 연다음 file탭에 export  Assembly source code를 누르면 다음

과 같이 ConsoleApplication3 라는게 생긴다. 그러면 우클릭해서export source code를 클릭해주면

코드가 생기는데 저기서 메인코드를 찾아주면 된다.



프로그램을 열고 파일을 연다음 다음과 같은 메인 코드를 찾았다.

특정 암호화방식을 거쳐 planText()라는 걸 만들어 내는 것 같다. 저걸 알아내려면 저 코드를 해석해야

되는데 저 함수 동작과정을 알아내긴 너무 귀찮아보인다. 그렇다면 결국 구하고자 하는건 PlatinText()

값이기 때문에 코드만 조작할 수 있다면 Console.WriteLine(plainText);를 변수 계산된 곳 밑에 넣어주

면 값을 볼 수 있을 것 같다. 그렇다면 코드를 수정할 수 있는 방법을 찾아야되는데 이부분은 처음다뤄보

는 프로그램이라 검색을 좀 해봤다. 그냥 추출한 소스코드를 visual studio에서 열면 visual측에서 기본

적으로 C# 파일 호환이 가능해 이를 활용하면 될 것 같다.

Console.WriteLine(plainText); 코드를 main문에서 바로 실행되도록 적절한 위치에 넣어봤다.

다음과 같이 나온다.

실제로 입력해주면 성공하게된다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 15번  (0) 2018.02.04
code engn basic 14번  (0) 2018.02.04
code engn basic 12번  (0) 2018.02.04
code engn basic 11번  (0) 2018.01.28
code engn basic 10번  (0) 2018.01.28
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

codeengn basic 12번 문제다.

키 값을 구하고 MessagBox 출력 부분을 찾아서 HexEdit로 수정하면 될 것 같다.

파일을 다운받고 실행해봤다. 체크를 눌러도 별다른 반응이 없고 about 누르면 그냥 무슨 정보 같은게

뜬다.

파일 타입을 확인해보니 패킹이 되어있지는 않다.

코드는 간단하다. 분기문 전에 CMP문에서 값이 어떻게 비교되는지 보기위해 BP를 걸고 돌려봤다.

처음에는 ASCII코드로 나와있는 저 값이 키 값인줄 알고 뭔가하고 보다 유심히 보니 키 값은 아니었고

EAX값을 알아내는게 중요했는데 저 PUSH 3번 들어간 부분에서 어떤 알고리즘 형식으로 EAX값이 계

속 변하고 있었다. 그래서 이 알고리즘을 해석해보려고 안간힘을 썼으나 잘 모르겠다..ㅡㅡ 근데 뭐지이

거 알고리즘부분 다 지나고나면 값이 원래대로 돌아온다..?응? 뭐한거지 쓸데없이 삽질한 기분이다.휴...

하 .. 뭔가이상하다했다..

그럼 EAX, 7A2896BF비교가 핵심이니 이를 활용하면 될 것 같다. 근데 10진수로 준 값이 16진수인 7A2896BF랑 비교되므로 7A2896BF값을 10진수로 바꾼 후 이 값을 입력해주면 키값은 구할수가 있다.

흠 쉽다.. 그럼이제 헥사에디터로켜서 저부분을 키값으로 바꾸기만 하면 될 것 같다.


다음과 같이 바꿔주면 된다.

이제 정답입력하면 되는데 여기서 필요한 부분은 다 구했는데  null 처리하는 부분이랑 주소 범위 적는

방식으로 답 넣으라고해서 ㅡㅡ20분인가 헤맴....아나.. 어차피 필요한 거 다구했는데 정답 제출하는건

좀 심플하게좀 내주지 휴.. 암튼 역시나 간단한 개념 다루는 문제였다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 14번  (0) 2018.02.04
code engn basic 13번  (0) 2018.02.04
code engn basic 11번  (0) 2018.01.28
code engn basic 10번  (0) 2018.01.28
code engn basic 9번  (0) 2018.01.28
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

Stolenbyte 찾는 문제인 것 같다. 바로 이전에 풀어봤으니 쉽게 해결할 수 있을 것 같다.

파일부터 다운받아보자.

확인해 보니 UPX로 패킹되어있다. 언팩하는 과정은 이전 과정들에 포함되어 있으니 생략하겠다.

언팩 후 확인해보니 이전의 풀이했던 9번 문제와 똑같다..ㅡㅡ 왜 같은걸 두번낸거지? 그냥 9번문제에

OEP만 더해서 제출하면 되는 문제였다.

그냥 조금 주의해 보자면 저렇게 수정하고 다시 덤프뜰 때 OEP 값을 401000으로 수정하니 그 값만 주

의해서 넣어주면 될 것 같다.

흠..뭐지 그냥 복습겸 해보라고 한 것 같다. 역시 basic...


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 13번  (0) 2018.02.04
code engn basic 12번  (0) 2018.02.04
code engn basic 10번  (0) 2018.01.28
code engn basic 9번  (0) 2018.01.28
code engn basic 8번  (0) 2018.01.28
블로그 이미지

JeonYoungSin

메모 기록용 공간

,