[C 문법] 구조체(Structure Type)
·
Programming/C
구조체란?구조체 (structure type)란 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입이다. 기본 타입만으로는 나타낼 수 없는 복잡한 데이터를 표현할 수 있다. 배열이 같은 타입의 변수 집합이라고 한다면, 구조체는 다양한 타입의 변수 집합을 하나의 타입으로 나타낸 것이다.구조체를 구성하는 변수를 구조체의 멤버(member) 또는 멤버 변수(member variable)이라고 한다. 구조체의 정의와 선언C언어에서 구조체는 struct 키워드를 사용하여 정의한다. 문법struct 구조체이름{ 멤버변수1의타입 멤버변수1의이름; 멤버변수2의타입 멤버변수2의이름; ...}; 예제struct book // 키워드 구조체 이름{ char title[30];..
[iOS] Window OS에서 iOS 16 이상 탈옥 (iOS 16 - iOS 17, iPhoneX)
·
Mobile/iOS Hacking
최근 iOS 12 및 iOS 16 탈옥을 진행했습니다. iOS 12의 경우 쉽게 Cydia를 설치할 수 있었는데, iOS 16의 경우 여러 번의 시행착오 끝에 Palera1n를 설치할 수 있었습니다. 해당 게시글에서는 iOS 16 이상 탈옥을 기록해두었습니다.  [정보]기종: iphone X버전: 16.7.7사용 OS: Window [준비물]USBdkWinra1nv2.1아이폰 정품 USB => 이거 없어서 삽질 많이 한... 😢공장초기화 미리 해두었습니다. 1. iKey URL 접근 후, [News] - WinRa1n v2.1 Release Notes 클릭URL 클릭https://www.ikeytools.com/ iKey - One-click Jailbreak BYPASS Tool for Windows..
mitm relay를 이용한 TCP Packet 변조
·
Mobile
tcp 패킷 변조가 필요해서 후다닥 기록했습니다... TCP 패킷의 경우 Burp Suite로 패킷이 안 잡히기에 mitm Relay를 이용했습니다. 당장 사용해야 했던 상황이라 사진이나 다른 내용을 적기 애매해서... 차후에 더 자세하게 수정할 예정입니다.  1. 안드로이드 port 및 ip 확인PCAPdroid 어플을 이용하여 앱의 ip 확인 (Destination) 2. iptables 등록 - adb shell에 관리자 권한으로 접속adb shellsu - iptables 룰 설정서버 ip 및 서버 port는 1에서 알아낸 걸 작성하고, 나의 PC는 cmd창에 ip 조회 후 적어주면 됩니다.# iptables -A OUTPUT -t nat -p tcp -d --dport -j DNAT --to..
cmd 관리자 권한으로 열리게 하기
·
etc/Practical Things
1. 시작 메뉴(윈도우 키)에서 cmd 검색 후 [파일 위치 열기] 클릭 2. 명령 프롬프트를 오른쪽 마우스 클릭 후 [속성] 클릭 3. [바로 가기] - [고급] 클릭 4. 관리자 권한으로 실행 체크 후 확인 클릭  이렇게 하면 cmd 클릭 시 관리자 권한으로 실행 된다.폴더에서 cmd 입력 시 관리자 권한으로 실행하는 것도 찾아보는 걸로...
리눅스에서 IP주소를 확인하는 방법
·
etc/Practical Things
ifconfig ip addr show: 현재 네트워크 인터페이스의 IP 주소 및 관련된 정보 hostname -I: 호스트 이름을 통해 해당 시스템의 IP 주소를 확인 ss 명령어: 네트워크 소켓 상태를 보여주는 명령어로, -tulw 옵션을 사용하여 현재 열려 있는 포트와 해당 IP 주소를 확인 netstat -rn:네트워크 연결 및 라우팅 테이블 등의 정보를 보여주는 명령어. -rn 옵션을 사용하여 라우팅 테이블을 보여줌nmcli 명령어: 네트워크 매니저의 커맨드 라인 인터페이스. 현재 네트워크 연결 상태 및 IP 주소를 확인 ip route: 현재 시스템의 라우팅 테이블을 보여줌. I P 주소와 관련된 네트워크 정보를 확인함. 현재 시스템의 라우팅 테이블이 출력됨. 이 테이블에는 네트워크 대역과 해..
Storbinary() 함수
·
etc/Practical Things
FTP(File Transfer Protocol, 파일 전송 프로토콜): TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다.  storbinary(cmd, fp, blocksize, callback, rest):- FTP 커맨드 STOR을 사용하여 FTP 클라이언트에서 FTP 서버로 파일 전송을 시작한다.- binary 모드로 전송한다. STOR 커맨드를 보내기 전에(다음 전송은 binary image), 함수는 내부적으로 "TYPE I" 명령을 FTP 서버에 보낸다. cmd: 사용할 FTP 명령fp: 파일 오브젝트. 일반적으로 내장 함수 open()을 통해서 얻는다. blocksize: 네트워크를 통해서 읽고 보낼 최대 사이즈. default size는 8192..
[백준 1260 / Python(파이썬)] DFS와 BFS
·
etc/Algorithm study
문제 풀이 DFS의 경우 재귀 함수를 이용하여 그래프를 탐색한다. BFS의 경우 queue를 이용하여 그래프를 탐색한다. # BOJ1260_DFS와BFS from collections import deque n, m, v = map(int, input().split()) graph = [[] for _ in range(n+1)] visited = [False for _ in range(n+1)] for _ in range(m): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) for i in range(len(graph)): graph[i].sort() def dfs(graph, start): global dfs_answer,..
[백준 1197 / Python(파이썬)] 최소 스패닝 트리
·
etc/Algorithm study
[백준 1197 / Python(파이썬)] 최소 스패닝 트리 문제 풀이 크루스컬 알고리즘(Kruskal Algorithm) 이용 알고리즘을 이용하여 가중치의 크기를 구한 뒤 print해준다. 틀린 풀이: 시간 초과 #최소 스패닝 트리 import sys V, E = map(int, sys.stdin.readline().split()) arr = [list(map(int, sys.stdin.readline().split())) for _ in range(E)] arr.sort(key=lambda x: x[2]) uf = [i for i in range(V+1)] #union-find def kruskal(): global V, E, arr, uf mst = 0 #최소 스패닝 트리의 가중치를 담음 for u..