전체 글 65

리버싱 연습 2 - 직접 문자열 패치

리버싱 핵심원리(부제:나뭇잎책)의 앞부분을 읽으면서 Hello World 프로그램을 문자열 패치 시키는 부분이 있어 실습해봄. 1 2 3 4 5 6 7 #include int WINAPI WinMain(HINSTANCE hinst, HINSTANCE pinst, LPSTR Cmdline, int cmdshow) { MessageBox(NULL, L"Hello World!", L"Hello", MB_OK); return 0; } Colored by Color Scripter cs 왜인지 책이랑 똑같이하면 오류나길래 기억나는 대로 WinMain으로 짰다. WinMain을 찾아 가 보는 과정은 스킵 f8로 실행시켜가다가 MessageBox가 뜨는 곳에서 bp걸고 다시 실행해 가면서 따라갔다. 슬슬 stub c..

scanf와 scanf_s

마이크로소프트 사에서는 자주 사용하는 개발 IDE인 Visual Studio에서 scanf 사용을 권하지 않는다. 하위 버전에서는 경고를 띄우지만 최상위 버전에서는 SDL(security development lifecycle) 검사가 체킹 되어 있어 비주얼 스튜디오에서만 지원하는 scanf_s를 사용하지 않으면 오류가 뜨게 되어있다. scanf_s()는 문법은 scanf()와 다를게 거의 없다. 그러나 문자열을 입력받는 서식문자 %s를 사용할 땐, 저장할 문자열 뒤에 최대 문자열 입력 개수를 인자로 한 개 더 넣어주어야 한다. 1 2 char name[10]; scanf("%s", name); cs 이전 scanf 사용이 이랬었다면, 1 2 3 #define MAX_LEN 10 char name[MAX..

개발, 연습 2020.06.30

블로그 프로그래밍 코드 올리기

올리고 싶은 코드를 https://colorscripter.com/ 에 복사 후 세부설정 - 줄간격 100% 세부설정 - html 태그 자체 복사 체크 후에 오른쪽 아래에 있는 클립보드에 복사 그 후에 줄바꿈 오류가 있는 구글 블로그 html 내용 때문에 복사된 html 소스에서 white-space : pre를 white-space : nowrap 으로 바꿔 주어야 글을 포스팅 하고 나서 줄바꿈이 잘 표시된다. 간단하게 복사한 html을 서브라임 등에 복사해서 한번에 바꿔주면 편할 듯. 그 후 구글 블로그 글 작성 시 복사된 html을 입력해 주면 된다. 한번 글을 올린 상태로 중간 내용을 수정하면 줄바꿈이나 내용이 이상해질 수도 있다는 듯 합니다. 1 2 3 4 5 6 #include int main..

카테고리 없음 2020.06.30

올리 디버거 단축키

올리 디버거 단축키 [ctrl + f2] : 프로그램 재실행 [f7] : step into (한 줄 실행, call문에서 함수 안을 따라감) [f8] : step over (한 줄 실행, call문에서 함수를 실행하고 다음 줄로 넘어감) [f9] : step until stop (break point가 나오기 전 또는 프로그램이 멈추는 분기점까지 실행) [ctrl + f9] : step until return (return이 나올 때까지 실행) [;] : 주석(코멘트) 작성/수정 [:] : 라벨 작성/수정 [Enter] : 점프문 따라가기