전체 글

전체 글

    gdb 디스어셈블리 문법 Intel로 바꾸기

    gdb는 기본적으로 AT&T 문법을 따른다. 근데 일반적으로... Intel 문법이 보기 좋으니까 Intel 문법으로 바꿔서 쓴다. $ set disassembly-flavor intel gdb를 실행하고 위 명령어를 치면 intel 문법으로 디스어셈블된다. 근데 이걸 매번 쳐주면 번거로우니까 gdb를 실행할 때 자동으로 실행할 명령어를 가지고 있는 .gdbinit 에다가 해당 명령어를 써주도록 하자! $ echo "set disassembly-flavor intel" >> ~/.gdbinit 그리고 확인은 gdb 실행한 후 (gdb) show disassembly-flavor 쳐보면 Intel이라고 나올것이다! 근데 pwndbg나 peda를 설치하면 Intel로 기본적으로 나오는 것 같다

    [Visual Studio 2019] 외부 라이브러리 추가

    지금까지 프로그래밍 하면서 이걸 해볼일이 없었다는 사실에 충격을 받으며... 이 메모를 작성한다 WinDivert를 사용하여 코딩 할 일이 생겼는데 windivert.lib와 WinDivert.dll을 가져다가 사용을 해야했다. 이번 글은 visual studio 2019에서 외부 라이브러리를 가져다가 사용하는 방법에 대한 메모이다!! 생성된 프로젝트명 > 우클릭 > 속성(가장 하단)을 눌러준다. 1. dll 구성 속성 > 디버깅 > 환경에 자신이 사용하고자 하는 dll이 있는 폴더의 위치를 적어주면 된다. 유의할 점인 동적 링킹이기 때문에 반드시 프로젝트 폴더와 같은 경로에 있어야 한다고 한다... 이걸 모르고 혼자 멋대로 폴더를 만들어서 넣어주어가지고 dll을 불러오지 못하는 문제가 생겼었었다 ㅠㅠ ..

    [Scapy] IP scan

    Scapy를 이용한 간단한 IP 주소 스캐닝 툴입니다. 같은 네트워크 내에 있는 호스트들의 IP 주소와 MAC 주소를 알아올 수 있다(arp 이용). 사실 성능이나 이런 저런 면은 생각하지 않고 단순히 Scapy를 사용해서 간단하게 스캐닝 하는 방법을 이용한것이므로 실제 사용하기에는 무리가 있음 ㅎ from scapy.all import * import sys s=[] for i in range(1,255): ##서브넷 주소만 입력받기 arp_req=Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(op=1, pdst=sys.argv[1]+"."+str(i)) arp_ans=srp1(arp_req, timeout=0.5) if arp_ans: ##존재한다면 저장 s.append(str(s..

    [Network programming] Wireshark staitistics 따라하기

    https://github.com/usrbin-sim/pcap_stat 이번엔 C++의 STL 사용법을 익히고, pcap 라이브러리를 이용하여 저장된 .pcap 파일을 불러와서 IP와 맥주소를 기반으로 통계를 내는 프로그램을 만들었습니다. 프로그램 목적 >> 저장된 패킷 안에서 두개의 IP 혹은 MAC 주소끼리의 통신에 대한 통계와, 각각의 IP와 MAC 주소에 대해 Tx/Rx 패킷 개수 및 바이트 수를 출력해주는 프로그램 작성 >> pcap 라이브러리와 STL의 map 사용법을 익히기 사실 이미 와이어샤크에서는 라이브로 패킷을 캡처하며 해당 기능을 사용할 수 있긴 하지만, 공부 겸 해서(과제였지만... ㅋㅋ) 작성 해 보았습니다. 전체 소스코드는 깃허브에 있고, 해당 글은 제 자신이 짠 코드에 대해 기..

    [Network programming] pcap library를 사용한 패킷 정보 출력

    https://github.com/usrbin-sim/pcap_test GitHub - usrbin-sim/pcap_test: pcap library test pcap library test. Contribute to usrbin-sim/pcap_test development by creating an account on GitHub. github.com pcap을 이용한 네트워크 프로그래밍을 처음 시작할 때 짰던 코드인데, 다시 수정해서 공부할 겸 코드리뷰 프로그램 목적 >> 라이브 패킷 캡처를 이용하여, IPv4와 TCP 패킷에 대한 source, destination IP/MAC/Port, 그리고 데이터가 존재하는 경우 데이터까지 출력해준다. packet.h - 패킷 구조체 및 출력용 함수 #pra..

    Windows에서 doskey 자동 실행

    linux에서는 .bashrc에 alias 명령어를 추가해줌으로써 재부팅 시켜도 계속 명령어 별칭을 유지할 수 있었습니다! 얼마전에 windows에서도 비슷한 기능을 하는 doskey라는 명령어를 알게 되었습니다. doskey 별칭 = 명령어 ex) doskey dex2jar="C:\Users\**\dex2jar-2.0\d2j-dex2jar.bat" 일단 급하게 제가 필요한 alias의 기능을 사용하려면 cmd에 위와 같이 입력을 하면 됩니다. 자세한 사용방법은 http://www.dreamy.pe.kr/zbxe/CodeClip/157420 DOSKEY 명령어 사용법 일반 2012.09.19 17:39 조회 수 10042 댓글 0 ? 단축키 Prev이전 문서 Next다음 문서 가 + - Up Down P..

    [Android] APK 분석 준비하기

    apk는 안드로이드 어플리케이션의 확장자입니다. Android PacKage의 줄임말이죠! 또한 형식은 ZIP과 동일하게 압축이 되어 있습니다. 안드로이드는 일반적으로 Java로 작성되고(요즘은 코틀린이 대세라ㄱ...), Java 코드는 Dalvik byte code로 컴파일 됩니다. 이 byte code는 일반적인 Java byte code와는 다릅니다! Java 코드를 먼저 .class 파일로 컴파일 한 후, JVM byte code를 .dex 형식으로 변환하여 만들어 집니다. .class 파일을 .dex로 바꾸는 것은 안드로이드 가상머신인 Dalvik이 인식하도록 만들어 주는 것입니다. 따라서 거꾸로 .dex에서 .class를 추출하면 어플리케이션의 소스코드를 확인할 수 있게 되는것이죠(디컴파일!)..

    [Android_Frida] 시작하기

    지난번엔 iOS에서 Frida를 사용하기 위해 설치했었는데요! 이번에는 android에도 Frida를 설치해보도록 하겠습니다! Frida는 동적으로 바이너리를 분석할 수 있게 해주는 툴입니당 Windows, macOS, GNU/Linux, iOS, Android 등에 있는 바이너리에다가 JS 코드를 삽입해서 클래스나 함수들을 후킹해서 흐름을 조작할 수 있게 해줍니다. Frida로 앱을 분석하려면 루트권한을 가지고 있는것이 좋습니다... 없어도 할 수는 있겠지만 그만큼 접근할 수 있는 범위가 좁겠죠...? (지난번 것 긁어오기... ㅎㅎ) 1. Frida 라이브러리 설치 먼저 프리다를 설치합시다! 파이썬 패키지로 존재하기 때문에 pip로 간단하게 설치를 할 수 있습니다. 저는 우분투에서 분석을 진행할 것이..