2. Reversing (리버싱) (75) 썸네일형 리스트형 [2022.11.19] R4 활동일지 - 4강 LENA 17보충 아이디와 일련번호를 입력하고 CHECK 버튼을 누르면 일련번호가 맞는지 확인하는 문제 일련번호가 미리 저장된 것이 아니라 입력된 아이디 값을 가지고 프로그램에서 일련번호를 직접 생성하는 것 오류 메시지를 통해 분석 시작 위치를 찾아보면, 0040135A 근처에서 확인할 수가 있다. 코드 영역 위쪽으로 올라가보면 004012FB에서 lstrlen 함수를 확인할 수 있다. 이 함수는 문자열을 입력받아 길이를 구해 EAX에 결과를 담아주는 함수다. 프로그램에서는 EAX에 담겨 있는 문자열 길이를 다시 ECX로 옮겨서 뒤에 오는 반복문에서 반복 횟수를 지정하는 변수로 사용하고 있다. 반복문의 역할은 일련번호를 생성하는 것이기에, 메모리 403038에 들어 있는 문자열을 다양한 연산을 반복적으로 수행하면서 일련번.. Lena's Reversing (15, 17) Lena의 강의: 플래시 동영상으로 제작돼 쉽게 이해할 수 있고 단계별 예제도 제공하고 있는 강의 -한국에서도 유형해 한국어로 번역해놓은 블로그로 공부할 수 있다. https://bob3rdnewbie.tistory.com/category/Reversing/Lena%27s%20Reversing%20Tutorial%20for%20Newbie?page=5 'Reversing/Lena's Reversing Tutorial for Newbie' 카테고리의 글 목록 (5 Page) bob3rdnewbie.tistory.com -Lena's reversing 자료 다운은 현재 막혔다. 다른 루트로 직접 다운로드할 수 있다. -리버싱 입문 책에 수록된 사진을 토대로 풀이법을 설명하겠다. [목차] 1. Lena 15강.. [2022.10.08] R4 - crackme#3, crackme#4, crackme#5 문제 풀이 일시: 2022.10.08 스터디원: 정현수, 엄설인, 유예지, 이유빈 활동내용: 도서 [리버싱 입문] 3장, abex crackme #3 ~ #5예제 개별 학습 후 피드백 및 질의응답 사용 환경: VirtualBox(가상환경), Window 7, Ollydbg(분석 프로그램) # abex crackme 세 번째 예제 프로그램 처음 실행 화면) 올리디버거에 들어가서 코드 분석을 해보자 이 3가지 부분에서 프로그램에서 출력되는 메시지들이 나온 코드 부분들이라는 것을 알 수 있다. 주소 ‘0040102A’에 ‘CreateFileA’명령어 존재하여 시작지점이라는 것을 알 수 있다. 주소 ‘00401046’에서는 결과값을 EAX레지스터에 저장하고 파일크기가 12(16진수)인지 확인하는 역할을 한다. 구조 분석).. [2022.10.01] R4 - crackme#1, crackme#2 문제 풀이 일시: 2022.10.01 스터디원: 정현수, 엄설인, 유예지, 이유빈 활동 내용: 어셈블러 명령어 암기 시험, 도서 [리버싱 입문] 2장, abex crackme #1, #2 예제 개별 학습 후 피드백 # 어셈블러 명령어 종류 1) 데이터 이동 - MOV : 데이터 복사 - MOVZX : 0을 확장하여 데이터 복사 - MOVSX : 부호 확장하여 데이터 복사 - LEA : 주소 복사 2) 산술 연산자 - ADD : 덧셈 - SUB : 뺄셈 - MUL : 부호 없는 곱셈 - IMUL : 부호 있는 곱셈 - DIV : 부호 없는 나눗셈 - IDIV : 부호 있는 나눗셈 - INC : 1 증가 - DEC : 1 감소 - NEG : 부호 반전 3) 부울 연산자 - AND : 둘 다 참이어야 참이다. - OR .. [2022 . 9. 17] R4 활동일지 일시: 2022.09.17 스터디원: 정현수, 엄설인, 유예지, 이유빈 활동내용: 도서 [리버싱 입문] 1장, 부록 페이지 개별학습 후 발표 및 피드백 http://www.yes24.com/Product/Goods/27628413 리버싱 입문 - YES24 따라 하며 자연스레 익히는 리버싱기존의 리버싱 관련 서적은 리버싱에 필요한 다양한 지식을 전달하기 위해 많은 공을 들여 배경 지식을 설명하고 있다. 즉, 리버싱을 하려면 굉장히 다양한 지 www.yes24.com 활동내용 정리 1장 - 엄설인 PE파일(exe 파일…): 윈도우 운영체제에서 사용하는 실행 파일 형식 ᄋ 프로그램을 실행하는 데 필요한 기본 정보와 파일을 메모리 어디에 저장해야할지 알려주는 배치 정보가 들어있음 ᄋ 구성: 헤더(PE.섹션헤더.. [2022.05.07] 5장 리버싱의 어려운 문제들 ① 보호되어 있는 글입니다. [2022 . 3. 26] 리버고고싱 활동일지 Abex crackme #3 파일을 열었을 때, 2가지 팝업창이 차례로 생성된다. 이를 알아보기 위해 OllyDbg를 이용하여 파일을 열고, Memory Map을 통해 파일의 구성을 찾아본다. MemoryMap의 code 부분을 클릭하면, 팝업창이 나오는데, 여기서 아스키코드가 “abex.I2c” 그리고 CMP 부분의 eax가 12임으로, 16진수로 12, 10진수로 18이므로, 파일을 18자리를 만들어 abex.I2c로 저장한다. 즉, 만든 파일을 keyfile로 인식하는 프로그램이다. abex crackme 5번째 예제 요약 프로그램에서 허용하는 Serial Number(일련번호)를 맞추는 프로그램이다. [ True Serial Number ] : Yep, you enetered a correct s.. [2022.03.19] 어셈블리어, 레지스터 어셈블리어란? 어셈블리어(assembly language)는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다. 0과 1의 이진수로 프로그램을 하는 기계어는 인간의 관점에서는 컴퓨터가 바로 읽을 수 있다는 점만 빼면 장점이 없는 언어이기 때문에 이를 보완하기 위해 나온 언어가 어셈블리어이다. 기계어와 명령어가 1:1로 대응되는 단어들로 구성되어 있으며 저급 언어는 컴퓨터와 가까운 언어이기 때문에 컴파일을 해도 간단한 명령으로 실행돼서 실행 속도가 굉장히 빠르다. 하지만 배우기가 어렵고 유지보수가 힘들다는 이유로 특수한 경우를 제외하고는 사용되지 않고 있다. 컴파일 vs 어셈블 고급언어로 작성한 원시 프로그램을 컴파일러가 기계어로 번역하는 작업을 컴파일(Complie)한다고 하고, 어셈블리어로.. 이전 1 2 3 4 5 6 7 ··· 10 다음