일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인프런 강의 추천
- 티스토리챌린지
- 드림핵 리버싱 풀이
- adb
- 자바스크립트
- 리버싱 초보
- 리버싱 스터디
- 리버싱 핵심 원리
- dreamhack reversing
- 드림핵 리버싱
- 강의 체험단 1기
- 자바스크립트 강의 추천
- 제주코딩베이스캠프
- 안드로이드 adb start-server
- 제주ICT
- 안드로이드 리버싱
- 드림핵 플래그
- rev-basic 풀이
- 리버싱 플래그
- adb 옵션
- 위니브
- 리버싱핵심원리
- 리버싱
- 안드로이드 모바일 앱 모의해킹
- 더오름
- 리버싱 입문
- 안드로이드 adb
- 자바스크립트 강의
- 오블완
- 자바스크립트강의 후기
- Today
- Total
목록전체 글 (101)
해보자고
1. shellshell: 안드로이드 에뮬레이터 혹은 디바이스에서 원격 쉘을 사용할 수 있도록 하는 명령어. 리눅스와 비슷한 환경에서의 장치 제어가 가능하다.(리눅스 기본 명령어 일부 사용 가능) 형식: adb shell or adb shell [명령어] -> 전자의 경우 계속해서 shell을 사용하여 명령어를 입력할 수 있음. ($가 ls 명령어 이후에도 유지되는 것을 확인할 수 있음. ) -> 후자의 경우 해당 명령어 이후로는 운영체제의 쉘로 돌아감. ($가 ls package manager 명령어 이후에는 운영체제의 쉘로 돌아가는 것을 확인할 수 있음. ) 2. shell 명령어 (일부)- 더 자세하고, 더 많은 명령어는 오른쪽 링크에서 확인하실 수 있습니다! (https://developer...
1. start-server start-server: adb 서버의 프로세스 동작 여부를 확인 후 서버가 동작하지 않으면 구동시킨다. (안드로이드 스튜디오에서 애뮬레이터를 실행하면 자동으로 서버가 구동된다. ) 2. kill-serverkill-server: 서버에 문제가 발생하거나 상태가 좋지 않은 경우 서버를 종료시킨다. kill-server 후 다른 adb 명령어를 입력하면 서버를 다시 구동한다. 3. wait-for-device wait-for-device: 연결된 장치가 구동되기 전까지 adb 명령을 멈추고, 장치가 device 상태가 될 때 설정한 명령어를 실행한다. 형식: adb wait-for-device
1. 포워딩이란트래픽/데이터를 한 네트워크 장치에서 다른 포트로 전달하는 과정이다. 그 중 포트 포워딩은 포워딩의 일종으로, 포워딩은 당연하지만 더 광범위한 범위를 뜻 한다. 2. forward 명령어forward: 특정 로컬 포트를 안드로이드 장치의 특정 포트와 소켓 통신이 가능하도록 포워딩해주는 기능을 제공형식: adb forward 주의사항) 사용할 대상 장치에 USB 디버깅 옵션이 활성화 되어 있어야 한다. 만약 애뮬레이터가 아닌 실제 디바이스 장치를 연결한다면 주의해봐야 할 것 같다. - tcp 외에도 다양한 소켓 커넥션을 위한 옵션들이 존재한다. 3. jdb를 이용한 디버깅 활성화 1. 애플리케이션의 PID 찾기 & PID를 통한 포워딩 작업 2. jdb를 통한 디버깅 활성화 하..
1. 함수 선언식형식: function 함수명() { 함수 내용 }- 호이스팅 Ofunction print_animal() { // 함수 선언식 console.log("Dog!");}print_animal(); // 함수 호출 2. 함수 표현식형식: 변수 타입 변수명 = function () { 함수 내용 }- 호이스팅 X let print_animal = function() { // 함수 표현식 console.log("Dog"!);}print_animal(); // 함수 호출 3. 화살표형 함수 형식: 변수 타입 변수명 = () => { 함수내용 } - 함수 표현식에서 fucntion 키워드를 사용하지 않고, 대신 => 키워드를 통해 변수에 함수를 값 처럼 저장- 호이스팅 X- 간결한 함수 표현 방식l..
# 문제https://dreamhack.io/wargame/challenges/22 rev-basic-8Reversing Basic Challenge #8 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 1. main 함수 찾기 main 함수 찾는 방법은 rev-basic-0 에 적어두었습니다. (그러나 별 거 없어요..) 2. 실행 흐름 파악하기..
1. 호이스팅 아직 선언되지 않은 함수나 변수들을 해당 스코프의 맨 위로 끌어올려 사용하는(것 처럼 보이는) 작동 방식.자바스크립트의 기본 성질변수, 함수 선언 후 접근 하는 코드가 바람직함.호이스팅 많이 발생하는 코드는 가독성이 좋지 않아 오류를 발생시킬 수 있음. 1. 함수 호이스팅 : 함수 선언의 유효 범위를 최상단으로 끌어올려서 작동하는 것. print();function print() { console.log("Hello World!");} -> 자바스크립트 엔진이 print() 호출이 선언문보다 아래에 있다고 받아들임. 2. 변수 호이스팅: 변수의 선언문을 스코프의 최상단으로 올려 해석하여 작동하는 것. console.log(name);var name = "cat";// 자바스크립트가..
1. 스코프란? 변수, 함수 생성시 해당 변수, 함수가 갖게 되는 유효 범위 1.1 전역 스코프(Global Scope): 어디서든 변수에 접근 가능한 범위 1.2 지역 스코프(Local Scope): 지역을 벗어난 곳에서는 접근 불가능한 범위 const num = 10;function print() { const num = 100; console.log(`지역 스코프 ${num}`);}print()console.log(`전역 스코프 ${num}`); => print()를 통해 호출된 num은 지역 스코프, 함수 외부의 num은 전역 스코프를 지님. 1.2.1 블록 스코프: 같은 블록에서만 접근 가능한 범위 function print() { for(let i = 0; i ..
1. install 명령어install: 연결된 안드로이드 장치에, 원하는 애플리케이션을 설치할 수 있는 명령어. (확장자는 apk로)형식: adb install (절대)경로 / 애플리케이션.apk여기서 -d 옵션은 현재 설치된 앱의 버전보다 낮은 버전의 앱을 설치할 수 있는 옵션으로 기존에 설치된 해당 앱보다 현재 install 하려는 코드의 버전이 더 낮아서(sdk를 낮춤) 생긴 오류를 수정하기 위해 추가했습니다. 옵션설명-r 기존 앱을 재설치-t테스트 중인 앱 설치 가능(원래 보안상 불가능)-d현재 설치된 앱의 버전보다 낮은 버전의 앱을 설치-p앱의 전체가 아닌 일부만 설치(앱의 기능을 나눠서 따로 설치할 때)-g앱이 필요로 하는 모든 권한을 자동으로 허용(카메라 등의 권한) 만약 아래와 같은 오..
1. bugreport를 통한 버그 보고서 확인bugreport: bugreport는 로그, 스택 추적, 기타 진단 정보를 포함하는 정보를 출력한다. dumpsys, dumpstate, logcat 명령의 결과를 한 번에 출력해준다. 명령설명Dumpsys현재 연결된 안드로이드 장치의 앱, 장치 정보를 자세히 표시한다. 하위 명령: meminfo, cpuinfo, account, activity, window, wifi, power 등이 존재. Dumpstate현재 연결된 안드로이드 장치의 모든 상태 정보를 출력logcat안드로이드 시스템에서 발생하는 로그 정보를 표시(https://hyunhe2e.tistory.com/137 2. jdwp를 통한 프로세스 정보 확인jdwp: Java Debug Wir..
1. logcat을 이용한 로그 분석logcat: 안드로이드 장치에서 발생하는 *로그 메시지를 출력, 파일 형태로 저장하는 기능을 제공. 옵션과 필터링에 따른 일부 메시지도 확인할 수 있다. 형식: adb logcat [옵션] [filter] 명령프롬프트, 연결 장치의 쉘 프롬프트에서 명령 수행이 가능하며, 결과도 동일하다. *로그 메시지: 시스템 운영 과정에서 발생하는 시스템 내용, 사용자의 활동 내용, 사건 등을 발생 시간과 함께 기록한 자료 1.1 태그와 우선순위태그: 로그 메시지의 출처나 시스템 구성요소를 나타내는 식별자.우선순위: 로그 메시지 맨 앞에 1개의 문자로 표시되며 로그 메시지의 심각도 수준을 나타내는 값VVerboseDDebugIInfoWWarningEErrorFFatalSSil..
ADB(Android Debug Bridge): 안드로이드 애뮬레이터 혹은 실제 Device와 통신 및 제어를 가능하게 하는 안드로이드 디버깅 도구. 안드로이드 SDK에 포함되어 있어 추가 설치 없이 간편하게 해당 툴을 사용할 수 있다. 위치: (안드로이드 SDK를 설치했다면) C:(생략)\Android\Sdk\platform-tools 1. ADB 3요소요소설명클라이언트안드로이드 개발 시스템에서 실행. ADB 명령어 입력한 후 쉘에서 클라이언트 호출.서버안드로이드 개발 시스템에서 백그라운드 프로세스로 실행. 클라이언트와 데몬 간 통신을 관리. 데몬(adbd)에뮬레이터나 각 기기에서 백그라운드 프로세스로 실행. 기 기에서 명령어를 실행 2. ADB 작동 방식1ADB 클라이언트 시작 시 ADB 서버 ..
# 문제문제 링크 | https://pwnable.kr/index.php https://pwnable.kr/index.php there are flag files corresponding to each challenges (similar to CTF), you need to read it and submit to pwnable.kr to get the corresponding point. in order to read the flag file, you need some skills regarding programming, reverse-engineering, bupwnable.kr MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수라고 한다... 위 처럼 다..