posted by 블르샤이닝 2023. 6. 14. 10:11
728x90

오랜만에 리버싱 교육 받으러옴. 64dbg 초기에 맛만봤었는데 이젠 이제 주 분석툴로 사용되는구나..그리고 사용법을 모르겠다 ㅎㅎㅎ 올리랑 비슷하면서 다르네..열심히 수업들으면서 따라가는 중

 

리버싱에서 가장 중요한건? 역시나 레지스터의 변화값을 캐치하는것이겠찌....그래서 레지스터에 대한 의미를 공부하고 넘어가기

 

참고 자료 : https://blog.naver.com/hellowhale0737/222862446531

----------------------------------------------------------------------------------------------------------------------------------------

 

범용 레지스터, 세그먼트 레지스터, 명령어 포인터 레지스터, 플래그 레지스터가 존재한다.

범용 레지스터 : 주용도가 있으나 다양한 용도로 사용될 수 있는 레지스터

rax(accrumulator register)
함수의 반환 값
rbx(base register)
주된 용도 없음
rcx(counter register)
반복문의 반복 횟수, 각종 연산의 시행 횟수
rdx(data register)
주된 용도 없음
rsi(source index)
데이터를 옮길 때 원본을 가리키는 포인터
rdi(destination index)
데이터를 옮길 때 목적지를 가리키는 포인터
rsp(stack pointer)
사용중인 스택의 위치를 가리키는 포인터
rbp(stack base pointer)
스택의 바닥을 가리키는 포인터

이 외에도 r8~r15까지의 범용레지스터가 존재

세그먼트 레지스터 : cs, ss, ds ,ed ,fs, gs 총 6가지로 각 레지스터의 크기는 16비트이다. 과거에는 사용 가능한 물리 메모리의 크기를 키우려고 사용되었으나, 현재는 cs, ds, ss 가 각각 코드, 데이터, 스택 메모리 영역을 가리킬 때 사용되고, 나머지는 운영체제 범용적인 목적으로 사용된다.

명령어 포인터 레지스터 : CPU가 어느 부분의 코드를 실행할지 가리키는 레지스터 rip이며 크기는 8바이트이다.

플래그 레지스터 : 프로세서의 현재 상태를 저장하고 있는 레지스터이다. RFLAG라는 64비트 레지스터가 존재한다. 실제로는 20여개의 비트만을 사용한다.

CF(Carry Flag)
부호 없는 수의 연산 결과가 비트의 범위를 넘을 경우 설정된다.
ZF(Zero Flag)
연산 결과가 0일 경우 설정된다.
SF(Sign Flag)
연산결과가 음수일 경우 설정된다.
OF(Overflow Flag)
부호 있는 수의 연산 결과가 비트 범위를 넘을 경우 설정도니다.

64bit 구조에서 r- 에서 하위 32bit 가 e-로 치환될 수 있다.

출처: 드림핵 시스템 해킹 - 컴퓨터 구조

728x90
posted by 블르샤이닝 2023. 5. 16. 10:49
728x90

이벤트 로그 기록 분석할때 좋은 프로그램이다. 

지금은 마소에서 제품을 지원하지 않아 별도로 다운받아야 함

 

용량제한으로 분할압축하여 업로드함

 

사용 메뉴얼 : https://learn.microsoft.com/en-us/message-analyzer/message-analyzer-user-roles

 

MessageAnalyzer64.exe
10.00MB
MessageAnalyzer64.e01
10.00MB
MessageAnalyzer64.e02
10.00MB
MessageAnalyzer64.e03
10.00MB
MessageAnalyzer64.e04
10.00MB
MessageAnalyzer64.e05
10.00MB
MessageAnalyzer64.e06
4.03MB

728x90
posted by 블르샤이닝 2023. 5. 15. 20:59
728x90

Study on Windows Event Log-Based Corporate Security Audit and Malware Detection.pdf
1.41MB

 

대학원을 다니면서 논문의 중요성을 많이 알았다. 인터넷 자료도 좋지만 자료의 신뢰성은 논문이 더 높은편이기에 논문자료를 많이 찾아보곤한다. 

 

논문을 써본사람은 알겠지만....진짜 별에 별게 다 있다 ㅋㅋㅋㅋ논문 주제 정하기가 논문쓰기의 50프로 이상을 차지하니까...그만큼 다른사람이 쓰지 않은 논문 주제 찾는게 힘들다는 것이다.

 

여튼 위에 윈도우 이벤트 로그 분석할 때 참고하면 좋은 자료다. 

728x90
posted by 블르샤이닝 2023. 4. 18. 07:18
728x90

윈도우에 장착되었던 부품들(cpu, 메인보드, 램 등)에 대해 확인하려면

 

레지스트리를 봐야함

 

레지스트리의 다음 트리는 드라이버 작성기HKLM  HKEY_LOCAL_MACHINE 나타내는 위치)에 특히 관심이 있습니다.

HKLM\SYSTEM\CurrentControlSet\Services 레지스트리 트리

HKLM\SYSTEM\CurrentControlSet\Control Registry Tree

HKLM\SYSTEM\CurrentControlSet\Enum 레지스트리 트리

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles 레지스트리 트리

WDF(KMDF 또는 UMDF) 드라이버에서 레지스트리 키에 액세스하는 방법에 대한 자세한 내용은 드라이버용 레지스트리 키 소개를 참조하세요.

WDM 드라이버에서 레지스트리 키에 액세스하는 방법에 대한 자세한 내용은 플러그 앤 플레이 레지스트리 루틴을 참조하세요.

  --------------------------------------------------

HKLM\SYSTEM\CurrentControlSet\Services 레지스트리 트리는 시스템의 각 서비스에 대한 정보를 저장합니다. 각 드라이버에는 HKLM\SYSTEM\CurrentControlSet\Services\DriverName 형식의 키가 있습니다. PnP 관리자는 드라이버의 DriverEntry 루틴을 호출할 때 RegistryPath 매개 변수에서 드라이버의 이 경로를 전달합니다. 

 

HKLM\SYSTEM\CurrentControlSet\Control 레지스트리 트리에는 시스템 시작 및 디바이스 구성의 일부 측면을 제어하기 위한 정보가 포함되어 있습니다. 다음 하위 키는 특히 관심이 있습니다.

 

HKLM\SYSTEM\CurrentControlSet\Enum  열거형 트리는 운영 체제 구성 요소에서 사용하도록 예약되어 있으며 레이아웃은 변경될 수 있습니다. 드라이버 및 사용자 모드 디바이스 설치 구성 요소는 IoGetDeviceProperty, CM_Get_DevNode_Registry_Property  SetupDiGetDeviceRegistryProperty 와 같은 시스템 제공 함수를 사용하여 이 트리에서 정보를 추출해야 합니다.

 

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles 레지스트리 트리에는 시스템의 하드웨어 프로필에 대한 정보가 포함되어 있습니다. 하드웨어 프로필은 더 이상 사용되지 않으며 하드웨어 프로필을 기준으로 상태를 저장해서는 안 됩니다.

 

 

 

출처 : https://learn.microsoft.com/ko-kr/windows-hardware/drivers/install/hklm-system-currentcontrolset-control-registry-tree

 

728x90
2023. 4. 17. 11:27

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

posted by 블르샤이닝 2023. 4. 17. 10:28
728x90

Gradle project sync failed. Basic functionality (e.g editing, debugging) will not work 또는

error: please select Android SDK

 

이런 에러가 뜰경우 나같은경우 안드로이드 sdk를 select 하라는 문구가 나왔었는데

 

 

File -> Settings -> Android SDK -> Android SDK Location Edit -> Next, Next (Android SDK is up to date.), Finished

 

위의 방식으로 내문제는 해결되었는데

 

다음 에러로 "No JDK specified for module"가 발생했다.

 

물론 이 에러로 다른방법으로 해결

 

 

728x90
posted by 블르샤이닝 2023. 4. 17. 10:27
728x90

No JDK specified for module  해경방법. file ->project structure -> modules 변경

 

실행 위치

 

728x90