전체 글 249

[ Java ] 접근 제한자 - public, private, protected

src 폴더 내에 a 라는 폴더를 만들고 Test.java라는 파일을 만들어 줍니다. 제가 쓰는 IDE는 VSCODE인데 Java 전용 IDE가 아니다보니 패키지를 만들거나 클래스를 만드는 전용 기능이 없습니다. 그래서 그냥 폴더를 만들고 그냥 파일을 생성해야 합니다. 파일을 만들 때도 확장자 .java를 붙여주어야 합니다. 아래 코드를 작성해 줍니다. Test.java package a; public class Test { String a = "해마 해킹 마스터"; public static void main(String[] args) { } } 폴더 b를 만들고 그 안에 Test2.java를 만들어 줍니다. 그 후, 다음 코드를 입력해줍니다. Test2.java package b; import a.Te..

Java 2023.07.15

[ Java ] 메소드

함수 : 함수는 특정 작업을 수행하는 "코드 조각"이다. 로직 처리 이후 사용자가 원하는 결과를 반환하고 독립적으로 존재한다는 것이 특징이다. 메소드 : 함수와 비슷하지만 클래스, 구조체, 열거형에 포함되어 있는 함수를 메소드라고 한다. 따라서 다른말로 클래스 함수라고도 한다. 메서드를 생성할 때는 public static void를 적어준다. 그 다음엔 메서드 이름을 정의한다. public static void sayHello() {} 이렇게 하면 문자열을 출력해주는 메서드가 완성되었다. public static vvoid sayHello(){ System.out.println("안녕하세요? 메소드입니다."); } 하지만 이건 파라미터가 없는 메서드이다. 아래 코드에서 int number는 power라..

Java 2023.07.14

[ Java ] 배열 / 다차원 배열

배열 같은 자료형의 값 여러 개를 저장하는 연속된 공간 사용법 //배열 선언 첫 번째 방법 String[] coffees = new String[4]; //배열 선언 두 번째 방법 String coffees[] = new String[4]; 이렇게 선언하고 사용할 때는 coffees[] = " " ; 이렇게 사용할 수 있다. 저 괄호 안에는 인덱스 값을 넣고 해당 배열의 인덱스에 문자열을 넣을 수 있다. coffees[0] = "아메리카노";라고 하면 배열의 첫번째 인덱스에 아메리카노가 저장된다. 배열 + 반복문 for~each for (String coffee : coffees) { System.out.println(coffee + " 하나"); } System.out.println("주세요"); 이렇..

Java 2023.07.13

[ Java ] While문 / Do While 반복문

While 반복문 while ( 조건 ) { 실행 코드; } while 반복문의 틀은 이렇게 생겼다. 조건이 참이 아닐때까지 실행 코드를 실행한다. int distance = 25; int move = 0; while (move < distance){ System.out.println("발차기를 계속 합니다."); System.out.println("현재 이동 거리 : "+ move); move += 3; } System.out.println("도착했습니다."); 만약 코드가 이런 식으로 생겼다고 생각해보자. Do While 반복문 do { } while ( 조건 ); do while 반복문의 코드는 이런 틀로 생겼다. 조건 내부의 값이 true일 동안 do 내부의 코드를 실행시켜 준다. 만약 코드가 d..

Java 2023.07.12

[ Kotlin 앱 개발 ] 프로젝트 시작하기 - 안드로이드의 구조

안드로이드 스튜디오를 실행해줍니다. 그리고 New project를 실행해줍니다 그럼 어떤 activity를 할건지 선택하라는 창이 나오는데 저는 empty activity를 선택했습니다 그럼 설정하는 창이 나오는데요 여기서 Package name 설정을 정말 잘해야하는게, 차후에 이 앱이 완성되어 마켓에 올라간다고 하면 이 패키지 네임 주소로 올라가게 됩니다. 그리고 이 이름은 저만 변경할 수 있고 바꾸기도 더럽게 번거롭습니다. 그래서 처음부터 잘 정하는게 좋습니다 ㅎ Name과 저장될 위치를 설정해주고 Language는 Kotlin을 이용할 것입니다 그리고 Minimum SDK를 API 23 : Marshmallow로 설정해줍니다. 이유는 23 버전이 가장 점유율이 높기 때문입니다 그리고 Finish!..

개발/앱 개발 2023.07.11

Kotlin vs Java

Java 1. 방대한 자료량 2. 속도가 빠름 3. 기존 라이브러리 활용이 쉽다. public class Testclass() { public void test() { System.out.println("안녕") } } new TestClass().test(); Kotlin 1. Null Safe 언어이다. NullPointException 2. 상호운영성이 좋다. 아까 위의 Java 코드를 Kotlin에서 그대로 쓸 수 있습니다. 호환 100% 3. 간결하다. Java와 달리 new를 안붙여도 되고 세미콜론도 안붙여도 된다. TestClass().test 4. 구글이 채택한 언어다. 안스에서 자료도 더 빨리 준다. 소스 참조 https://www.inflearn.com/course/lecture?cou..

Java 2023.07.11

[ Java ] Visual Studio Code에 초간단 Java 환경 세팅

Java 공부를 위해 Visual Studio Code에 Java 환경 세팅을 해줄 것이다. Visual Studio Code 공홈에 JDK 포함 VSCODE, 확장팩 등 없으면 필요한 것 한 번에 설치해준다. https://code.visualstudio.com/docs/java/java-tutorial 이 링크를 클릭하면 됨 Getting Started with Java in Visual Studio Code Java tutorial showing basic Java language support in the Visual Studio Code editor code.visualstudio.com 각자 OS에 맞게 선택해주면 된다. 다운 중.... 메뉴를 눌러보니 여러가지 확장팩이 설치된 것이 확인되었다..

Java 2023.07.08

[ Mobile App Hacking ] DIVA 앱 취약점 분석 #2 - Hardcoding Issues

이번엔 모바일 앱 해킹 DIVA 취약점 2번째 Hardcoding Issues에 대해서 풀어보겠습니다. 2번을 클릭해서 들어가면 그냥 댈랑 창만 떠있습니다. 테스트삼아 아무렇게나 1234를 입력했더니 Access Denied 되었다는 Toast 메시지가 뜹니 1번과 달리 adb shell에서 logcat 정보를 띄워놨는데도 아무런 단서를 찾지 못했습니다. 홈으로 돌아와 앱을 꾹 누르면 추출이 가능합니다. jadx-gui 앱을 열어 추출한 앱을 Open 합니다. Navigation의 Text search를 누르면 원하는 텍스트를 검색할 수 있습니다. 아까 Toast 메시지에서 Access denied! See you in hell 이라는 문구가 떴기 때문에 이 문구를 전체 검색해보겠습니다. 검색결과 총 2..