Not null
  • 홈
  • IT정보
  • C
  • Assemble
  • Python
  • System programing
  • Window
  • Linux
  • System
  • Web
  • Network
  • Forensic
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • All (102)
      • network (14)
      • ARM (2)
      • Programing (41)
        • C (3)
        • Assemble (0)
        • Python (8)
        • JavaScript (1)
        • Systemprograming (0)
        • 자료구조, Algorithm (20)
        • Web (4)
        • Git (2)
        • DataBase (1)
        • 운영, 배포, 관리 (2)
      • OS (4)
        • Window (0)
        • Linux (1)
        • theory (3)
      • etc, (3)
      • Hacking (18)
        • System technique (3)
        • Web technique (6)
        • Reversing (9)
      • wargame (11)
      • project (5)
        • android (2)
        • Automated vulnerability (0)
        • Vulnerability analysis (1)
        • Malware Analysis (0)
        • Code Virtualized (1)
      • school.study (1)
  • 홈
  • 태그
  • 방명록
project/Vulnerability analysis

Source code auditing / Reverse engineering / Fuzzing

Source code auditing / Reverse engineering / fuzzing 들은 대표적인 취약점 분석 방법 들이다. 하나하나 간단히 알아보자 Source code auditing 이란 말 그대로 소스 코드를 직접보며 취약점을 찾는 것이다. 대부분의 개발자들이 프로그램을 개발 한 후 코드를 확인하며 취약점을 체크하는 방법이 소스코드 오디팅이며, 해커입장에서는 리얼월드에서 소스코드를 얻기 힘들어서 (오픈 소스인 경우 제외) 대부분 쓰이지 않는다. 분석하는 프로그램이 오픈소스라면 소스코드 오디팅을 자주 사용한다. Reverse engineering은 바이너리를 디컴파일러, 디셈블러, 디버거 등으로 바이너리 자체를 분석하는 방법이다. 소스코드 오디팅보다 상대적으로 분석하기 까다로우며 분석자의..

2016. 5. 5. 01:18
project/Code Virtualized

Code Virtualized -(1)-

코드 가상화란? 일반코드가 CPU로 바로 전달되어, 바로 그 명령어를 실행시키는것이 아닌 중간지점에서 Virtual CPU가 대신해서 해당 명령어를 실행해 주는 것을 말한다. (여기서 Virtual CPU를 작동시키는 것은 당연히 실제 CPU이다.)(비슷한예로 Vmware, VirtualBox같은 가상머신들이나 Java는 여기서 말하는 '가상화'의 개념과 같은 표현이다. 특히 Java는 Backtack에 Java Virtual Machine (JVM)을 둬, 이 실행 엔진이 자바 바이트 코드를 실행하는 것이다.) 그림과 같이 가상화된 코드는 코드가 가상화(VM CODE)가 됬기 때문에 실제 CPU에서는 해석할 수 없는 명령어로 이루어져 있어, 실제 CPU에서는 실행시킬 수 없다.

2016. 3. 20. 13:30
project

Python phone bluebug

파이썬 블루투스 모듈인 PyBluez Python모듈을 설치하고 진행하여야한다. PyBluez모듈 설치후 다음 코드를 실행시키면 주변의 블루투스 기기들이 검색된다. import bluetooth devices = bluetooth.discover_devices(lookup_names=True)print("found %d devices" % len(devices)) for addr, name in devices: print(" Near device: %s - %s" % (addr, name)) 코드를 더 작성하여 블루버그를 실행에 옮겨보려고 했지만 요즘근래폰에선 당연히 안되고, Nokia 6310i 가 제일 유명한데 구할방법이 없어서 일단 보류한다.. Nokia 6310i ;23만원

2016. 3. 18. 17:59
project/android

Android Code Obfuscation

코드난독화란 , 불법적인 소프트웨어 역공학(리버싱,etc)등으로 프로그램의 코드를 보호하기 위해 특정방식으로 변환하여 바이너리나 소스코드가 역공학에 의해 분석되는것을 어렵게 하기위한 기술이다. 그 코드난독화는 데스크탑 어플리케이션을 포함해 모바일 어플리케이션들도 다 대부분 사용되는 기술인데, 프로그램의 컴파일된 형태에 따라 분석할 수 있는 방법이 다른데 가령 C,Java,C# 들이 컴파일된 파일코드는 바이너리 코드라고 불리고 C의 바이너리 코드는 네이티브코드, JAVA,C#의 컴파일된 파일코드는 바이트코드(매니지드 코드)라고 불리는데 이들의 공통점은 중간언어로 컴파일된 바이너리 코드라는점이고, 보안상 역공학시 필요한정보가 많이 포함된 바이트코드는 네이티브코드보다 보안성이 떨어진다. 네이티브 코드인 Obj..

2016. 3. 17. 20:01
project/android

class file format

클래스 파일의 포맷은 크게 헤더(Header)상수 풀 (Constant Pool)접근 플래그 (Access Flag)자식 클래스 (This Class)부모 클래스 (Super Class)인터페이스 (interfaces)필드 (Fields)메소드(Method)속성 (Attributes) 로 구성 되어 있다. 간단히 설명을 덧 붙이자면 헤더의 첫부분은 [0xCAFE]값(일반 zip헤더에는 없고 apk의 헤더에 존재하는 Extra Field에만 존재.)과 가상머신의 버전숫자가 저장되어있다. 이 0xCAFE라는 값의 16진수 숫자는 매직넘버라 불리는데 자바 가상머신이 클래스 파일을 식별하기 위해 존재하는것이라 보면된다. 상수 풀에도 메소드명, 필드명, 클래스명, 디스크립터, 속성, 상수 등을 문자열이나 정수를통..

2016. 3. 17. 14:06
  • «
  • 1
  • »

공지사항

전체 카테고리

  • All (102)
    • network (14)
    • ARM (2)
    • Programing (41)
      • C (3)
      • Assemble (0)
      • Python (8)
      • JavaScript (1)
      • Systemprograming (0)
      • 자료구조, Algorithm (20)
      • Web (4)
      • Git (2)
      • DataBase (1)
      • 운영, 배포, 관리 (2)
    • OS (4)
      • Window (0)
      • Linux (1)
      • theory (3)
    • etc, (3)
    • Hacking (18)
      • System technique (3)
      • Web technique (6)
      • Reversing (9)
    • wargame (11)
    • project (5)
      • android (2)
      • Automated vulnerability (0)
      • Vulnerability analysis (1)
      • Malware Analysis (0)
      • Code Virtualized (1)
    • school.study (1)
애드센스 광고 영역

블로그 인기글

Powered by Privatenote Copyright © Not null All rights reserved. TistoryWhaleSkin3.4

티스토리툴바