frida script로 메모리 값을 읽는 코드를 작성하여 결과값을 확인하던 중, 중간 중간 널이 들어간 바이트 배열을 확인하게 되었습니다.

 

ex) 1234

위와 같은 현상은 인코딩 차이로 인해 발생합니다.

 

UTF8 vs UTF16

출처 : https://nhj12311.tistory.com/59

 

문자열 중간에 Null값이 삽입되는 것은 UTF-16이므로 frida에서 readUtf16String으로 변경하여 함수 실행 시 정상적으로 값이 read 되는 것을 확인할 수 있습니다.

'Mobile' 카테고리의 다른 글

INSTALL_FAILED_INVALID_APK (with. zipalign)  (0) 2020.12.03
Frida cheat sheet  (0) 2020.10.11
MultiDex Dynamic Debug(feat. JEB)  (0) 2020.05.18
Dynamic Code Loading in Android (feat.DexClassloader)  (3) 2020.05.08
odex to dex  (0) 2020.05.08

python 내 패킷 캡쳐를 위한 라이브러리로 pypcap을 통해 손쉽게 캡쳐 및 가공이 가능합니다.

다만 pypcap에 대한 자료가 많지않아서 원하는 함수나 기능을 사용하기엔 제약이 있습니다 :/

 

pypcap installation

pip install pypcap

 

※ libpcap-dev 의존성을 가지고 있으므로 pypcap 설치전에 libpcap-dev가 설치되어 있어야  함

apt-get install libpcap-dev

 

pypcap 설치 후 python 실행 > import pcap 을 통해 에러가 발생하지 않는다면 정상적으로 설치가 된 것입니다.

 

Example Code 

import pcap
import re
import dpkt
import socket

sniffer = pcap.pcap(name=None,promisc=True,immediate=True,timeout_ms=50) # name=eth, None 일경우 모든 default / promisc는 모든 eth에서 패킷 수집 
sniffer.setfilter('tcp and port 80') # set packet filter

for t, p in sniffer:
    eth = dpkt.ethernet.Ethernet(p)
    ip = eth.data
    tcp = ip.data
    try:
        if len(tcp.data) > 0:
            req = dpkt.http.Request(tcp.data)	#Request패킷만 추출
            print("----------------------------------------------------------------")
            print(req)	# 패킷 출력
            print("----------------------------------------------------------------")
    except:
        pass

 

Example Code 실행 시, 다음과 같이 패킷 캡쳐 확인

출처 : https://saynot.tistory.com/entry/Python-Network-PyPCAP-%EA%B3%B5%EB%B6%80

'NetWork' 카테고리의 다른 글

Iptables port forwarding  (0) 2021.04.29
RTP (Realtime Transport Protocol)  (0) 2013.03.04
VMware network  (0) 2012.07.10
tcphdr , tcphdr??  (0) 2012.07.09
ARP_Spoofing  (2) 2012.07.06

APK 파일 리패키징 후 설치 시 다음과 같은 에러가 발생했습니다.

 

 

Failure [INSTALL_FAILED_INVALID_APK]

 

Sol

zipalign.exe -p -v 4 "<apk file name>" <output_filename>.apk

 

What is Zipalign?

zipalign은 APK 파일의 최적화 기능을 제공하는 정렬 도구입니다.

읽기 성능이 향상되기 때문에 구글 스토어에서 필수적으로 요구하는 항목이므로 정렬되어 있지 않을 경우 설치가 안된다고 하네요

https://developer.android.com/studio/command-line/zipalign

 

※ zipalign 은 안드로이드 스튜디오를 설치하셨으면 build-tools\<버전>\에 있습니다.

'Mobile' 카테고리의 다른 글

Frida Encoding(readUtf8String)  (0) 2021.03.24
Frida cheat sheet  (0) 2020.10.11
MultiDex Dynamic Debug(feat. JEB)  (0) 2020.05.18
Dynamic Code Loading in Android (feat.DexClassloader)  (3) 2020.05.08
odex to dex  (0) 2020.05.08

+ Recent posts