공부 29

pwngdb - 2

pwndbg는 주요 메모리들의 상태를 가독성 좋게 표현해준다. 크게 4개의 영역으로 구분된다. REGISTERS : 레지스터의 상태를 보여줌 DISASM : rip부터 디스어셈블된 결과를 보여줌 STACK : rsp부터 스택의 값들을 보여줌 BACKTRACE : 현재 rip에 도달할 때까지 어떤 함수들이 중첩되어 호출됐는지 보여줌 main 함수에 중단점을 걸고, 실행했다. disassemble 명령어에 함수 이름을 인자로 전달하면 해당 함수가 반환될 때 까지 모두 디스어셈블 해 보여준다. ni와 si는 어셈블리 명령어를 한 줄 실행한다. ni는 내부로 들어가지 않지만, si는 내부로 들어간다. 현재는 rip가 0x401176을 가르키고 있다. 현재는 다음 줄로 rip가 이동한 것을 확인했다. printf..

공부/시스템 2023.11.17

pwngdb - 1

gdb는 리눅스의 대표적인 디버거이다. gdb의 플러그인 중 pwndbg를 설치했다. 설치 방법은 다음과 같다. git clone https://github.com/pwndbg/pwndbg cd pwndbg/ ./setup.sh fatal: could not create work tree dir 위와 같은 에러가 발생했는데, 관리자 모드로 wsl를 실행하니까 해결됐다. vi debugee.c 를 입력해 코드를 작성한다. gcc -o debugee debugee.c -no-pie gdb debugee 를 입력한다. readelf -h debugee 보아하니 ELF의 파일 헤더를 보여줄 것 같다. ELF는 리눅스의 실행파일 형식이다. EP 주소가 0x401050 임을 확인했다. 중에서도 DISASM 부분만 ..

공부/시스템 2023.11.16

Magisk 루팅 (삽질2)

2023.10.26 - [공부/안드로이드] - xposed 사용 (삽질1) xposed 사용 (삽질1) xposed를 사용해봅시다.. xposed는 루팅 후 다양한 기능들을 사용할 수 있게 해줍니다. 일단 사용해 본 후 설명을 추가하겠습니다. https://hojat-sajadinia.medium.com/unleashing-the-power-of-avds-rooting-and-installing-e peraspera.tistory.com (윗 글에서 이어지는 포스팅입니다.) (실패한 과정을 포스팅했습니다.) Xposed를 사용하려면 Magisk 루팅이 필요하다고 합니다. 그래서 Magisk 루팅을 계속 시도하고 있는데, 꽤나 복잡하네요 OEM unlocking을 개발자 모드에서 아무리 찾아봐도 안보이는데..

cannot connect to 127.0.0.1:62001: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. (10061) 에러

녹스를 adb로 연결하는 것은 처음인데, android studio와 달리 에뮬레이터를 켜는 것만으로는 작동이 안됐다. 해결 방법은 다음과 같다. tasklist | findstr "Nox" 명령어를 입력해 NoxVMHandle.exe의 PID 값을 구한다. netstat -ano |findstr "구한 PID 값" | findstr /i "LISTENING" adb connect 127.0.0.1:62025 adb devices 그 다음 LISTENING 상태의 포트로 연결하면 성공!

공부 2023.10.30

xposed 사용 (삽질1)

xposed를 사용해봅시다.. xposed는 루팅 후 다양한 기능들을 사용할 수 있게 해줍니다. 일단 사용해 본 후 설명을 추가하겠습니다. https://hojat-sajadinia.medium.com/unleashing-the-power-of-avds-rooting-and-installing-exposed-framework-for-enhanced-penetration-555a0ab00b95 Unleashing the Power of AVDs: Rooting and Installing Xposed Framework for Enhanced Penetration… In the realm of penetration testing, having a reliable and versatile testing envi..

웹페이지 개발 (flask 설치, 폴더 생성)

안드로이드는 평생 해볼 일이 없겠다고 생각한 내가, 지금 안드로이드 공부를 하고 있고웹을 손댈 일이 없었는데, 웹해킹을 공부하려고 한다. 역시 사람 일 모른다..장고와 플라스크 둘 중 무엇을 사용해볼까 하다가 플라스크를 이용해보기로 결정. 가상머신을 하나 만들어 준 뒤, pip와 python 을 설치해준다.python3sudo apt install python3-pip 플라스크를 설치해준다.pip install flask 프로젝트를 시작하기 전에 폴더를 우선 구상해주었다. /flaskr /static /templates공식 홈페이지에 따르면 보통 이런식으로 구성하는 것 같다. static 폴더에는 javascript, css 등이 들어갈 것이고,tem..

공부/웹 2023.10.21

웹뷰 만들기

을 AndroidManifest.xml 파일에 추가한다. 인터넷 권한 추가 권한 추가 안하는 경우 네이버를 웹뷰로 띄웠다. 출처 https://web-inf.tistory.com/34 WebView 안드로이드 웹뷰 생성하기 안녕하세요. 오늘은 하이브리드 앱으로 많이 사용하고있는 웹뷰를 제작해보도록 하겠습니다. 웹뷰란? 간단하게 설명을 드리겠습니다. 어플리케이션 화면상에 내가 만든 웹페이지 혹은 내가 띄 web-inf.tistory.com

JNI 이용해 출력하기

2023.09.10 - [공부/안드로이드] - JNI 사용하기 JNI 사용하기 JNI(Java Native Interface)란? (내가 이해한 바에 따르면) 자바를 사용하면 운영체제 상관없는 개발이 가능하다. 하지만, 운영체제의 모든 기능을 JVM이 담지 못하기 때문에 몇몇 기능은 해결이 되지 않 peraspera.tistory.com 윗 글에서 조금 수정해 진행했다. 나는 calculator.cpp 에서 return값으로 'HELLO WORLD'를 주었음에도 왜 TEST가 출력되는 지 궁금했다. → MainActivity.java의 역할을 생각해보면 된다.