일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DP
- dirty cow
- Security
- gameplay effect
- ability task
- linear difference equation
- sampling theory
- CTF
- MLFQ
- 운영체제
- frequency-domain spectrum analysis
- reverse gravity
- 언리얼 엔진
- pdlc
- DSP
- gas
- MAC
- gameplay ability
- 메카님
- 게임개발
- ret2libc
- dtft
- 유니티
- 유스케이스
- 언리얼엔진
- stride
- Race condition
- Rr
- 게임 개발
- Unreal Engine
- Today
- Total
목록전체 글 (336)
다양한 기록
CWE 416이미 해제된 메모리 청크를 가리키는 포인터를 다시 참조함https://github.com/Lagooneng/UseAfterFree GitHub - Lagooneng/UseAfterFree: 간단한 Use After Free 예시간단한 Use After Free 예시. Contribute to Lagooneng/UseAfterFree development by creating an account on GitHub.github.com예시 코드 프로세스에서 의도되지 않은 동작을 유발할 수 있음#include #include struct unicorn_counter {int num;};int main() { struct unicorn_counter *counter; int *run_cal..
glibc Heapmalloc, free 관련 bin - 뚜껑이 달려있는 저장통, 상자, 쓰레기통 ..어쨌든 용량이 다른 여러 종류의 통힙에서 해제가 된 메모리 청크를 관리하기 위해 사용하는 자료구조 힙에서는 청크가 메모리를 할당하거나 해제하는 단위malloc : 메모리를 청크 단위로 할당해줌free : 사용이 끝난 메모리를 해제 해제된 청크는 해당되는(사이즈 맞는) 빈에 저장되는데,각 빈은 서큘러 더블리 링크드 리스트 형태 할당된 청크Meta DataUser DataMeta Data사용자 데이터가 있고, 메타 데이터가 앞 뒤로 있음각각의 청크는 사용자 데이터 뿐만 아니라 관련 메타데이터도 포함함 해제된 청크Chunk SizeAMPFwd PointerBck PointerFD_NextsizeBck_Nex..
UFS (유닉스 파일 시스템)- 레이아웃부트 섹터슈퍼블록비트맵Inode유저 데이터심플하고 사용하기 쉬움보기에는 괜찮으나, Seek distance 같은 걸 고려하면 성능에 문제가 있고,데이터 하나를 write하는데에 상당히 많은 I/O가 발생-> 성능 문제-> 일관성 문제 성능적으로 굉장히 나쁨UFS의 구조대로면 디스크 바깥쪽에 inode가 쭉 쌓이고 안쪽에 유저 데이터가 존재inode와 데이터 접근을 번갈아하면서 디스크 시크가 많이 발생하게 됨=> FFS .. inode와 유저 데이터를 가까운 곳에 놓겠다. 같은 실린더 그룹에 있는 데이터는 시크 디스턴스가 필요 없음혹은 가까운 실린더에서는 시크 디스턴스가 적게 필요* Ext2/3/4에서 사용되는 개념.. 블록 그룹이라 부름** 실린더 그룹: 중심으로부..
패링 소드의 최적화 작업을 시작했습니다.유니티의 프로파일러 기능을 사용하면 어떤 작업 때문에 처리가 느려지는지 알 수 있습니다. 맵이 크면 프레임 드랍이 좀 심해서 최적화가 필요하다고 느꼈는데,일단 유니티 엔진의 버전을 올리니 최대 6배 가량 프레임이 빨라지는 등프레임에 문제가 없어져서 플레이 환경에서 별로 문제는 없는데, 일단 프로파일러로 어디서 문제가 발생하는지 확인을 해보았습니다. 사실 이대로면 분석을 하는 의미가 없기에 맵을 과하게 확장시켰습니다. (21 * 21 크기, 기본 맵 크기는 훨씬 )맵의 규모가 커지면 그냥 단순히 오브젝트가 많아서 부하가 걸리는 건지,렌더링하느라 시간이 걸리는 건지, 물리 엔진 문제인지 그냥은 알기가 힘들기 때문에 테스트가 필요했습니다. 프로파일링을 보면 물리엔진..
DHCP (Dynamic Host Configuration Protocol)서버가 네트워크에 조인하려는 호스트에게 자동으로 IP를 할당해주는 응용 계층의 프로토콜 정해진 개수의 IP를 들고 있고, 호스트가 요청하면 IP를 할당해줌예를 들어 학교의 와이파이 같은 경우가 해당모든 학생마다 각각을 위한 IP를 주기보다는 적당한 수의 IP를 준비해두고 달라고 하면 주는게 효율적 작동 원리1. DHCP discover:- 호스트가 브로드 캐스트 요청 (src, dest, 등 아는 거 없고 그냥 보냄)- 누가 DHCP 서버인지 모르니까 일단 네트워크에 브로드캐스트- 있는 건 트랜잭션 ID 2. DHCP offer:- DHCP 서버만 요청을 인식하고 응답 (소스만 있고, 목적지는 모름, 서버도 브로드 캐스팅)- yi..
IP address32비트 identifier 인터페이스IP 주소는 각 장치의 인터페이스와 연결됨- 호스트/라우터와 물리적 링크와의 연결- 호스트는 일반적으로 하나나 두개의 인터페이스를 가짐(랜, 와이파이)계층적 주소 체계IP 주소: 네트워크 ID + 호스트 ID IP 주소 등급ICANN에서 IP 주소를 관리함 Range for first byte시작 비트Network IDClass A0~12707비트 (8비트까지)Class B128~1911014비트 (16비트까지)Class C192~22311021비트 (24비트까지)Class D224~2391110 Class E240~2551111클래스 A- 네트워크 개수 2의 7승- 24비트 호스트에 할당그만큼 호스트의 개수가 많음 클래스 B- 네트워크 개수 2의 ..
다양한 종류의 파일 시스템UFS, FFS, EXT2/3/4,JFS(저널링), LFS(로그 스트럭처드), NTFS(윈도우), F2FS(플래시-프렌들리.. 삼성 꺼),FUSE(유저 레벨 커널 시스템), RAMFS(램), NFS(네트워크), AFS(앤드류),ZFS(제타바이트, 솔라리스에서 만듦), GFS(구글), FATFS, BtrFs..VSFS(베리 심플 파일 시스템)유닉스 파일 시스템 심플 버전을 구상해보자 디스크파일 시스템 입장에서는 디스크는 그냥 4k 블록 집합으로 봄 파티션디스크 블록들의 집합디스크 블록의 크기는 보통 메모리의 페이지 크기와 같음 = 4 KB VSFS에서는 디스크 블록이 64개 있다고 가정 슈퍼 블록 - 0번에 할당파일 시스템을 관리하기 위한 메타 데이터 비트맵 - 1~2번 블록빈 공..
APIs 시스템 콜- open (파일 디스크립터 리턴)- I/O(read, write)- attribute(stat, chown, chmod 등 속성 관련)- create (inode 할당)- name resolution (디렉토리 계층 트래버스)- 파일 시스템 관리- 디렉토리 관리.... OS 내부- 블록 할당, 반납- inode 할당, 반납- namei (name resolution을 하기 위한 내부 인터페이스)- 버퍼 관련 // open with create flagint fd = open("foo", O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR);// creat() ,, 잘 안씀int fd = creat("foo");open()인자- name- flags(..