일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준알고리즘
- 공부일지
- java
- 소프티어
- MYSQL
- programmers
- 시나공
- C++
- 자바
- 백준
- 코딩교육봉사
- python
- SQL
- 1과목
- BFS
- kotlin
- 스프링
- 코틀린
- CJ UNIT
- softeer
- 데이터베이스
- 파이썬
- 알고리즘
- 코딩봉사
- SW봉사
- 문제풀이
- 정보처리산업기사
- 백준 알고리즘
- 회고
- 프로그래머스
- Today
- Total
목록기타 학습/보안 (6)
JIE0025
악성코드 분석 강의를 듣는 중, 용어가 생소해서 자꾸 까먹는 이유로 게시글로 정리했다 ㅠㅠ DLL 은 Dynamic Linked Library의 약자이다. 동적 연결 라이브러리라고 부른다. - 라이브러리란 SW 개발 시 자주 사용하는, 기초적 함수들의 중복 개발을 피하기 위하여 표준화된 함수, 데이터 타입을 만들어 모아놓은 파일을 얘기하는데, 동적 연결 라이브러리란 각 실행파일에서 해당 라이브러리의 기능을 사용할 때(요청 시) 파일을 참조해 호출한다. 요약하자면, 각 프로그램이 어떤 기능을 사용할 때, 그 기능은 DLL 파일로서 저장되어 있다는 뜻이다. DLL 장점 - 실제 메모리에 로드되는 중복 코드를 줄인다. - 모듈식 프로그램 개발 가능 - DLL 내 함수 수정 시 프로그램 재 연결이 필요하지 않다..
############## 작성자가 진행한 실습 그대로의 과정을 담았습니다. ############## ######## 공부 목적으로 실습한 것이라서 혼자 삽질한 내용이 담겨 있습니다. ######## https://codeengn.com/challenges/ 실습 파일은 코드엔진 challenges 에서 다운 받을 수 있다. 오늘의 실습은 코드엔진의 basic RCE L05번이다. 프로그램의 등록키를 찾는 것이 최종 목표! 먼저 올리디비지로 실행해보았다. 파일 오픈 후 f9 클릭하니 이런창이 떴다. unregistered... > name 754-GFX-IER-954 > serial num Serial Num 를 찾으면 그것이 정답이 될 것같다. 어차피 등록키를 모르는거 Register now! 버튼을..
############## 작성자가 진행한 실습 그대로의 과정을 담았습니다. ###################### 공부 목적으로 실습한 것이라서 혼자 삽질한 내용이 담겨 있습니다. ######## 오늘 실습할 것은 코드엔진의 Basic RCE L04이다. 계속 해왔듯이 일단 파일을 올리디버거로 열어서 실행시켜보았다. 끝도 없이 :디버깅당함 이라는 문자열이 출력되었다. 이를 보고 나는 두가지 생각이 들었다. 첫번째는 파일이 콘솔창에 뜨는 것을 보니 printf로 디버깅 당함을 출력하지 않을까 예상이 간것이며두번째는 디버거를 탐지하는 함수가 약 1초에 한번씩 호출되는 듯 하였으니, 시간에 관한 함수도 존재할 것이라는 것이다. 그리고 이 두가지 생각이 > C언어를 사용한 실행파일이겠구나, 그렇다면 1초에 ..
######## 작성자가 진행한 실습 그대로의 과정을 담았습니다. ######## 오늘의 챌린지는 비주얼베이직에서의 스트링 비교함수 이름을 찾는 것이다. 추가적으로 스트링 비교함수 내부가 어떻게 돌아가는지를 분석해보았다. -------------------------------------------------------------------------------------- 올리디버거로 실행시켜보았더니 시스템에러가 났다. The program can't start because MSVBVM50.DLL is missing from your computer. Try reinstalling the program to fix this problem MSVBVM50.DLL 이 없어서 생긴 문제인 듯 했다. 해결법..
############## 작성자가 진행한 실습 그대로의 과정을 담았습니다. ############## ######## 공부 목적으로 실습한 것이라서 혼자 삽질한 내용이 담겨 있습니다. ######## https://codeengn.com/challenges/ 실습 파일은 코드엔진 challenges 에서 다운 받을 수 있다. 오늘은 코드엔진의 challenge 중 basic 2번을 풀어보았다. 실행파일이 손상되어서 실행할 수 없는 파일의 패스워드를 찾는 것이 이번 문제이다. 실행할 수 없는 파일임을 확인하기 위해 평소 실습하던 환경인 OllyDbg에서 파일을 오픈해보았다. Unable to open or read file .....02.exe 역시 오픈하거나 읽을 수 없는 파일이라고 뜬다. 다른 도구인..
문자열 패치에는 두가지 방법이 있다. 1) 문자열 버퍼의 직접 수정 2) 빈 메모리 영역에 새로운 문자열 생성 후 파라미터로 전달 (내가 했던 실습은 C++를 사용하여 main함수 안에 메시지박스 함수를 호출한다. 파라미터로는 Hello world! 를 전달한다.) - 문자열 버퍼의 직접 수정 실습 첫번째 문자열 버퍼의 직접 수정 실습을 하다가 잘 되지 않았다. 무엇이 문제인지 파악하고자 하였지만 초보자로서 알기 어려웠다. 자세히 들여다보면 답이 있다. 00C91007 에서 push offest 00c92128을 하는 것이 보인다. 즉 00c92128의 문자열 자체를 바꾸어야 우리가 원하는 목적을 이룰 수 있다는 것이다. 내가 실수한 부분은 offset의 문자열을 바꾼것이 아닌, 00c91007을 수정하..