일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- c# 추상 클래스
- gitlab
- dart 언어
- 깃
- vim
- Algorithm
- docker
- jupyter
- c언어
- 다트 언어
- c# 윈폼
- HTML
- Python
- github
- C# delegate
- 유니티
- Data Structure
- C언어 포인터
- Flutter
- Unity
- git
- c#
- 포인터
- jupyter lab
- 도커
- Houdini
- 구조체
- c# winform
- 플러터
- Today
- Total
목록전체 글 (507)
nomad-programmer

2019년 3월 초 미국 첩보 기관인 NSA(National Security Agency)가 직접 개발한 Ghidra라는 바이너리 분석 도구를 오픈소스로 배포하였다. IDA Pro 툴과 비슷한 툴인데 무료라는 것이다. 참고로 IDA Pro는 대략 2,400,000원 정도한다. PE, ELF 등 모두 뜯어 볼 수 있고 멀티플랫폼을 지원한다. Ghidra가 분석을 지원하는 파일 형식 Common Object File Format (COFF) Debug Symbols (DBG) Executable and Linking Format (ELF) Ghidra Data Type Archive Format GZF Input Format Intel Hex Mac OS X Mach-O Module Definition (D..

Python, C#, JavaScript 등은 쉽게 소스로 환원 시킬 수 있기 때문에 원 소스 자체의 로직은 변경되지 않지만 사람이 읽기에 아주 어렵게하는 것이 난독화라고 한다. 또한, 소스코드의 무단 도용, 아이디어나 알고리즘의 무단유출을 막기 위함이 주된 목적이라 할 수 있다. JavaScript 같은 경우에는 악성코드나 시그니쳐 등을 회피하기 위해 난독화 기법을 이용한다. 코드 난독화는 크게 보았을 때, 필요 이상으로 복잡한 코드를 만들거나 무의미한 코드를 삽입하여 난독화하는 방법과 데이터를 인코딩하여 가독성을 떨어트리는 방법이 있다. C언어 소스코드를 대상으로 코드 내에서 사용 중인 변수의 이름을 바코드 조합('l', 'i', 'I', '1'의 조합)으로 바꾸어 코드를 난독화 시킨다. 코드 내의 ..
Python 메뉴얼 컴파일 자료 py_compile 이용하는 방법 https://docs.python.org/3/library/py_compile.html py_compile — Compile Python source files — Python 3.8.1 documentation py_compile — Compile Python source files Source code: Lib/py_compile.py The py_compile module provides a function to generate a byte-code file from a source file, and another function used when the module source file is invoked as a script. ..

ILSpy는 오픈소스 프로젝트이고, 닷넷 디컴파일러이다. https://github.com/icsharpcode/ILSpy icsharpcode/ILSpy .NET Decompiler. Contribute to icsharpcode/ILSpy development by creating an account on GitHub. github.com 위의 github 사이트에서 최신 릴리즈 버전 다운로드 후 사용하여도 되고 choco로 설치 후 사용하여도 된다. https://chocolatey.org/packages/ilspy ILSpy 6.0-preview1 Chocolatey is software management automation for Windows that wraps installers, exec..

x64dbg는 OllyDbg의 확장버전 개념의 디버거이다. 한글 지원과 다양한 플러그인들을 사용할 수 있다. https://x64dbg.com/# x64dbg Built on open-source libraries x64dbg uses Qt, TitanEngine, Zydis, Yara, Scylla, Jansson, lz4, XEDParse, asmjit and snowman. x64dbg.com https://x64dbg.com/blog/ x64dbg · Official x64dbg blog! 25 Feb 2018, by ViRb3 [This post was written by ViRb3, if you want to post on this blog you can! Go here for more inf..

OllyDbg란? OllyDbg는 윈도우용 어셈블러를 분석할 수 있는 디버거다. OllyDbg는 직관적인 사용자 화면을 제공하며 무료로 사용할 수 잇고 다양한 플러그인을 통해 기능을 확장할 수 있다. 현재 버전 2.01까지 제공 중이며 64비트 환경을 지원하기 위한 프로그램이 개발중이다. http://www.ollydbg.de/ OllyDbg v1.10 www.ollydbg.de OllyDbg는 프레임, 메뉴 바, 퀵 링크, 뷰 영역, 상태 바 이렇게 5개의 영역으로 구성된다. 프레임은 OllyDbg의 외부 골격을 형성하고 있으며 현재 어떤 프로그램의 무슨 모듈을 디버깅하고 있는지 표시하고 있다. 메뉴 바는 OllyDbg에서 제공하는 기능을 모두 담고 있다. 파일 다루기, 분석 화면에 대한 설명, 트레이..

OSX에서 주피터 랩을 자동 시작하려면 애플 스크립트를 만들어 서비스를 띄우는 방식으로 해야 한다. // 런치 에이젼트로 이동 cd ~/Library/LaunchAgents // 파일 생성 touch com.jupyter.server.plist 생성한 파일의 내용은 아래의 코드로 채운다. 그 후, 시스템에 로드 시키면 재부팅 할 때마다 자동으로 주피터랩 서버가 실행된다. // 로드 launchctl load ~/Library/LaunchAgents/com.jupyter.server.plist Jupyter 암호 설정 생성한 암호를 ~/.jupyter/jupyter_notebook_config.py 의 c.NotebookApp.password 에 넣는다. // 만약 ~/.jupyter/jupyter_not..
OSX에서 brew로 Qt5설치 brew install qt5 brew install Caskroom/cask/qt-creator // Qt Creator 실행 후 Qt Creator - Preferences - Kits - Qt Versions - Add - (Macintosh HD클릭 후 "Command + Shift + .[숨김파일 보여주는 단축키]") - /usr/local/Cellar/qt/5.13.2/bin/qmake
// home brew로 go 설치 brew install go // .bashrc나 .zshrc에 환경변수 설정 export GOPATH="${HOME}/.go" export GOROOT="$(brew --prefix golang)/libexec" export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin" // godoc 설치 go get golang.org/x/tools/cmd/godoc // golint 설치 go get github.com/golang/lint/golint 만약 VSCode를 쓴다면 아래의 Go Extension 설치 https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go Go - Visual ..
conda environment 이름 변경 conda env 에는 rename이라는 것이 없다. 그래서 새로운 이름의 env를 생성하면서 기존에 존재하는 env를 복사해야 한다. // 아나콘다 env 리스트 conda env list // 바꾸려는 env name으로 생성하면서 기존에 존재하던 env 복사 conda create --name --clone // 기존에 존재하던 env 삭제 conda remove --name --all

GitHub 문서 작성의 표준이라고 할 수 있는 마크다운 작성 규칙. 문단 구분을 위한 강제 개행 일반적인 문단 작성은 그냥 텍스트를 입력하면 된다. 문단을 구별하러면 한 개 이상의 빈 줄을 문단 사이에 삽입하거나 줄의 마지막에 [Space Bar]를 두 번 이상 눌러 띄어쓰기하면 된다. 헤더 '# 헤더 이름' 식으로 작성하면 된다. #을 1개부터 6개까지 총 6단계로 쓸 수 있다. 인용 상자 > 내용 형식으로 인용 상자를 작성할 수 있다. 빈 줄이 나오기 전까지의 내용이 인용 상자 안에 포함된다. 목록 기본적인 리스트 작성 방법은 다음과 같다. 무순서 목록을 만드는 것이다. 세 가지 중 어떤 방법을 사용하든 상관없다. * 목록이름 - 목록이름 + 목록이름 순서가 있는 목록을 만들려면 다음과 같은 방식으..
모든 프로젝트 소스를 공개할 수는 없는 법이다. 그러므로 팀 프로젝트를 언제나 GitHub에서만 진행할 수는 없다. 물론 돈을 내고 비공개 저장소를 만드는 방법도 있지만 Git자체는 오픈 소스 프로젝트이므로 비공개 저장소를 제공하는 서비스를 사용하는 것이 더 나은 선택일 수 있다. 그런 서비스 중 대표적인 것이 GitLab (https://gitlab.com/) 이다. GitHub와 비슷하지만 비공개 저장소를 생성하는 데 전혀 돈이 들지 않는다. 또한 사용 방법은 GitHub와 비슷하다. 가입하고, 저장소를 만들고, 공개/비공개를 설정하고, 로컬 저장소에 클론하는 등의 작업을 할 수 있다. GitHub와 GitLab은 메뉴의 구성이 다를 뿐이지 기능적인 측면에서는 거의 동일하다고 생각하면 된다. 하지만 ..