전체 글 178

리버싱

쉘 코드     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로 변경하기 빈 공간에 주소 붙여넣기  화면이 깨진다