본문 바로가기

전체 글

(64)
2024.8.10 리버싱 공부(나뭇잎 책) https://forum.tuts4you.com/ 여기서 리버싱 공부 팁을 얻을 수 있다. PE 파일 포멧PE(portable executable) 파일 포멧. - 윈도우에서 사용되는 실행 파일 형식종류 exe,src,dll,ocx,cpl,drv,sys,vxd,obj obj 뺴고 다 실행 가능 파일을 헥스 에디터로 보면 PE파일 구조를 볼 수 있음. PE구조PE header(DOS header, DOS stub, NT header(file header, optional header), Section header(여러개))PE body(header제외 섹션 부분들) DOS header - MZ header ( 64 바이트)맨 첫 값은 e_magic - MZ(DOS signature)마지막 값은 e_lfan..
2024.8.7 리버싱 공부(나뭇잎 책) 스택 프레임함수 호출하려면 인자를 역순으로 스택에push하고 call한다. (call하면 함수 리턴 시 복귀할 주소가 스택에 push됨.)함수에 들어가면 EBP(베이스 스택)을 push해서 저장해 두고 ESP(스택 포인터)를 EBP로 만들어서 새로운 스택 프레임에서 EBP를 기준으로 계산하여 사용함 EBP - x 는 local 변수 EBP + x 는 parameter( 스택은 거꾸로 자라서, 즉 스택은 push되면 주소가 작아지고 pop하면 주소가 커져서) 스택 늘릴때 SUB ESP, x(할당할 크기) return할때 ESP를 EBP 로 바꿔주고 EBP에 POP하면 이전 EBP가 들어옴.PUSH POP은 ESP기준호출 함수에서 return 된 후파라미터로 넘겨준 크기만큼 ADD ESP, (파라미터들 데이..
2024.8.6 리버싱 공부(나뭇잎 책) x64dbg   단축키 F2 - break point set/reset; - 주석: - label 추가Ctrl + F2  -  RestartF7 - step intoF8 - Step OverF9 - 실행Ctrl + F9 - 함수 ret까지 실행Ctrl + G - 원하는 주소로 이동   코드 찾는 방법 분석하고 싶은 변화 있을때까지 F8로 실행어떤 줄에서 변화 생겼으면 break point 만들고 Ctrl + F2그 부분 F7로 들어가서 또 F8로 변화 생길때까지 반복해서 찾아내서 분석 사용하는 string 있으면마우스 우클릭 -> 다음을 찾기 -> 모든 모듈 -> 참조 문자열 거기서 string 검색하면 그 string이 사용되는 코드 위치와 문자열의 위치가 나옴그 위치들을 Ctrl + G 로 찾아가서그..
1달이 지나서 글을 쓰는 이유 계절학기때문이다. 졸업하려면 영어를 들어야하는데 빠르게 끝내기위해 계절학기를 들었다. 잠깐 쉬다가 공부 이어서 해야지!
정보처리기사 후기 정보처리기사를 사람들이 많이 따는 거같아서 나도 도전했다.일단 접수하고 필기 공부 방법https://www.comcbt.com/xe/iz 정보처리기사 필기 기출문제 전자문제집 CBT - 최강 자격증 기출문제 전자문제집 CBT정보처리기사 필기 기출문제 전자문제집 CBTwww.comcbt.com여기서 기출을 풀었다.해설 보면서 외웠다. 공부를 천천히 하는 스타일이라 2주 전 부터 생각날때 한번씩 가볍게 풀어보고 2~3일 전에는 자주 풀면서 외웠다.기출문제 평균 85점정도 나올때 시험을 보게됐다.  필기에 붙었다. 실기는 2년안에 붙으면 된다길래 일단 봐보자라는 마음으로 실기 접수날에 바로 접수해봤다.  아직 대학생신분에 졸업을 위해 계절학기를 7.26에 종강했다. 공부할 시간이 없었는데 생각날때 보고 토요일..
인공지능 공부 LSTM lstm은 rnn의 장기 의존성 문제를 해결하기 위해 등장했고,import torchimport torch.nn as nnimport torch.optim as optim# LSTM 모델 정의class LSTMModel(nn.Module):    def __init__(self, input_size, hidden_size, num_layers, output_size):        super(LSTMModel, self).__init__()        self.hidden_size = hidden_size        self.num_layers = num_layers        self.lstm = nn.LSTM(input_size, hidden_size, num_layers, batch_first..
다이어그램 그리는 사이트 draw.io
인공지능 공부(RNN) 이전 시간에는 MLP에 대해서 알아보았는데 이 모델의 문제는 입력의 크기가 고정되어있고, 순차 데이터를 처리할 수 없고 즉 이전의 입력을 기억하지 못한다는 문제가 있다. 이 문제를 해결하기 위해 RNN(Recurrent Neural Network)이 등장했다. RNN으로 가변 길이의 시퀀스를 처리할 수 있게 되었고, 순차 데이터의 순서를 인식하고, 이전의 입력을 기억할 수 있게 되었다. 작동 원리의 핵심은 입력과 이전의 hidden state를 결합해서 출력을 생성한다는 것이다.  이번 글에서는 RNN을 pytorch로 구현해보고, numpy로 구현해보고 끝내겠다. import torchimport torch.nn as nnimport torch.optim as optiminput =torch.tenso..