일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- crypto-js
- 유니티3D 2018.2
- 상속
- c 환경설정
- 유니티기초
- 기초
- AES
- cryptography
- 게임 오브젝트
- 유니티3d
- 엔진기초
- 컴포넌트
- 유니티 설치방법
- python
- C언어
- VisualStudio2017
- Visual Studio
- 비쥬얼 스튜디오
- 빈 프로젝트
- 유니티 월드
- aes128
- CryptoJS
- c++
- Today
- Total
목록분류 전체보기 (15)
Basic of Computer Skills
19-01-18python API서버와 AngularJS를 활용해 통신을 하기 위해 프로젝트를 진행하던중 보안이슈가 발생하여 AngularJS단에서 Python과의 암복호화 통신이 필요하게 되었다. Python은 아래 사이트 https://cryptography.io/en/latest/ 에서 참고하여 암호 : AES-128, 모드 : CBC, 패딩 :PKCS7로 셋팅해 암복호화를 구현했다. JavaScript는 CryptoJS를 사용하여 간단하게 구현할 수 있었다. 구현 예제는 아래https://cryptojs.gitbook.io/docs/ 여기서 문제가 발생했다.분명 똑같이 key, iv, mode, padding 동일하게 입력했는데출력이 다르다는 것이었다. CryptoJS는 암호화를 할때마다 다른 결..
이전 포스팅에선 가상머신에 Santoku Linux를 설치하는 것까지 진행했다. 이제 스마트 폰의 앱을 PC로 추출해보자. 먼저 터미널을 열도록 한다. 처음 설치했으면 바탕화면에 아무것도 없을테니, 좌측 하단의 사시미를 눌러 'System tools' 탭에서 실행한다. root의 패스워드를 모르겠다면, 'sudo -i' 명령을 입력 후 설정해주자. (굳이 root가 아니어도 추출에는 지장이 없다.) 추출을 위해 우리가 사용해야할 도구는 'adb' 라는 프로그램이다. Windows 였다면 별도로 다운로드를 받아야겠지만, 여기선 이미 다 설치되어 있으므로 간단히 명령어만 입력해주면 된다. adb start-server adb를 사용하기에 앞서, 시동을 건다는 맥락으로 해석하면 되겠다. 폰트가 작은 관계로, ..
애플리케이션(이하 '앱'으로 총칭)은, '확장자가 .apk로 되어있는 파일'로 간단하게 정의할 수 있다. 그리고 이 확장자는 스마트 폰이 아닌 일반 데스크탑 환경에선 다소 생소하게 느껴질 수 있을 것이다. 하지만 .apk 파일은 .zip 확장자의 형태로 변환이 가능한 특징을 갖고 있다. 다음 사진은 이에 대한 예시이다. 확장자를 임의로 변경해도, 어떤 경고문 없이 바로 알집 형태로 변환되는 것을 알 수 있다. 이 파일의 압축 풀기를 시도해보자. 3개의 폴더와 그 외 잡다한 파일들이 보인다. 이는 모두 apk 파일을 이루고 있는 구성 요소란 것을 확인할 수 있다. 그렇다면, 왜 apk 파일의 확장자를 .zip으로 변경해도 아무런 문제가 일어나지 않는 건가? 왜냐하면 .apk 및 .zip 파일을 바이너리 분..
----실습에 앞서, 해당 게시글의 실습 환경은 LOB 서버를 이용했다는 걸 알아야한다. 만약 다른 실습 환경에서 진행했을 경우, ASLR 및 Stack Canary와 같은 메모리 보호기법이 걸려있을 가능성이 높으므로 원하는 결과를 얻을 수 없다는 것을 유념하자. 해당 LOB 서버는 메모리 보호기법이 다 해제된 상태이다.---- 스택 프레임에 대해 대략적으로나마 이해를 했다면 이번엔 이를 응용하여 지역변수 값을 변조하는 실습을 진행해보자 다음 코드는 기초적인 버퍼오버플로우에 대한 예시이다. i의 값이 100으로 고정되어있으므로, i가 123이 되지않는한 이 프로그램은 계속 "Failed"라는 문자열을 뱉고 종료할 것이다. 우리의 목적은 메인 함수 내부에서 100으로 초기화되어 있는 변수 'i'를 123으..
Unity3D 2018.2.4 Ver 설치 이번 게시글에서는 간단하게 유니티3D 최신버젼 설치 방법에 대해서 알아보겠습니다. 1. 유니티3D 공식사이트 https://unity3d.com/kr 에 접속하면 아래와 같은 화면이 등장합니다. 시간에 따라 달라질수 있지만 Unity 구매 버튼을 눌러주시면 됩니다. 2. Unity구매 버튼을 누르면 아래와 같은 사이트에 접속하게 되고 저희 같이 학생 개발자인 경우(개인 개발자), Personal 무료체험 버튼을 눌러주시면 됩니다. 3. 아래 페이지로 들어가지면, 약관을 동의하고 Windows용 응용프로그램 다운로드 버튼을 합니다. 그러면 유니티 설치 프로그램이 다운로드 받아집니다. 4. 유니티 설치 프로그램을 실행하면 아래와같이 다운로드 도우미가 활성화됩니다. ..
C언어 첫 강좌 개발환경 구축하기 입니다! 스튜디오 2017 빈 프로젝트 만드는 방법이 기존방식과 달라져서 당황하신 분들 및 처음 시작하시는 분들을 위해 게시하게 됐습니다. 1. visual studio를 구글에서 검색합니다. 2. 제일 처음 뜬 사이트로 접속하면 아래와 같은 화면이 등장하는데 맨 첫 번째 visual Studio IDE에서 커뮤니티 설치하시면 됩니다. 3. 그럼 아래와 같은 화면이 등장하면서 자동으로 다운로드가 진행됩니다. 4. 옛 비쥬얼 스튜디오와 달리 여러 가지 개발환경(Unreal, Unity, Python, 등)을 지원하게 되면서 비쥬얼 스튜디오가 너무 비대해졌습니다. 따라서 비쥬얼 스튜디오를 그냥 설치하는게 아니라 비쥬얼 스튜디오 인스톨러를 설치하고 필요한 옵션을 선택하여 설치..
이전 포스팅에서 위와 같이 메인 함수의 esp와 ebp를 열람했고, 해당 사이즈에 따라 스택에 어떤 값들이 들어갔는지 알 수 있었다. 이제 다음 함수인 func1 함수의 스택 프레임을 열람할 것이다. 우리가 메인 함수의 스택 프레임을 살펴보기 위해 중단점을 걸은 것과 같이, func1 함수에도 중단점을 걸어주고 그 구조를 파악해보자. 메인 함수와 구조가 동일하다. (변수에 저장되는 값만 다른 걸 알 수 있다. 4, 5, 6) 그도 그럴 것이, 예제 코드에 나오는 함수들은 모두 동일한 매커니즘을 가졌기 때문이다. 이 상태에서 func1 함수의 esp 및 ebp의 값을 확인하자. esp의 값은 0xbffffb48이고, ebp는 0xbffffb54 라는 걸 알 수 있다. ebp에서 esp를 빼면 12가 나온다..
이전 포스팅에서 메인 함수의 스택 프레임 크기가 12라는 걸 알았다. (sub $esp, 12) 이제 스택의 구조를 파악하여, 어떻게 배치되어 있는지 확인해보자. 스택 프레임의 맨 아래(바닥) 부분을 가리키는 레지스터가 ebp라고 했다. (extended base pointer) 그리고 스택 프레임의 맨 위를(꼭대기) 가리키는 레지스터는 esp라고 했다. (extended stack pointer) 메인 함수의 스택 프레임을 파악하기 위해, 메인 함수에 브레이크 포인트(Break Point)를 걸자. 브레이크 포인트는 우리 말로 '중단점' 이라고 한다. 중단점을 걸고 프로그램을 실행시키면, 쭉 진행되다가 브레이크 포인트에 실행이 멈추게 된다. 따라서 메인 함수에 중단점을 걸게 될 경우엔, 메인 함수로 진..