일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리버싱핵심원리
- 모바일프로그래밍
- Reversing
- Interceptor
- K-shield Jr 10기
- K-sheild Jr
- 파일해시생성
- John the ripper
- 써니나타스
- Autoware
- upx
- Frida
- ctf-d
- Android
- 안티디버깅
- 케쉴주
- 침해사고대응
- 디스크
- swing
- tar
- disk
- crack
- Mobile
- Multimedia
- SW에듀서포터즈
- CodeEngn
- 포렌식
- shadow
- ZIP
- Today
- Total
목록분류 전체보기 (275)
물먹는산세베리아
DLL 이젝션(DLL Ejection)이란? 프로세스에 강제로 삽입한 DLL을 빼내는 기법으로, DLL 인젝션의 동작 원리와 기본 동작 원리는 같다. 대상 프로세스로 하여금 FreeLibrary() API를 호출하도록 만든다. * DLL 인젝션은 LoadLibrary() API 호출 DLL 이젝션 과정 CreateRemoteThread()의 lStartAddresss 파라미터에 FreeLibrary() API 주소를 넘기고, lpParameter 파라미터에 이젝션할 DLL의 HANDLE을 넘겨준다. 1. 프로세스에 로딩된 DLL 정보 구하기 //dwPID = notepad 프로세스 ID //TH32CS_SNAPMODULE 파라미터를 이용해서 notepad 프로세스에 로딩된 DLL 이름을 얻음 hSnaps..
DLL 인젝션이란? 실행 중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 것이다. 다른 프로세스에게 LoadLibrary() API를 스스로 호출하도록 명령하여 사용자가 원하는 DLL을 로딩한다. 일반적인 DLL로딩과 달리 로딩 대상이 되는 프로세스가 자기 자신이다. 강제로 dll을 프로세스에 로딩시키면 해당 실행파일의 프로세스 메모레에 대한 접근 권한을 가질 수 있고, 사용자가 원하는 모든 일을 수행할 수 있다. DLL 인젝션 과정 아래는 myhack.dll을 notepad.exe 프로세스에 인젝션해주는 프로그램 소스코드이다. 1. 대상 프로세스 핸들 구하기 // #1.dwPID를 이용하여 대상 프로세스(notepad.exe)의 HANDLE을 구한다. if(!(hProcess = OpenPro..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
애완동물 사진 보기 앱 activity_main.xml 작성 ① 필요한 사진 넣어두기 res → drawable에 붙여넣기 ② checkbox, radiobutton 텍스트 넣기 "선택을 시작하겠습니까?", "좋아하는 애완동물은?" 시작함에 체크해야 "좋아하는 애완동물은?" 문장이 나옴 RadioButtion은 RadioGroup으로 묶어주어야 함 강아지, 고양이, 토끼 RadioButton 만들기 글씨 작아서 TextView 쪽에 andriod:textSize="20sp" 추가해줌 ③ 선택완료 버튼 ④ 이미지 ⑤ invisible 시작함을 체크할 경우에만 좋아하는 애완동물을 고르고, 파일을 가져올 수 있다. 따라서 처음에는 위의 내용이 보이면 안되기 때문에 코드에 visibility 속성을 추가한다. ..
1. activity_main.xml에서 레이아웃을 LinearLayout으로 변경 2. 세로로 구성할 거라서 android:orientation="vertical" 추가 간단한 계산기 만들기 ⓛ 숫자 넣을 공간 만들기 Edit2도 만들기 ② 더하기, 빼기, 곱하기, 나누기 버튼 만들기 나머지 연산 버튼도 만들기 BtnSub ... ③ 계산 결과 text 만들기 자바 연동 ④ 변수 선언 ⑤ id로 연결, 값 가져오기(getText()), onTouchLinster() 나머지 연산은 생략 숫자1, 숫자2에 값 넣고 더하기 누르면 계산 결과 나옴 activity_main.xml MainActivity.Java package com.android.project4_1; import androidx.appcomp..
아직 strings.xml에서 지정 안해줘서 글자가 빨간색임 @string/hello: strings.xml 파일의 name="hello" strings.xml에서 지정한 문자열이 나옴(Hello world) Ctrl+Space바 누르면 선택지 나옴 singleLine singleLine="true" singleLine="false" (default) 자바코드에서 수정하기 xml 파일에 반드시 id 추가해줘야 함 변수명 선언하는데 앞에 TextView가 빨간색이 되면 위에 import 안해줘서 그런거니까 Alt+Enter 입력해서 import하기 앞에 했둔 것과 연결
round(): 반올림 round(값, n) : 값을 소수점 n번째 자리에서 반올림 -n을 넣을 경우 n번재 자리에서 반올림 올림, 내림, 버림 import math ceil(값): 올림 floor(값): 내림 trunc(값): 버림 소수점 출력 문자열 뒤에 .format()을 붙이면 {n}에 n의 순서대로, 그 자리에 값을 넣을 수 있다. {0}에는 format안의 첫번째 값을 넣으면 된다. {0:.1f} : format()의 첫번째 값을 넣되 소수점 첫번째자리에서 반올림해서 넣기 이때, .1f 등 출력할 소수점 자리를 정해 반올림을 해줄 수도 있다. 10.5는 왜 10이 출력되는지 의문.. 이것도 마찬가지 f에 뭐가 있는건가?
ConstraintLayout TextView 위젯인 "Hello World"를 클릭하면 오른쪽에 속성창이 뜬다. 상하좌우 모두 연결되어 있기 때문에 바이어스가 왼쪽과 아래 모두 바이어스(Bias)가 나타난다. * 바이어스(Bias): 좌우 or 상하 연결 시 나타난다. 수직 or 수평으로 배치되는데 화면 어디에 배치되는지 비율로 나타낸다. 왼쪽 바이어스를 기존의 50에서 35로 수정하고, 팔레트에 있던 버튼 위젯을 UI 편집기로 드래그해서 버튼을 생성해준다. 생성된 버튼을 속성창에서 상하좌우 모두 연결점을 생성해주고 여백을 0으로 설정한다. 상하좌우 모두 연결했기 때문에 바이어스가 둘다 생성된 걸 볼 수 있다. 여기서 가이드라인 생성이 가능하다. 현재 Vertical, Horizontal 생성한 상태 ..