본문 바로가기

전체 글202

[악성코드] 3주차, 문자열 패치 실습 첫 번째 방법, 문자열 버퍼를 직접 수정 먼저, 메인 화면으로 들어간다. 문자열을 변화할 title의 Dump Window에서의 위치를 파악한다. Dump Window에서 [ctrl] + G를 통해 해당 문자열이 있는 위치로 이동한다. 해당 문자열을 확인하였다. [ctrl] + E를 통하여 해당 문자열을 수정한다. 수정된 모습이다. 다음으로는 수정이 잘 되었는지 확인해야 한다. 이제 Debug -> Run을 클릭하여 변경된 모습을 확인한다. 두 번째 방법, 다른 메모리 영역에 새로운 문자열을 생성 전달 [Ctrl] + G 명령어를 통하여 문자열 저장 장소로 이동한다. NULL Padding 영역을 확보한다. [Ctrl] + E 명령어를 통하여 변경하고 싶은 문자열 저장 문자열을 변경한 후, 변경한 문자열.. 2021. 11. 19.
[악성코드] 2주차 과제 1. HelloWorld.cpp 코드 창 캡쳐 및 실행화면 캡쳐 2. 디버깅과정에서 Entry Point와 main() 함수 찾아서 캡쳐 EP(Entry Point) - 윈도우 실행파일의 코드 시작점 Main() 함수 - [F7]로 main()에 진입하여 main 함수를 확인하였다. - [F8](step into)로 진행하면 메시지 창이 출력되는 것을 확인하였다. 2021. 11. 19.
[모바일 포렌식] LINE Lite 분석 Mobile Phone: LG G Pro Application: Line Lite 분석환경: Window 10 분석 툴: Autopsy 4.19.1 앱이 삭제되지 않았을 때 CHAT.db에는 채팅에 관련한 내용이 들어있다. 라인 관련 이미지 파일을 추출하였다. 라인 채팅에 대한 내용이 추출된 것이 보이는 것을 볼 수 있다. 또한, 이미지 전송에 대한 내용도 보인다. 몇 개의 데이터가 오고 갔는지 보인다. 앱이 삭제 되었을 때 com.linecorp.linelite라는 디렉토리는 삭제된다. 물론, 관련 내용도 모두 사라진다. 2021. 11. 17.
Kali Linux, Metasploit 환경설정 Kali Linux Kali Linux에 들어가서 Setting - Network Adapter - NAT으로 설정한다. 밑에 Add로 Network Adater2를 추가하여 NAT으로 설정된 것을 Host-only로 변경한다. ip addr을 입력한다. File System - etc - network - interfaces를 클릭한다. 10~14줄에 적혀있는 내용을 적어준다. auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp 저장 후, 터미널로 이동한다. systemctl restart networking 명령어를 입력하고 ip addr을 입력한다. 입력 후, firefox에서 인터넷 연결을 확인한다. 인터넷 연결을 확인한 후, apt-ge.. 2021. 11. 17.
[BAEKJOON] 1753번: 최단경로 1753번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import heapq import sys input = sys.stdin.readline v, e = map(int, input().split()) start = int(input()) - 1 dist = [float('inf') for i in range(v)] dist[start] = 0 linked = [[] for i in range(v)] for i in range(e): a, b, w = map(int, input().split()) linked[a - 1].append((w, a - 1, b - 1)) heap = [] for w, a, b in linked[start]: heapq.heappush(.. 2021. 11. 16.
[BAEKJOON] 1450번: 냅색문제 1450번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import sys def brute_force(index, w, things, size, result): if index >= size: result.append(w) return brute_force(index + 1, w, things, size, result) brute_force(index + 1, w+things[index], things, size, result) def binary_search(start, end, key, arr): while start < end : mid = (start + end) // 2 if arr[mid] 2021. 11. 16.