본문 바로가기

전체 글

(19)
내 O.S.T 시계 이야기 원래 시계를 좀 사고 싶었는데(무적권 메탈), 지독한 구두쇠 였던 탓에 나는, 3만원 넘어가는 시계는 쳐다보지도 않았다. 그러면서 그냥 대강 봤을때 예뻐보이는 막 찰 수 있는 메탈 시계를 사고 싶었는데, 마침 당근마켓에서 O.S.T 메탈 시계를 5천원에 판매한다는 이야기를 들었다. 그래서 바로 구매를 하였다. 가격도 좋고, 잘 작동하며, 대강 봤을때 매우 이쁘기 때문에, 매우 만족하였다. 하지만 큰 단점이 있었는데... 시계 줄이 너무 짧아서 들어가지 않았다. 여분으로 줄은 받았지만, 줄을 가는 방법을 몰랐다. 그래서 인터넷을 찾아보며 알아본 결과, 샤프로 핀을 눌러서 조정을 할 수 있다는 이야기를 들었고.. 지독한 구두쇠인 나는 샤프로 직접 시계줄을 늘리려고 했다. 배터리는 나가있던터라. 배터리 수리는..
암호 기초 스터디 2주차 내용 요약 2.1 정수 집합 : 우리가 초, 중딩때 배운 정수들의 집합이다. 2.1.1 연산의 기본 성질 Z1 집합 Z 위에서 덧셈이 정의된다. Z2 덧셈에 대해서 교환 법칙이 성립한다. Z3 덧셈에 대해서 결합 법칙이 성립한다. Z4 특정한 정수 0는 덧셈에 대한 항등원이다. Z5 모든 Z내 원소 a에 대하여, a + (-a) = 0인 -a가 존재하며, -a 또한 Z 내에 포함된다. 이 때 -a를 a에 대한 역원이라고 한다. Z6 집합 Z 위에서 곱셈이 정의된다. Z7 곱섬에 대해 교환, 결합 법칙이 성립한다. Z8 특정한 정수 1은 곱셈에 관한 항등원이다. Z9 집합 Z 위에서 덧셈과 곱셈은 분배 법칙이 성립한다. --> 나눗셈은 없는 이유 : 4/3은 정수가 아니잖어~ 2.2 약수와 배수 a|b는 b가 a로 ..
이더리움 블록체인 게임 개발 - 책 요약 위의 이 책입니다. 1~4장을 요약해볼 건데, 음.. ㅎㅎ 빠르게 해보도록 하겠습니다. 1장 1.1 블록 블록체인은 순서가 정렬된 일련의 블록으로 구성된다. 이 블록은 메타 정보인 헤더와 트랜잭션으로 구성된다. 블록은 채굴자가 채굴하여 생성하며 네트워크 내의 다른 노드로 브로드캐스트 된다. --> 블록은 채굴자가 채굴하면 만들어짐, 네트워크 내의 다른 노드로 브로드캐스트? 무슨 의미인지... 트랜잭션은 일련의 코드 묶음? 과 같은 거임. 블록은 헤더와 트랜잭션으로 이루어졌구나~ 모든 노드는 일련의 합의 규칙에 따라 수신된 블록을 확인하여 합의 규칙을 충족시키지 못하는 블록은 네트워크에서 거부된다. --> 블록이 네트워크 내의 노드에 의해 허가되면 네트워크에 포함된다는 것은 네트워크 내의 노드 == 블록이..
[reversing.kr] Direct3D FPS 우선, 실행을 시켜보았다. 그러면 위와 같이 나오게 되는데 뭔가 엄청 재밌어 보인다. 근데 이속이 느려서 개답답함.. 요런 귀여운 녀석이 있는데, 총을 마구 쏴도 데미지가 다는건지 마는건지.. 가만히 있기만 하다. 게임 내를 둘러봤지만, 이속도 매우 느리고 답답해서 그냥 나왔다. 딱히 별거는 없고, 저런 녀석들이 매우 많이 있다. (근데 뭐 어쩌라는 건지..) 이제 직접 디버거로 까보자. 문자열 참조로 Game Clear!를 찾으면 위와 같은 루틴을 찾을 수 있는데, eax가 0x309194부터 0x210씩 커지며, 0x30F8B4와 크거나 같아지면 clear가 된다. 이 때 eax의 주소에 있는 값이 전부 1이 아니어야 한다. (flag같으므로, 0이어야 함을 예상할 수 있다.) 위의 MessageBo..
웹해킹 - SOP와 CSRF SOP SOP는 Same Origin Policy라고 하여, 동일 출처 정책이라고한다. 이건 어떤 사이트에서 또 다른 사이트의 리소스를 함부로 가져올 수 없도록 하는 것이다. SOP를 이해하기 이전에 그러면 Same Origin은 무엇일까? Same Origin을 판별하기 위해서는 scheme, port, host를 비교해봐야 한다. 예를들어, https://www.naver.com 이라는 주소가 있다고 할 때, shceme은 프로토콜인 https가 되고, port는 https 포트번호인 443번, host는 www가 된다. 그러므로, 예를 들어, 아래의 여러 개의 URI가 있다고 할 때, http://xyz.example.com/hello.php http://xyz.example.com/index/pw..
[reversing.kr] position 우선 readme를 읽어보자. name을 통해 serial을 gen하는 그런 문제인것 같다. 그러면 우리는 serial generation 루틴을 찾아서 분석해야 할 것이다. 우선 패킹은 되어있지 않은 것으로 확인하였다. 문자열 참조를 통해 다음의 루틴을 찾아보자. 그러면 위의 call position.8D1740에서 eax값이 세팅되고 이 값이 0이면 Correct를 띄우는 것을 확인할 수 있다. 그러므로, 위 함수 안에 key gen과 비교 루틴이 있을 것이다. 그전에, 이 프로그램은 event handling 방식이기에, 위의 루틴이 실행되는 event를 알아보면, serial이나 name칸에 어느것이든 적힐 때마다, 위의 루틴을 반복한다. 그러므로, 우선 serial 칸에 readme에 제공되어있..
[reversing.kr] easyELF 안녕하세요? 오늘은 EasyELF라는 문제를 풀어봤어용! 그러면 저와 함께 풀어볼까요?? Easy_ELF를 실행해줄까용?? "안녕!" 이라고 써줬는데, 바로 틀렸다면서 종료 해버리네요.. 그러면 gdb로 열어볼까요? 헉! strip 되어있나? main이 안뜨네용 그러면 start를 눌러서 들어가 볼까요?? 어떤 루틴이 존재하네요! 그리고 연달아서, 세 개의 함수와 아래의 cmp eax, 0x1을 보아하니,, 첫 번째 함수는 init 문장 출력 두 번째 함수는 read 세 번째 함수는 key auth를 하는 것을 예측할 수 있네요! 그러면 세 번째 함수에 들어가서 어셈을 좀 읽어볼까요? 0x804a021에서 1byte를 읽어오고 있어요! 흠.. 갑자기 어떤 주소가 나온 것도 모자라, 1로 끝난다고? 이거 ..
JAVA SCRIPT - Window 객체 본 포스팅은 www.tcpschool.com 에서 가져온 자료와 정보를 바탕으로 적혔음을 밝힙니다. Javascript에서 Window 객체는 DOM에서 document 객체가 해당 html문서를 가리키는 객체였던 것처럼, Window 객체는 해당 브라우저 창을 가리키는 객체이다. 그리고 자바스크립트의 모든 전역 변수와 전역 메소드가 window객체 안에 자동으로 포함된다. 그러니까 window.####는 자바스크립트내에 전역 변수 or 전역 함수인 ####로 그대로 존재한다. 다음을 보자. 심지어, DOM에서의 document객체도 전역 변수이기 때문에, window 안에 포함된다.(헉!) Location 객체 Location객체는 브라우저의 URI 링크와 관련된 일을 해주는 친구이다. 링크를 잘라주는..