2018년 이전글(32)
-
[리버싱 핵심원리]1부 5장_스택
오랜만에 써본다 ㅎㅎㅎㅎ 그러면 오늘은 가볍게 스택에 관하여 공부해보도록 하겠다. Stack? 스택이란 무엇일까?스택이란, 제한적으로 접근할 수 있는 나열 구조이다-wiki백과 발췌스택의 역할은?함수 내의 로컬 변수를 임시 저장한다.함수 호출시 파라미터를 전달한다.복귀 주소를 저장한다.스택의 구조는?스택은 FILO 혹은 LIFO 구조 즉, 선입후출 또는 후입선출의 구조를 가진다. 다음은 아래의 그림을 통해서 이해하여보자. [그림 1] 스택 다음 그림을 보면 먼저 들어 온 값의 경우, 나중에 나가게 되고 나중에 들어온 값은 먼저 나가게 됩니다. 이것을 FILO, LIFO 구조라고 한다.
2016.11.02 -
[리버싱 핵심원리]1부 4장_IA-32 Register 기본 설명
OllyDbg를 이용해서나 다른 툴을 사용하여 디버깅을 하다보면 각각의 레지스터들의 용도에 관하여 알아야 할 경우가 있다. 자,그럼 이번엔 레지스터에 관하여 알아보도록하겠다. CPU Register? !레지스터?CPU내부에 존재하는 다목적 저장 공간이다. IA-32의 레지스터IA-32레지스터의 Basic program execution registers는 크게 또 4가지로 나뉜다. 1.General purpose Registers(32bit) --> 8개2.Segment Registers(16bit) --> 6개3.Program Status and Control Registers(32bit) --> 1개4.Instruction Pointer(32bit) --> 1개 [그림 1]Basic program e..
2016.10.27 -
[리버싱 핵심원리]1부 3장_리틀 엔디언 표기법
바이트 오더링이란?데이터를 저장하는 방식을 일컫는 말이다. 크게 빅엔디언과 리틀엔디언으로 나눈다. 그러면 빅엔디언과 리틀엔디언 의 차이점에 관하여 알아보도록 해보자. BYTE b = 0x12; WORD w = 0x1234; DWORD dw = 0x12345678; char str[] = "abcde"; [코드 1] 빅엔디언&리틀엔디언 비교 TYPE NAME SIZE 빅엔디언 리틀엔디언 BYTEb 1 [12] [12] WORDw 2 [12][34] [34][12] DWORDdw 4 [12][34][56][78] [78][56][34][12] charstr 6 [61][62][63][64][65][00][61][62][63][64][65][00] [표 1] 빅엔디언&리틀엔디언 비교 바이트 타입으로 변수를 저..
2016.10.27 -
[리버싱 핵심원리]1부 2장_Hello Reversing!
기본기를 다지려고 리버싱 공부를 책보고 차근차근 해보기로 하였다 ㅎㅎ그래서 선택한 책이 리버싱 핵심원리라는 책인데, 너무......길다!!!!!!!!!!!!근데 해보고 싶으니까 해야쥐 ㅎㅎㅎ 코럼 잡담은 그만하고 시작하도록하겠다. 1부 1장의 경우 마음가짐과 같은 당부를 하는 부분이라 생략하도록 하겠다. 1부 2장의 경우 "Hello World!"의 문자열을 포함한 메세지박스를 출력하는 코드를 작성한 후 그 동작원리를 알아보기 위해 리버싱실습을 하는 것을 목표로하는 듯하다. 그러면 우선 해당 코드를 작성해보자. [그림 1]Hello World_cpp_code그런데 책을 읽어보면 Release mode로 빌드를 하는 것이 코드가 더 간결해 져서 디버깅하기가 더 편하다고 말한다. 왜 그럴까??엄~청 궁금해서..
2016.10.25 -
wargame.kr fly me to the moon
문제를 풉시다~다당당ㅎㅎ 들어가보니까 게임해야할꺼 같은 삘이다. 해봤다...그냥..죽었다..ㅎㅎ 점수 31337만들라고한다난 못해그러니까난독화소스코드보자........믱...난독화 되어있다..난독화를 풀어보자난http://matthewfl.com/unPacker.html이거썼음쿠글에 자바스크립트 언팩쳐서 처음뜬거 드감 ㅋ 코드가 읽을 수있게 나왔다.근데 __0x32bb가 정말 거슬린다. 파이썬으로 내가 볼수 있게 바꾸자 문자열들이 읽을 수 있게 나왔닿ㅎㅎ여기서 token.php가 정말 거슬린다.들어가 봐야징숫자가 막..뜬다.F5를 누르면 숫자가 바껴서 뜬다. 그러면결론은 fiddler로 보자. 왜 내눈에 저 숫자가 token.php에서 나온숫자로 보이는지~일정 시간마다 날려주는 걸 확인할 수 있다.즉, ..
2016.09.19 -
wargame.kr DB is really GOOD
DB문제인가 보다 유져이름이랑 데이터베이스관계를 생각 해보랴규? 문제 들어 왔더니 뷁,,코드봐야쥥ㅎㅎ이것도 소문자만 필터링하시넹ㅎㅎ그면 Admin너로 정했다얍!!! 얍!!!!순간 이게 답인줄알고 심쿵함
2016.09.17