참고 : https://docs.python.org/2/library/struct.html Python 문자열로 표현된 C structs와 Python Value 간의 변환 파일에 Binary Data를 저장하거나 Network Connection 시 사용struct.pack(fmt, v1, v2,...)- 지정된 Format에 따라 v1, v2의 value를 Pack을 수행하며 그 결과는 String으로 리턴struct.unpack(fmt, string)- 지정된 Format에 따라 String을 Unpack을 수행하며 그 결과는 Tuple로 리턴CharacterByte orderSizeAlignment@nativenativenative=nativestandardnonebig-endianstandard..
텔레그램 봇(Bot)이란 텔레그램에서 새롭게 선보이는 기능으로 Bot Father를 통해 개인 비서와 같은 Bot 가상 계정을 생성해주는 것입니다. 사용자가 Bot Father란 가상 계정을 통해 명령을 수행하면 개인 Bot 을 생성해줍니다. 사용자는 텔레그램 CLI를 통해 자신의 개인 봇 계정으로 들어오는 메시지를 확인하고, 그에 맞게 동작을 수행한 뒤 결과를 text, image, voice 등등으로 전달해줄 수 있습니다.즉, 파이썬 텔레그램 인터페이스가 자신의 봇 계정의 메시지를 감시하고 그에 맞게 응답을 보내줄 수 있도록 API를 제공하는 구조입니다.
사용 환경 : Linux Mint 17 Mate Telegram은 Lua Script로도 연동이 가능하지만, Python Script가 더 친숙하기에 Python과 연동하는 방법을 소개하려고 합니다. pyTelegramBotAPI를 이용하여 제어를 하는 방법입니다. 이 방법은 최신 텔레그램 CLI에서만 (v1.x) 지원됩니다. 텔레그램과 연동할 수 있는 파이썬 인터페이스는 다음과 같은 2가지가 있습니다. 첫 번째 파이썬 인터페이스 사용하는 것을 다들 추천을 하는 것 같습니다. ㄱ. https://github.com/eternnoir/pyTelegramBotAPI ㄴ. https://github.com/leandrotoledo/python-telegram-bot 텔레그램을 CLI로 설치하는 방법을 알아보겠..
* 문자열이나 리스트, 튜플과 같은 변수형은 참조값을 통해 참조할 수가 있다. 얕은 복사(Shallow Copy) : 복합 객체를 별도로 생성하되 내용은 원래의 레퍼런스로 채움. 참조 값만 복사해가서 복사 후 에도 실제 메모리상에서 같은 위치를 가르키는 복사를 말함. 깊은 복사(Deep Copy) : 복합 객체를 생성하고 내용을 재귀적으로 복사함. 쉽게 말해서 새롭게 메모리를 생성함. 1. Source 부분입니다. 내장 라이브러리인 copy를 import 하고, copy에 대한 기능을 살펴보겠습니다. 2. Bot1,2,3은 Copy를 통해서 객체 복사에 대해서 알아보기위해 Suspect 클래스에 대한 3개의 객체를 생성했습니다.객체의 id가 각각 다른 것을 볼 수가 있습니다. 3. Bots에는 Bot1,..
memcpy 취약한 함수를 사용하여 기본적인 Buffer Over Flow 취약점을 알아보겠습니다. 아래 소스는 BOF에 취약한 소스입니다. 메모리에 들어오는 길이 값을 검사하지 않아 생기는 취약점인데, 엄청 기본적인 방법이라 정리를 하고 가려고 합니다. sBuf에 32를 할당하고, 0으로 초기화 시키고 있습니다. shellcode는 0x41414141 4바이트씩 맞춰서 결국 Return Addresss에 0x41414141이 뜨고, 그 곳으로 가게 하는 것이 목표입니다! 위의 소스를 디스어셈블하여 확인하면, 아래와 같습니다. EBP를 확인해보면 0012FF78 이라는 것을 확인할 수 있습니다. MOV EBP, ESP를 통해서 EBP에 스택포인터가 전해졌고, [EBP-20] 을 할당 후에 0으로 모두 쓴..
[ Lua Script ] - 1993년 개발된 프로그래밍 언어. 이름은 달을 의미하는 포르투갈어 단어라고 한다. 스크립트 언어를 하나의 목적으로 가지고 있기 때문에 굉장히 작고 가벼운 인터프리터형 언어이다. 현재 안정버전은 5.3 태생 자체가 가벼운 스크립트 언어이며, C/C++에 접착시키기 매우 쉽다. 개발 과정에 있어서 재컴파일이나 리로딩없이 바로 설정 변화를 적용할 수 있는 점 때문에 특히 게임업계에서 많이 쓰인다. - Python, Ruby 같은 스크립트 언어 - 다른 스크립트 언어보다 가볍다 - 프로그램에 내장되는 스크립트이다. - 프로그램과 통신이 가능하다(데이터 교환, API 상호 호출) - C, C++ 언어에 이식하기 편하다. - 가비지 컬렉터가 있다. * 가벼움 인터프리터(또는 후술할 ..
1. 새 프로젝트로 콘솔 프로그램 생성2. 프로젝트 오른쪽 마우스 클릭 - 빌드 종속성 - 사용자 지정 빌드 클릭 - masm 체크 - 확인 3. 소스파일로 .asm .s 확장자로 파일을 생성4. 생성 된 소스파일의 속성 페이지 - 빌드에서 제외 (아니요), 항목 형식 - Microsoft Macro Assembler 5. 프로젝트 속성 페이지 - 구성 속성 - 링커 - 입력 메뉴로 들어가 추가 종속성을 클릭 - 편집 버튼 클릭 후 libcmt.lib 적고 확인 버튼 클릭 6. 어셈블리 코딩 시작
- Total
- Today
- Yesterday
- 해킹메일
- 출처 : Do it 안드로이드 프로그래밍
- Cisco Talos
- .wll
- CVE-2018-9375
- CVE-2018-0798
- vuln
- koodous
- VirusBulletin
- Servey
- Flybits
- 위협정보공유
- Yara
- infostealer
- cuckoo-sandbox
- malware
- Kimsuky
- keylogger
- MS-Office
- 한글악성코드
- us-cert
- 악성코드
- Decoding
- 스피어피싱
- 비트코인
- Bisonal
- Static Analysis Engine
- AMSI
- idapython
- 멋쟁이사자처럼 4기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |