저번 NT/XP/2K 버젼의 Recycler 분석에 이어, windows vista/7의 Recycler에 대해 알아보도록 하겠습니다.

Windows vista/7 의 버젼과 그 이전 버젼들을 비교하여 가장 쉽게 겉으로 보이는 특징들을 말해보자면 두 가지 정도가 있습니다.

 첫 번째로, 시스템 폴더의 이름이 바뀌었다는 것.. Recycler에서 Recycle.bin으로 재명명되었습니다.

두 번째 특징은 INFO2 레코드를 사용하지 않고 대신에 $I~형식의 파일을 사용해서 정보를 기록하는데, 이는 밑에서 더 자세히 알아보겠습니다.

OS INFO2 Record Length System Folder File System
Windows 95/98/ME 800 Bytes C:\Recycled FAT32
Windows NT/2K/XP 800 Bytes C:\Recycler\[UserSID] NTFS
Windows Vista/7 Not used. C:\$Recycle.bin\[UserSID] NTFS

[Windows Recycler]

파일이 삭제가 되면 이전에는 D[volume][index].[file extension] 형식으로 간단히 저장이 되었지만
vista 이후 버젼부턴 조금 달라집니다.

[그림 1] Recycle.bin 내부의 $R~ 파일들

이런 식으로 삭제된 실제 파일은 $R[랜덤 문자열].[원본 확장자(없을 시, 폴더)] 파일 형식을 지니며 존재하게 되는데요.

이 파일들의 정보가 기록되어있는 파일(이전의 INFO2와 같은) 또한 따로 존재한답니다.

[그림 2] Recycle.bin 내부의 $I~ 파일들

파일이 삭제되면 파일의 메타 데이터만 삭제가 되고 실제 데이터는 삭제가 되지 않습니다.
 
그러므로, 다시 복원을 해야하는 경우 이 메타 데이터를 다시 복구를 하기 위해 vista 이후 버젼에는 $I~파일,

vista 이전 버젼에는 INFO2 파일로 관리를 해왔습니다.

INFO2와 비슷하게, $I~ 파일 내부에는 파일이 삭제된 시간, 삭제된 위치, 삭제된 파일의 크기등이 기록되어 있습니다.


 Data Structure Data Size Data Offset Range
File Header 8Bytes 0 - 7 (0x000 - 0x007)
File Size 8Bytes 8 - 15 (0x008 - 0x00F)
File Deleted Date and Time 8Bytes 16 - 23 (0x010 - 0x017
File Name and Path (Before being Deleted) 520Bytes 24 - 543 (0x018 - 0x21F)
[$I Record Structure]

[그림 3] $I 파일에서 png파일 레코드

'공부 > Forensics' 카테고리의 다른 글

데이터 복구와 파일 카빙의 차이점  (0) 2012.07.05
[PaulTew]Timelord  (0) 2012.07.05
DLL(Dynamic Link Library)  (1) 2012.05.07
Sysinternals  (0) 2012.05.07
NT/2K/XP 휴지통 파일 분석  (4) 2011.12.19
Posted by extr
:

abex문제풀려하는데 홈페이지가 어딘지 알수가없네

씬난다

' > asdasd' 카테고리의 다른 글

64비트 윈도우를 프로그래밍 하기 위해서 알아야 할 모든 것들  (1) 2012.04.18
블로그  (0) 2012.02.08
치트엔진 야호  (0) 2012.01.03
춥당  (6) 2011.12.20
티스토리  (1) 2011.12.15
Posted by extr
:




이번에는 튜토리얼 6의 포인터에서 좀 더 심화된 다중포인터문제이다.

뭐 이것도 6하고 똑같이 change value누르면 값 막 바뀌고 change pointer하면 포인터가 가리키는 위치가 바뀐다.

또한, 저 값을 5000으로 만들으면 클리어한댄다.

언제나처럼 저 value를 찾아서



실행되는 opcode를 살펴보자


esi가 가진 값을 eax에 복ㅋ사 ㅋ함
오프셋 0x18줫으니까 수동으로 테이블세팅할때 적어줘야함



난 여기서 엄청헤맷는데 accesses로 find out 해주면 이 포인터를 가리키는 포인터를 또 찾을 수 있었음 ㅡㅡ



그러므로!

수동 추가된 포인터를 accesses로 find out 해준다.

그리고 아까와 마찬가지로 change value가 실행될때의 opcode 살펴보면 포인터의 위치로 또또 포인터가 가리키는걸 볼 수 이씀...

ㅋ...

이 지랄발광을 한 3,4번??해주다보면


초록색으로 address가 표현되어있을거임 더이상 포인터를 안파도됨 ㅠㅠ

이것으로 끝없을것같았던 포인터여정은끝났다

이제 값을 바꾸고 클리어를 해버리자


엉엉


체인지 포인터 -> NEXT



이게 좆같은 튜토리얼은 다 끝이났네여 ㅎㅎ














'대회/워게임 > 워게임' 카테고리의 다른 글

level2 - level3  (0) 2013.01.01
level1 - level2  (0) 2013.01.01
치트엔진 튜토리얼 6 풀이  (1) 2012.01.05
치트엔진 튜토리얼 5 풀이  (0) 2012.01.03
치트엔진 튜토리얼 4 풀이  (0) 2012.01.03
Posted by extr
: