반응형

전체 글 229

TLS callback(TLS(Thread Local Storage) 와 isdebuggerpresent)

TLS(Thread Local Storage)는 스레드 별로 고유한 저장공간을 가질 수 있는 방법이다. 악성코드나 패킹에 안티 디버깅 기술로 TLS callback등이있다 디버거가 프로그램을 열면 EP지점에서 멈추는데 TLS callback은 EP전에 실행된다 이걸 이용해 악성코드나 패킹은 디버거 탐지 기술을 넣어둔다 TLS안에 만약 이런한 지식 없다면 안티디버깅하기가 꽤어려울것이다 소스코드 Visual Studio 2019 기준 #define _WIN32_WINNT 0x0500 #include #include #pragma comment(linker, "/INCLUDE:__tls_used") void NTAPI Tls_Callback(PVOID THandle, DWORD Reason, PVOID Res..

IAT/EAT 정리

1 개요 자 이제 IAT와 EAT에 관해서 알아 볼 것이다. 앞 장에서 자세히 설명하지 않고 넘어간 NT Header -> Optional Header -> DataDirectory 멤버의 구조체에서 EXPORT Directory와 IMPORT Directory와 관련된 부분이다. API후킹 방법 중 하나로 활용되므로 꼭 숙지하길 바란다. IAT(Import Address Table)로 쉽게 말해서 프로그램이 어떤 라이브러리에서, 어떠한 함수를 사용하는지 적은 메모장이라 생각하면 된다. IAT의 원리를 알기 위해선 DLL에 대한 개념이 필수적이다. DLL이란, 여러 프로세스에서 공유하면서 쓰는 라이브러리인데 멀티태스킹 환경에서는 각 프로세스마다 라이브러리를 가지고 그 용량을 차지하는 것 보다, 메모리에 ..

윈도우의 자료형 정리

PDF 문서 다운로드 링크 0. 개요 1. void 계열 2. 정수 계열 3. 부동 소수점 계열 4. 기타 5. 정리 0. 개요 B를 A로 typedef B A #define A B 윈도우는 32비트는 ILP32, 64비트는 LLP64 리눅스는 32비트는 ILP32, 64비트는 LP64 즉, 윈도우의 경우 32비트와 64비트의 차이는 포인터 뿐이다. ILP32 LLP64 LP64 char 8 8 8 short 16 16 16 int 32 32 32 long 32 32 64 long long 64 64 64 pointer 32 64 64 _WIN64 , not _WIN64 UNICODE , not UNICODE _M_IX86 , not _M_IX86 1. void 계열 1.1 void -- void -> ..

PC리버싱/기타 2020.05.22

올리디버거 설치

OllyDbg란? 올리디버거는 윈도우용 어셈블러를 분석할수있는 디버거이다. OllyDbg는 직관적인 사용자 화면을 제공하고 무료로 사용할 수 있으며 다양한 플러그인을 통해 기능을 확장할 수 있다. 현재 버전 2.01까지 제공 중이며 64비트 환경을 지원하기 위한 프로그램이 개발중이다. OllyDbg 다운로드 다운로드 링크: http://www.ollydbg.de/ 위의 링크로 들어가서 1.10버전 압축파일을 다운받아주세요 64비트 사용자라면 2.0 버전을 다운받아도 무관해요 이글에선 1.10버전으로 설명할게요 압축을 풀어주면 위 사진처럼 파일들이 나올텐데 압출을 풀어준 폴더에 UDD와 Plugin 생성해주세요 그다음 OllyDbg를 실행한다음 Options -> Appearance -> Directior..

디버거들 총정리

디버거 사용법 참고 IDA나 기타등등 디버거들은 다를수있습니다 1X64dbg https://dhhd-goldmilk777.tistory.com/119?category=889085 X64dbg 설치 관련 https://sourceforge.net/projects/x64dbg/files/snapshots/ x64dbg - Browse /snapshots at SourceForge.net × sourceforge.net 프로그램다운로드사이트 https://github.com/ThunderCls/xAnalyzer ThunderC.. dhhd-goldmilk777.tistory.com 2ollydbg https://dhhd-goldmilk777.tistory.com/160 올리디버거 설치 OllyDbg란? 올리디..

크랙미 1번으로 살펴보는 리버싱의 여러가지 기법들

리버싱은 정답이없습니다 그저 과정이 다를뿐입니다 여러분에게 공식들을 알려주는것뿐이지 그게 과정이 정답이아닐수도있습니다 자신만의 방법대로 연구하세요 https://dhhd-goldmilk777.tistory.com/11 크랙미1번풀이 드라이브 1번은 x64dbg인 디버거입니다 드라이브 2번은 크랙미 자료입니다 내 제자들용으로 간단하게만든건 오늘은 1번을해보죠 툴 대충 사용법입니다 일단 설정을해서 entry point에 바로가게 하것 dhhd-goldmilk777.tistory.com 1번의 간단한풀이입니다 저희가 이떄까지한것들을보면 JMP 패치 문자열 암호화를 해독 알고리즘짜기등을했습니다 오늘은 저안에 보이는 문자열 패치법을 배우고 call로 불러오는 함수를 못불러오게하는법을 배워보죠 0x402000에 문..

PE공부 사이트추천

사이트추천 https://flack3r.tistory.com/entry/IAT%EC%99%80-EAT IAT와 EAT 1 개요 자 이제 IAT와 EAT에 관해서 알아 볼 것이다. 앞 장에서 자세히 설명하지 않고 넘어간 NT Header -> Optional Header -> DataDirectory 멤버의 구조체에서 EXPORT Directory와 IMPORT Directory와 관련된.. flack3r.tistory.com https://blog.naver.com/cor2quard/150170060697 1.3 PE file format (IAT , EAT 마무리 ) 1. IAT 프로그램에서 어떤 라이브러리의 어떤 함수를 참조하고잇는지 가르쳐주는 테이블 1.1. DLL 그... blog.naver.co..

패킹예제 UPX by UPX

https://github.com/upx/upx/releases upx/upx UPX - the Ultimate Packer for eXecutables. Contribute to upx/upx development by creating an account on GitHub. github.com UPX다운링크 UPX패킹의경우 개조된UPX가아닌경우 버전을찻아서 패킹을풀면 월래대로 돌릴수있다 upx 명령어 upx 패킹 upx 파일위치/파일명 upx 언패킹 upx -d 파일위치/파일명 파일경로 알아내는법 cd 명령으로 cmd로 이동 이걸 알았으니 해제도 할수있겠지 버전같은건 DIE를 활용하도록] http://ntinfo.biz/index.html .:NTInfo:. ntinfo.biz DIE로 버전을알아내고 ..

반응형