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번지 ..
1. Logic Classfication Algorigm 특징1) 정확도가 상당히 높으므로 Nerural Network에 매우 중요한 Component2) 학습을 한다는것은 Data를 최소화 하여 Cost에 Weight를 최소화 한다는것이다.3) 2차원 그래프에서 U자 그래프가 나타나는것은 그래프에 가장 가까이 분포 되어있는것을 나타낸다. 이점을 따라서 내려가다보면 가장 최솟값(최소점)을 나타낼 수 있다. 4) Cost의 값을 미분한 값은 그 그래프의 기울기를 나타낸다. 2. Regression VS Classfication 1)regression 은 숫자 예측 2)Classfication 는 binary - 둘중 하나의 카테고리를 고른다Ex) SPAM Detection : SPAM or HAMFaceb..
1. 게시판 응답하기계속 진행해왔던 부분이라 따로 많은 설명은 하지 않고 넘어 가겠습니다.1) Controller@RequestMapping("/reply_view")public String reply_view(HttpServletRequest request,Model model) {System.out.println("reply_view()");model.addAttribute("request",request);command = new BReplyViewCommand();command.execute(model);return "reply_view";}//7.답변응답 부분@RequestMapping("/reply")public String reply(HttpServletRequest request, Mode..
1. 게시판 글 내용 삭제계속 진행해왔던 부분이라 따로 많은 설명은 하지 않고 넘어 가겠습니다.1) Controller // 8. 삭제 부@RequestMapping("/delete")public String delete(HttpServletRequest request,Model model) {System.out.println("Delete()");model.addAttribute("request",request);command = new BDeleteCommand();command.execute(model);return "redirect:list";} 2) Commandpackage com.javalec.spring_pjt_board_command; import java.util.Map; import ..
1. 게시판 글 내용 수정하기계속 진행해왔던 부분이라 따로 많은 설명은 하지 않고 넘어 가겠습니다.1) Controller // 5. Modify부분 처리 @RequestMapping(method = RequestMethod.POST,value = "/modify") public String modify(HttpServletRequest request,Model model) { System.out.println("modify()"); model.addAttribute("request",request); command = new BModifyCommand(); command.execute(model); return "redirect:list"; } 2) Command package com.javalec.s..
3. 글 내용 페이지 만들기계속 설명해왔던 부분이므로 설명은 주석으로 대체하겠음.1. controller.java // 4. 이제 list 가 보여지는 화면으로 나왔으므로, 이제 그화면에서 글을 클릭하여 그해당데이터로 이동해야 하는// 그경우를 만들어 준다.@RequestMapping("/content_view")public String content_view(HttpServletRequest request,Model model) {System.out.println("content_view()");model.addAttribute("request",request);command = new BContentCommand();command.execute(model);return "content_view";} ..
1. spring에서 timestamp를 사용하여 query문을 날리는 과정에서 현재 시간의 값들이 제대로 들어가지 않는것을 확인하여, mysql 필드의 타입이 DATE로 되어있는것을 발견하였다.date 타입은 오라클에서 지원하는 date타임이기때문에, mysql에서는 적용이 불가능하였다.따라서 이것을 해결하기 위해서,1234 방법 1(생성) : mysql> ALTER TABLE mvc_board MODIFY bDate DATETIME DEFAULT NOW() 방법 2(기존에있는경우 수정)mysql>create table mvc_board(bDate DATETIME DEFAULT NOW()) cs이 방식을 사용하면 DATETIME이 mysql에 정확히 잘들어가는것을 확인 할 수 ..
1.mysql 한글인코딩 UTF-8 해결법현재 게시판 관련된 포스팅중, mysql에 값이 한글로 들어가면 깨지는 현상이 있다.일단 이것들의 상황을 파악해 보기위해서 1kgh-2:bin kgh$ sudo ./mysql -pcs1)mysql을 실행하자. 비밀번호를 입력후 mysql진입하여 현재 mysql의 인코딩이 어떻게 되어있는지 확인1234567891011121314151617181920212223242526272829303132333435363738394041mysql> show variables like 'c%'; +--------------------------+-----------------------------------------------------------+ | Variable_name ..
1. 이제 글쓰기를 작성해볼것이다12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 Insert title here 이름 제목 내용 목록보기 Colored by Color Scriptercs2. 현재 글쓰기 게시판 만들기의 호출 순서를 보면Controller -> Command -> Dao -> Dto 순서로 호출이 된다. 여기서 중요한것이, 이벤트 발생했을시 넘어가는 부분 처리도 생각해줘야한다는것(JSP파일에서)Conroller.java123456789101112131415161718192021222324252627282930313233343536373..
Spring 게시판 프로젝트 하는 도중 발생한 에러 2가지가 있었는데, 상당히 나를 애를 써먹였다.1. Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 해결방법* pom.xml파일에 추가한 내용1234567891011121314151617181920212223242526272829 dependency> groupId>mysqlgroupId> artifactId>mysql-connector-javaartifactId> version>5.1.27version> scope>compilescope> dependency> 추가해주면 spring에서 자동으로 my..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 contextConfigLocation /WEB-INF/spring/root-context.xml org.springframework.web.context.ContextLoaderListener appServlet 디스패처 org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml servlet-context 부분으로 연결해주는 부분 ..
1. Loading data from file 1)이번 강좌에서는 여러가지 파일에 있는 데이터들을 사용하여 활용하는 방법에 대해 알아 볼 것입니다.data-01.csv 파일을 이용할 것 이므로, data-01.csv파일을 준비합니다.(data file) * data-01.csv File 73 80 75 152 93 88 93 185 89 91 90 180 96 98 100 196 73 66 70 142 53 46 55 101 69 74 77 149 47 56 60 115 87 79 90 175 79 70 88 164 69 70 73 141 70 65 74 141 93 95 91 184 79 80 73 152 70 73 78 148 93 89 96 192 78 75 68 147 81 90 93 183 88..
1. Hypothesis None using matrix -1 import tensorflow as tftf.set_random_seed(777) # for reproducibility x1_data = [73., 93., 89., 96., 73.]x2_data = [80., 88., 91., 98., 66.]x3_data = [75., 93., 90., 100., 70.] y_data = [152., 185., 180., 196., 142.] # placeholders for a tensor that will be always fed.x1 = tf.placeholder(tf.float32)x2 = tf.placeholder(tf.float32)x3 = tf.placeholder(tf.float32) Y..
1. Recap 1) Hythesis H(x) = Wx+bW : Weightb : Bias 2) Cost function cost(W,b) = 1/m (∑ (H(x)i^ -y(i^))^2 predicting / true 3)Gradient descent algorigm 2. multi-variable 일경우 H(x1,x2,x3,xn) = w1x1 + w2x2 + w3x3 + wnxn .....+ b cost값도 변수만 증가시켜주면 Cost Function = cost(W,b) = 1/m (∑ (H(x1,x2,xn.....)i^ -y(i^))^2 그런데, 이러한것들을 계속 처리하기위해서는 불편함이 있음.어떻게 처리하면 될까? Matrix 이 식을 보게 되면 H(x) = XW 가 되는 과정을 볼 수 있음. ..
1. hypothesis 요약 cost가 최적화 된다는것은 최저가 되는 지점 Cost Function 을 간단히 요약하면 이렇게 표현이 가능하다. 2.Cost Minimizing Structure W.Assgin 함수를 통해서 Assgin할수 있다. 이것의 update에 할당해서 실행을 시키게 된다면,일련의 동작들이 수행되게 된다. 3. matplotlib 설치하기실습에 앞서 matplotlib 를 사용할것인데, 이것은 시각화 라이브러리라고 생각하면 편하다. 실습에서 사용할것이므로 (tensorflow) kgh-2:tensorflow kgh$ pip install matplotlib 4. 실습 Cost Minimizing -1 이제 이것을 사용하여 그래프를 그려보자# Lab 3 Minimizing Cos..
1. what cost look like? W=2 의 값일때 cost(W)의 값은 4.67로 동일하다 Y축 : Cost X축 : W로 두었을 때, minimize 시킬 수 있어야한다. 2. Gradient descent algorigm (1) minimize cost function (2) Gradient descent is used minimization problems (3) for a given cost function 3. how it works?gradient descent the lowest point부분을 찾는다.(경사가 있는 그래프의 minimize) 경사를 어떻게 구할 수 있을까? 미분을 사용한다.미분을 사용한다는것은 ? 그 그래프의 기울기를 구한다고 생각하면 쉽다. Ex)미분의 예제 C..
- Total
- Today
- Yesterday
- 코드엔진
- db
- 머신러닝
- 스프링
- 텐서플로우
- 알고리즘
- 안드로이드
- node
- MVC
- 백준
- programming
- 학교
- C langauge
- BFS
- 개발하는 관광이
- C언어
- Android
- Controller
- 복습
- node.js
- 백준알고리즘
- 감자개발자
- 리버싱
- 초보자를 위한 C언어 300제
- TensorFlow
- 감자코딩
- 프로그래밍
- 노드
- Algorigm
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |