Challenges : Basic 02 Author : ArturDents Korean : 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 English : The program that verifies the password got messed up and ceases to execute. Find out what the password is. 1) 이번에는 2번 손상문제에 관련된 문제이다이것을 풀기위해서 올리디버거로 파일을 열어보았지만, 일단 2.exe 파일이 손상된것을 알 수 있따.그래서 나는 PEView를 통해 내부 구조를 파악해보려고한다.2)여기 사진에서는 잘나와있지않지만, 맨위에 문자열을 보면 MZ 라고 하는 부분이 있을텐데, 이부분은 PE ..
1. 문제Author : abex Korean : HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가 English : What value must GetDriveTypeA return in order to make the computer recognize the HDD as a CD-Rom 1) 올리디버거로 Ex_1 파일을 열어 구조를 분석 한다구조 분석전에 올리디버거 기본 단축키 정리Ctrl + F2 재시작, F9 중단점까지 이동 , F8 한줄한줄 어셈블리어 분석나는, GetDriveTypeA 에 중단점 F2 를 걸어놓고 하나하나씩 분석을 시작하였음2) GetDriveTypeA 의 값에서 CD롬 인식을 원한다3) GetDriveTypeA에서 Cd-Ro..
1. JDBC를 이용한 반복 코드 줄이기 DAO를 이용하여 Database의 데이터를 이용한다.이때, 매번 같은 동작을 반복 하는 부분이 있음. (드라이버 로드,커넥션 생성 및 DB연결,SQL실행, 자원해제)이러한 반복적인 작업들을 스프링에서 간단하게 표현이 가능하다이 모든 것들을 jdbcTemplete가 대신해준다 2. spring bean을 이용한 코드 간소화 우리들은 여태동안 DAO에서 Connection 부분 및 Prepared선언 정의를 이루었는데, 이것을 jdbcTemplate사용하여 간단히 표현이 가능하다 3. 일단 우리는 Spring framework의 dependency 설정을 해주도록 하겠다. pom.xml 파일의 내용에 org.springframeworkspring-jdbc4.1.4...
1. 기본 명령어 EAX : 기본적인 산술 논리 연산 리턴값 전달 EBX : 간접 번지지정 ([ebp+var_8]같은거) ECX : 반복문에 대한 카운트 몇번할지 정해주기도 하고 지역변수 지정에도 주로사용하고 EDX : 간접 번지 지정 주로 연산할때 나머지나 머 이런거 ESP : 스택의 가장 최근 데이터를 가르키게 되는 포인터 TOP포인터 EBP : 스택프레임을 지정할수있게 가장 아래에 깔리는 포인터 프레임포인터 라고도한다 ESI : 문자열 소스 인덱스 EDI :소스인덱스가 가르킬 곳 EIP 레지스터의 값을 변경할 수 잇는 어셈블리 명령어는? 조건분기 명령어 또는 CALL 또는 RET (call은 리턴주소값이 필요) 2. push의 용도? 데이터백업, 지역변수 할당, 매개 변수 전달3. stack의 용도..
1. 올리디버거 실습을 위해서 올리디버거를 깔았는데, ollydbg Themida 동작중인 디버거가 발견되었습니다. 라는 오류가 발생했다. 이것의 해결방법은 매우 간단한데, 왜 발생하는것일까? 은행 관련 공인인증하는쪽에서 충돌이 일어나는것으로 보여진다. 일단 2가지 방법이 있다. 1) path : C://programfiles(x86)/Wizvera/Delfino-G3/unins000.exe 파일을 삭제해주면 된다. 2) 제어판에 가서 Delfino-G3 를 삭제해주면 된다. 필자는 이것을 삭제하고나서 바로 에러창이 사라졌다.
1. virustotal 로 파일 분석 시기를 알 수 있다.2. peview로 어떻게 컴파일 시기를 알 수 있을까? IMAGE_FILE_HEADER 구조체에서 time data stamp 의 멤버 변수의 값을 가져와서 확인을 한다. 3. 파일 패킹 됬거나 난독화 된 징후를 알 수 있는 방법은 ? PEID에서 패킹됬거나 난독화된 징후를 알 수 있는 방법은 특정 패커에 의해서 패킹된 파일을 특정 시그니처에서 패킹 여부 체크!visual C++ 로 체킹 되므로 , 현재 난독화 되거나 패킹된것은 없다고 나옴. 4. import를 보고 악성코드를 판단 할 수 있는가? dependency Walker Tool 을 사용하여 예제 파일을 받은후 import한 데이터 값을 분석한다.5. 감염된 시스템에서 검색할 수 있는..
1. Soft_cross_entropy_with_logics 들어가기 앞서, 기본적인것들 재복습 자 이제, Animal Classfication(with softmax_cross_entropy_with_logics 을 사용하여 예제를 확인해볼 이다. Y의 값을 보았을때, 0~6범위를 나타내고 있으며, Y축을 나타내는값은 1개인것을 알 수 있다. 우리는 이제 placeholder를 사용하여서 shape 값을 정의할 것인데, 현재 y의 값을 나타내는것은 1개 이고, N개의 필드가 들어올 수 있음을 시사한다. 이것을 표현하면 tf.placeholder(tf.int32,[None,1])로 나타낼 수 있다. 이제 우리는 이것들의 데이터들을 one_hot을 사용하여 분류를 하게될 것이다. 근데 이때, one_hot..
1. Softmax function XW 의 식을 tf.matmul(X,W)+b 의 식으로 간단하게 Tensorflow로 나타낼 수 있고 , Softmax를 구하기 위해서는 tf.nn.softmax(tf.matmul(X,W)+b)로 나타낼 수 있다. 2. Cost FunctionCost값을 구할때는 reduce_mean을 사용하여 평균값을 구한후, 위의 식대로 간단하게 표현이 가능하다. 이렇게 구한 cost값을 사용하여 경사의 Minimize값을 구하게 될것인데, 이때 GradientDescentOptimizer를 사용하여 최소값을 구하게 될 수 있다. 여기서 Step의 하나하나의 a 값은 변동값을 업데이트를 하기위함이다. 3. 실습하기Data value is onehot expression. 설명 : ..
1. Where is Sigmoid? 여기서는 2.0 , 1.0 , 0.1 이런식으로 나누어져 있지만, sigmoid 함수를 써서 우리는 0~1까지의 범위내에서 값을 구하기를 원한다. 우리는 Ya , Yb, Yc의 값의 합이 1이 되기를 원한다. 이때 사용하는것 softmax. 2. What is Sigmoid ? Sigmoid는 0~1사이의 값으로 추정해주는데, 이때 이렇게 만들어 주는것이 Softmax classfier이다. Softmax를 사용하면 값들의 합이 = 1 이 되도록 하고, 이때 A라는 결과를 얻었을 경우 1.0 의 값이 주어지고 나머지 경우에는 0.0 이라는값을 주어지게 하는 방법은 "One hot Encoding"방식이다. 3. One Hot Encoding방식 여기까지 예측하는값을 ..
1.Logistic Regression Logistic Regression 의 기본 개념 => 위의 그림 설명 A , B가 있다고 하였을 경우 그 두개의 그래프에서 두개의 A,B를 구분하는 선을 찾는것이다. 2. Multinomial Classfication C or not / B or not / A or not 의 경우로 나누어서 생각 할 수 있다. X라는 값이 들어왔을때 A,B,C의 값을 판별해낼 수 있다는것을 알면 된다. classfication을 구현할 수 있는데, matrix형태로 바꿀 수 있는데, 이런형식은 너무 값이 많아지고 표현하기가 어려워 진다. 이것을 어떻게 처리 할 수 있을까?하나의 벡터로 처리하게 되면 한번에 계산이 가능하다. 3개의 A,b,C의 값들이 독립적으로 동작되게 된다. 여..
1. Tensorflow 로 Logistic Classfication의 구현하기(new) cost를 작게하는 W를 구하는것이 이번 장의 핵심!가장 작은 W를 구하는 방법은? 위의 2차 함수에서 어떤 주어진 점에서 기울기를 구해서 기울기의 반대방향으로 움직이면 된다. 여기서 a(알파)는 그만큼 움직이는 수 2. Training Data x_data는 2개 , y_data는 1개를 나타내는것을 볼 수 있는데, 여기서 tf.placeholder를 사용하여 float32타입으로 하나의 노드를 생성시키고, shape값을 지정하는데 이것은 N개의 개수로 놓을때, None의 속성값을 주고, 2개의 데이터를 나타내므로 shape = [None,2] 이런식으로 나타낼 수 있다. 3. Code 설명 1. x,y로 노드를 ..
1. Logistic Regression 의 Cost함수 설명 Cost 함수 복습 H(x)가 성립할때, Cost 함수의 식이 성립되는 구조를 볼 수 있다. 2차 함수 같은 그래프로 표현이 가능하다. 지금 까지 살펴본 Cost함수의 특징을 살펴 볼 것이다. 왼쪽의 함수는 H(x) 직선의 최소점을 나타낼 수 있다.살짝 오른쪽의 식은 울퉁불퉁한식의 형태로 나타낼 수 있다. 오른쪽의 함수는 Linear의 특징과 멀다. 울퉁불퉁한식은 Decent함수에서는 사용할 수 없다. 2. New cost function for logistic 설명 ) 1. 왼쪽 그래프 H(x) Value = 1(예측하였을 경우) -> Cost(1) = 0 최소가 되는점value = 0(예측하지 못하였을 경우) -> cost => 무한대에 ..
PE 구조 - 유닉스란? 최초의 운영체제 - coff (common object file format) : 유닉스 실행 파일 포멧 - PE(Portable Excutable) : 윈도우 기반 - ELE(Excutable Linux Format) : 리눅스 기반 - C -> 컴파일 -> 기계어 코드 -> 링커(dll) -> exe file(PE) * Structure Header--------바이트--------footer Tool: PEview analysis PEview 를 통하여 PE구조를 확인 1. Image_Dos_Header -> 실행 파일 앞에 mg가 붙는다(실행파일이라는것을 알려주는 마크 느낌) - OFFSET to New Exe Header -> PE -> 위치를 알려준다ex) 100번지 ..
PE 구조 - 유닉스란? 최초의 운영체제 - coff (common object file format) : 유닉스 실행 파일 포멧 - PE(Portable Excutable) : 윈도우 기반 - ELE(Excutable Linux Format) : 리눅스 기반 - C -> 컴파일 -> 기계어 코드 -> 링커(dll) -> exe file(PE) * Structure Header--------바이트--------footer Tool: PEview analysis PEview 를 통하여 PE구조를 확인 1. Image_Dos_Header -> 실행 파일 앞에 mg가 붙는다(실행파일이라는것을 알려주는 마크 느낌) - OFFSET to New Exe Header -> PE -> 위치를 알려준다ex) 100번지 ..
- Total
- Today
- Yesterday
- Spring
- 노드
- Android
- 코드엔진
- 감자개발자
- node.js
- 감자코딩
- 학교
- 초보자를 위한 C언어 300제
- 스프링
- node
- 백준알고리즘
- 텐서플로우
- programming
- db
- 머신러닝
- C langauge
- 리버싱
- 알고리즘
- 복습
- 백준
- 프로그래밍
- 안드로이드
- BFS
- Controller
- C언어
- Algorigm
- 개발하는 관광이
- MVC
- TensorFlow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |