보안/어셈블리어 19

리버싱

쉘 코드     crtl + f     값 변경하기    쉘 수정하기   ctrl + h   89값에 쉘 붙여넣기  opening terminer   지뢰 찾기  platsound 마다 bp 걸어서 소리가 안 나는지 나는지 확인하기   발생하는 효과에 따라 주석 달기앞에 발생하는 함수에 어떤 소리가 나는지 예시로 적은 코드if(지뢰밟음){      showMines();        triggerBomb();} def triggerBomb(arg){if(arg=0)playSoundW("쾅");elseplaySoundW("똑딱");} call 0x01002F80 > 지뢰 정답 표시    지뢰를 선택했어도 계속 게임이 진행이 됨

메모리

메모리 주소 접근01: 123402: 5403: 44 eax(001) = 0 mov byte ptr[402000], al > al의  1byte(402000)의  값에 al을 넣는다  메모리 크기 지정8bi = 1byte > byte16bit = 2byte >word32bit = 4byte > dword eax = 00AD51B0ebp = 0052FC14 -4mov dword ptr ss:[ebp-0x4], eax mov word ptr ss:[ebp-4], ax >  데이터를 저장하는 방식 = 바이트 오더링빅 엔디안 > 그대로 저장함리틀 엔디안 > 12345678 은 87654321 로 거꾸로 저장함  ex > B0 C8 26 77 -> 77 26 C8 B0 이렇게 읽어야 한다 엔디안 체크(Endian..

cod cave

cod cave > 악성코드가 원래 코드의 뒷부분에 숨기는 것   브래이크 포인트 걸리게 해서 게임이 멈추게 만듬    PUSH 6을 0으로 바꿈 > 벽으 ㄹ제거하기 위함  glclear 찾음  nop으로 바꾸고 주소 넣어주기  위에서 가져온 값들 집어넣기    glbegin으로 bp걸면서 실행지점 찾기    push 7을 0으로 바꿔서 바뀌는 게 있는지 확인 없으면 다음 지점을 찾음   glclear 로 찾아서 지점 확인     주소 복사해서 빈 공간에 붙여넣기  call glbegin nop로 변경하기 빈 공간에 주소 붙여넣기  화면이 깨진다

hex

PEview HxD  file > 실행 x 데이터 덩어리(hex)memory > 메모리에 매핑이 됨  Hello World.exe 구조  > 파일 헤더 부분MZ - PE 파일의 시작 부분에 나타나는 서명MS-DOS 헤더, NT 헤더, 섹션 - PE 파일이 메모리에 로드될 때 각각의 세션이 어떤 역할을 하는지 정의>섹션 설명.text - 코드가 들어가는 부분 / 프로그램의 실행 코드가 포함된다.rdata - 읽기 전용 데이터로 실행 코드가 아닌 상수 값이나 문자열 등의 데이터가 들어간다.data - 쓰기 가능한 데이터가 들어가는 영역, 프로그램이 실행 중에 사용할 수 있는 변수들이 위치.rsrc - 리소스 섹션, 아이콘, 이미지, UI 등 리소스 파일이 포함된다. >HEX 값 분석- 16진수의 값 원시 파..