일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준알고리즘
- 딥러닝
- 소프트맥스함수
- 신경망
- 항등함수
- 정보보안
- C언어 알고리즘
- 달고나bof
- 버퍼오버플로우
- 알고리즘
- FTZlevel10
- c언어
- 신경망 학습
- 백준
- 딥러닝파이썬
- C언어알고리즘
- 활성화함수파이썬
- 파이썬신경망
- 파이썬
- BOF
- 보안
- 머신러닝
- 신경망구현
- 신경망파이썬
- BOJ
- 밑바닥부터시작하는딥러닝
- 스트림암호
- C알고리즘
- 인공지능
- 8086CPU레지스터
- Today
- Total
목록전체 글 (235)
HeeJ's
안티 포렌식이란 디지털 포렌식 기술에 대응하여 자신에게 불리하게 작용할 가능성이 있는 증거물을 훼손하거나 차단하는 일련의 행위를 말한다. 최근에는, 안티포렌식을 자동화해주는 안티포렌식 전문 도구들도 등장하고 있다. ▷안티 포렌식의 목적 탐지를 회피하거나 정보 수집을 방해한다. 수사관의 분석 시간을 증가시킨다. 안티 포렌식 툴이 돌아가는 동안 증거를 남기지 않는다. 디지털포렌식 도구가 동작하지 못하도록 하거나 오류를 발생시킨다. 범죄자의 사용 흔적이나 도구 실행 흔적을 발견하지 못하도록 로깅을 차단/우회하거나 삭제한다. 법정 보고서나 증언으로서 가치가 없도록 증거를 훼손시킨다. ▷안티포렌식 기법 데이터 파괴, 데이터 암호화, 데이터 은닉, 데이터 조작, 풋프린트 최소화, 분석 시간 증가 1. 데이터 파괴 ..
모든 객체를 담을 수 있는 Object 타입의 컬렉션은 실행하기 전, 클래스에 어떤 객체를 담았는지 알 수 없는 문제점이 나타남. 제네릭(Generic) : 하나의 코드를 다양한 타입의 객체에 재사용하는 객체 지향 기법 클래스, 인터페이스, 메서드를 정의할 때는 타입을 변수로 사용. **클래스를 선언하여 객체를 생성할 때, 구체적인 타입을 기재한다. 장점) 컴파일 시, 타입을 점검하기 때문에 실행 도중 발생할 오류 사전 방지 제네릭 클래스의 선언 class 클래스이름 { 필드; 매서드; } * 타입 매개 변수 E - 원소(Element) K - 키(Key) N - 숫자(Number) T - 타입(Type) V - 값(Value) ex. public class c1 { private T data; publ..
메서드 오버로딩 : 메서드 이름은 같지만 메서드 시그니처가 다른 메서드를 정의하는 것 * 메서드 시그니처 : 메서드 이름과 매개변수의 개수, 데이터 타입, 순서 를 의미 - 메서드의 이름이 같아야한다 - 메서드의 매개변수의 개수 혹은 타입이 달라야 한다. ex : ... public static int max(int n1, int n2){ int result = n1 > n2 ? n1 : n2; return result; } public static double max(double n1, double n2){ double result = n1 > n2 ? n1 : n2; return result; } public static int max(int n1, int n2, int n3){ return max(..
자바 프로젝트 과제를 갑자기 짜게 되었는데 그 동안 배웠던 내용들이 기억이 안나서 기초부터 차근차근 다시 짚어 나가기 위해 쓰는 게시판... 나한테 필요한 부분만 쓸거여서 뒤죽박죽에 연관 없는 내용들로 가득할 예정 자바 너무 어려워요ㅜㅜㅜㅜㅜ 상수 : 더 이상 수정할 수 없는 값 final 키워드로 지정 ex. final double PI; PI = 3.14159; == final double PI = 3.14159; * 상수 값은 일반적으로 단어 전체를 대문자로 표기한다 데이터 입력받기 import java.util.Scanner; ... Scanner in = new Scanner(System.in); int x = in.nextInt(); //정수를 읽어 변수 x에 대입한다 ... in.close(..
자바 이클립스를 사용하는데 실수로 Package Explorer를 꺼버렸다... 켜는 법을 몰라서 엄청 당황했는데 [Window] - [Show View] - [Other...] 에 들어가서 [Java] - [Package Explorer] 를 선택하면 된다.
이러한 오류가 떴을 때 해결하는 방법은 쉽다. 저 '변수'가 함수 안에서 쓰일 수 있도록 지정해주면 된다. 예를 들면, ... def drinking(): button = int(input("메뉴 선택 (종료:0): ")) while(button != 0): if(money < price[button-1]): print("잔액 부족") print("잔액: %d"%money) else: print("%s 구입완료"%menu[button-1]) money = money - price[button-1] print("잔액: %d"%money) print() button=int(input("메뉴 선택 (종료:0) : ")) ... menu=['콜라','사이다','환타','커피','생수'] price = [500,..
문제: 이 문제도 역시 실행파일을 통해 Serial을 찾는 문제다 바로 Ollydbg로 열어주고 text strings를 통해 성공, 실패 분기 부분을 찾아주었다. 저 부분에 들어가서 윗부분에 다른 문제들(L16)과 같이 CMP 구문을 찾아주려 했다. 하지만 CMP구문은 찾을 수 없었고, 그 대신 조건 점프 명령어인 JE를 찾을 수 있었다. 그렇다면 윗 부분에서 무엇을 검사해준 다음, 이 부분에서 분기를 한다는 것 바로 윗 부분에서 lstrcmpiA 함수를 찾을 수 있었는데, 이 함수는 문자열을 비교해주는 함수이다. 그래서 이 함수 바로 밑 부분에 bp를 걸고 실행시켜 보았다. 아무 값을 넣어준 후 check를 누르면 String1에는 내가 넣어준 Serial값이, String2에는 어떠한 문자열이 뜨는..
문제: 16번 문제도 15번과 동일하게 Serial을 찾는 문제로, 일단 실행시켜보았다. 이런 실행 창을 얻을 수 있었고, 바로 Ollydbg로 분석해보았다. 분기문을 찾기 위해 성공과 실패를 가르는 String을 찾아주었고, " Good Job! "이라는 문자열을 더블 클릭해 들어가주었다. 위 쪽으로 보다 보면, CMP구문을 찾을 수 있었고 이 부분에 bp를 걸어준 다음 실행시켜보았다. CMP 구문에서 EAX와 DOWRD PTR SS:[EBP-3C]를 비교해주는 것을 확인하고 (EBP에서 3C를 뺀 메모리 주소에 저장된 값) 값을 입력해주었더니 EAX에는 내가 입력해 준 값이 들어있는걸 확인할 수 있었고, EBP는 0070FF28이라는 것을 알 수 있다. 여기서 3C를 빼주면 00 70 FE EC 주소..