본문 바로가기

Development

(128)
[WebRTC] STUN 과 TURN 에 대하여 #1 - 개요 VoIP 도 그러하지만, WebRTC 역시 Peer 간 연결을 위해서 NAT 환경에 대한 고려가 필요하다. 이를 위해서 IETF에서 표준을 정의한 것이 바로 STUN과 TURN, 그리고 ICE 이다. 1. NAT에 대하여 NAT는 외부망과 분리하고 공인망과 내부망의 IP:Port 를 매핑해주는 것이다. 다음 그림을 보면.. 192.168.100.3:3855 에 대해서 NAT는 외부에 145.12.131.7:6282 로 매핑해서 전달한다. 외부에서 보면 145.12.131.7:6282로 접속하면 되는 것처럼 보이지만 NAT종류에 따라서 달라진다. 1.1 Full Cone NAT 클라이언트와 한번 매핑하면 다른 곳에서도 해당 포트로 접속 가능함 1.2 Restricted Cone NAT 클라이언트와 한번 매..
AC Remote Telemetry Documentation AC Remote Telemetry Documentation This document helps you to set up UDP socket comunication between your application and Assetto Corsa. All the code samples are made using http://codepad.org/ . All the code snippets follow C++ syntax. The PC running Assetto Corsa will be referred as the ACServer. int are 32 bit little endian integers float are 32 bit floating point numbers bool are 8 bit boolean..
실제를 바탕으로 만들어진 궁극의 레이싱 시뮬레이션 Assetto Corsa Competizione 이탈리아의 게임 개발사 쿠노스 시뮬라지오니(KUNOS Simulazioni)는 언리얼 엔진 4를 활용해 게임 아세토 코르사(Assetto Corsa)를 개선한 후속작 아세토 코르사 콤페티치오네(Assetto Corsa Competizione)를 개발했습니다. 최근 발매된 이 레이싱 시뮬레이션 게임에서 전작보다 나아진 것은 그래픽뿐만이 아닙니다. IGN 이탈리아는 리뷰에서 “콤페티치오네는 느낌, 몰입도, 핸들링의 측면에서 여태껏 출시된 게임들 가운데 최고의 레이싱 시뮬레이션 경험을 제공한다"라고 평했습니다. 이 개발사가 어떻게 성공의 공식을 발견했는지 알아보기 위해 저희는 쿠노스 시뮬라지오니의 공동 설립자이자 브랜드, 프로덕트 매니저인 마르코 마사루토(Marco Massarutto), 수석 렌더링 프로그래..
DLL이란? (Dynamic Link Library) DLL이란? (Dynamic Link Library) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ DLL "Dynamic Link Libaray" ] 입니다. : ) 라이브러리 (Library) (Dynamic Link Library을 알아보기 전 라이브러리가 무엇인지 먼저 집고 넘어가자.) ▶ 소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것. 즉, 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것. ▶ 라이브러리를 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있으므로 개발 속도도 빨라지고 신뢰성도 확보..
Reflection (Visual Basic) docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/concepts/reflection Reflection - Visual Basic Reflection (Visual Basic) In this article --> Reflection provides objects (of type Type) that describe assemblies, modules and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type f docs.microsoft.com
[C#] 객체 정보를 얻기 위해 Reflection 을 사용해 보자 런타임시에 어떤 객체에 대해 필드, 속성, 이벤트를 알아내고자 할 때가 간혹 있으리라 생각되는데요, 이번 시간에는 이를 한번 가져오는 코딩을 해 볼까 합니다. 먼저 MyObject 클래스에 필드, 속성, 이벤트를 기재했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class MyObject { //public 필드 public string myStringField; public int myIntField; public MyObject myObjectField; //public 속성 public string MyStringProperty { get; set; } public int MyIntProperty { get; set; } public MyObject M..
Go 언어로 메모리 조작과 API 후킹을 구현하기 (윈도우즈 앱 리버스 엔지니어링) nanite.tistory.com/91 Go 언어로 메모리 조작과 API 후킹을 구현하기 (윈도우즈 앱 리버스 엔지니어링) 목차 0. 여는 말 1. 메모리 조작에 쓰는 타입 0) builtin 네이티브 자료형 1) "C" 2) "unsafe" 3) "syscall" 4) "reflect" 2. API 후킹 1) gominhook 패키지 소개 2) gominhook 설치 3) gominhook 사용 방법 4) go.. nanite.tistory.com
How to prevent memory editing to prevent hooking stackoverflow.com/questions/51309012/how-to-prevent-memory-editing-to-prevent-hooking How to prevent memory editing to prevent hooking I recently learned inline hooking x32 and x64 which is based on overwriting the first bytes of the function with a jmp to the hooking function or by pushing the 64 address to rax then jmp rax to pe... stackoverflow.com