Timer ์กฐ์ ์ค์ตํ๊ฒฝ : VM - Window7 32bit โ ์ด๊ธ์ผ๋ก ์คํ์ํจ๋ค Ollydbg์ attach์์ผ๋ณด์. C:\Program Files\Microsoft Games\Minesweeper ํด๋์์ ํ์ผ์ ์ง์ ์ฐพ์๋ ๋จ. โ ๋๋ฒ๊ฑฐ ํ์ดํ์ ์ดํด๋ณด๋ฉด ๋ณดํต ๋ค๋ฅธ thread์ module์ ๊ฐ๋ฆฌํค๊ณ ์๋ค. ์ฐํด๋ฆญ - select module - minesweeper์ ์ ํํด ๋ฐ๊พผ๋ค. โ SetTimer()ํจ์๋ฅผ ์ฐพ์์ผํ๋ค. ์ฐํด๋ฆญ - search for - all intermodular calls ์์ dest name์ผ๋ก ์ ๋ ฌ์์ผ USER32.SetTimer()์ ์ฐพ์๋ธ๋ค. BP๋ฅผ ๊ฑธ๊ณ F9๋ก ์คํ์ํจ๋ค. ๊ฒ์์ด ๋์ํ๊ณ ํ์ผ์ ํ๋ ํด๋ฆญํ๋ฉด ๋ค์ ํด๋น BP์์ ๋ฉ์ถ๋ค. MSDN 3๋ฒ์งธ ..
โ ์๋ฌ ๋ฉ์์ง๋ก๋ถํฐ ๋ฐ๋ผ ๋ค์ด๊ฐ๋ฉด, ์ผ๋ จ๋ฒํธ ์์ฑ/๊ฒ์ฆ ๋ฐ ๋ถ๊ธฐ ๋ก์ง ๋ฐ๊ฒฌ โ kernel32.lstrlen() : ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๊ธธ์ด๋ฅผ ๊ตฌํด eax์ ๊ฒฐ๊ณผ ๋ด๋๋ค. eax๋ ecx๋ก ๋ค์ด๊ฐ๊ณ , ecx๋ ๋ค์ ๋ฐ๋ณต๋ฌธ์์ ๋ฐ๋ณตํ์๋ก ์ฌ์ฉ๋๋ค. (DEC ecx : ecx๋ 1์ค์ด๊ณ ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ 0์ด๋ฉด ZF=1๋ก ์ค์ ) โ [๋ฐ๋ณต๋ฌธ] : 403038์ ๋ค์ด๊ฐ์๋ ๋ด๊ฐ ์ ๋ ฅํ id๊ฐ ๋ฌธ์์ด์ ๋ค์ํ ์ฐ์ฐ์ ๊ฑฐ์ณ ์ผ๋ จ๋ฒํธ๋ก ๋ฐ๊พผ๋ค. ์ต์ข ์ฐ์ฐ๊ฒฐ๊ณผ๋ esi์ ๋ด๊ธด๋ค. ์์ฑ๋ ์ผ๋ จ๋ฒํธ(esi)์ ๋ด๊ฐ ์ ๋ ฅํ pw๊ฐ(403138)์ ๋น๊ตํด ๋ถ๊ธฐ๊ฐ ๋๋๋ค. โ ๋ฐ๋ณต๋ฌธ ์ธ๋ถ๋ก์ง์ ์๋ต. ๋ถ๊ธฐ์ฐํํ๋ฉด ์์๊ฐ์ ์ฑ๊ณต์ฐฝ ๋ฌ๋ค. โ ์์ฑ๋ esi ์ผ๋ จ๋ฒํธ๋ hex์ํ์ด๊ธฐ๋๋ฌธ์ ascii๋ก ๋ฐ๊ฟ์ผํ๋ค. ๊ตฌ๊ธ์ ํตํด ๊ฐ๋จํ ๋ฐ๊ฟ๋..
โ โ GetVolumeInformationA() ํจ์ ์ฌ์ฉํด ์์คํ ๋ณผ๋ฅจ์ ๋ณด ์ฝ์ด์ด MSDN โ โ main ๋ก์ง ๋ฐ๋ณต๋ฌธ์ ๊ฑฐ์น๊ณ ๋ฌธ์์ด2๊ฐ๋ฅผ ๋ถ์ฌ ์ผ๋ จ๋ฒํธ ์์ฑ (๋น์ฐํ ์ปดํจํฐ๋ง๋ค ๋ฌ๋ผ์ง.) ์ฌ์์ํ ํด๋น ๋ฌธ์์ด ์ ๋ ฅ์ ์ฑ๊ณต.
MUP์ ํต์ฌ์ OEP๋ฅผ ์ฐพ๋๊ฒ. OEP๋ฅผ ์ฐพ๋๋ฒ์ ์ ๋ต์ด ์๊ณ ๋ค์ํ ๋๊ตฌ์ ๊ธฐ์ ์ด ์์ด, ๋ค๋ถํ ๊ฒฝํ์ ์ธ ์คํฌ์ด๋ค. โ - Lena 'UnPackMe_EZIP1.0.exe' โ * ESP ๋ ์ง์คํฐ๋ฅผ ํ์ฉํ OEP ์ฐพ๊ธฐ โ entry point : 004650BE ์ง์ ํ, ์คํ์ ESP์ PUSH EBP๋ ์ํ. โ ๋ฉ๋ชจ๋ฆฌ์ HW Breakpoint๋ฅผ ๊ฑธ์. esp - follow in dump - ์ฒซ๋ฒ์งธ ๋ถ๋ถ ๋ฐ์ดํฐ์ HW BP ์ ์ฉ โ HW BP ํ์ธ F9 ์คํ์ 00468687์์ HW BP๊ฑธ๋ฆผ ๊ทผ์ฒ์ JMP EAX ๋ฐ๊ฒฌ. ๋ฐ๋ผ ๋ค์ด๊ฐ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ํ์ ์ธ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ ์ ์๋ค. OEP = 004271B0 ๋ฐ๊ฒฌ! (์ฐธ๊ณ ๋ก, ์ฌ์์ํ ๋ง์ฐฌ๊ฐ์ง๋ก F9์คํ์ ์ด 2๋ฒ HW BP ๊ฑธ๋ฆผ. ๋ณธ ์์น P..
๋ฒํผ ๋นํ์ฑํ ์ํ ์ผ๋ จ๋ฒํธ๋ ๋ณดํต ๋ฌธ์์ด๋น๊ต๋ฅผ ํ๋ฏ๋ก, Search for - All intermodular calls - "vbaStrCmp" ๋ฐ๊ฒฌ BP์ค์ Test DI, DI ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ ํ๋ฌธ ๋ถ๊ธฐ. ์ฌ๊ธฐ์ ZF๋ฅผ 0์ผ๋ก ๋ฐ๊ฟ ํ๋ฆ์ ๋ฐ๊พธ๋ฉด, Register๋ฒํผ์ด ํ์ฑํ๋๋ค. ํด๋ฆญํ๋ฉด ๋ค์๊ณผ๊ฐ์ด ์ฑ๊ณต [๋ถ์] ์ญ์ถ์ ํ๋ฉด, TEST DI, DI๋ DI๊ฐ์ด 0์ธ์ง ํ์ธํ๋ค. DI๊ฐ์ EDI์ ํ์16bit๊ฐ. ๊ทธ๋ฆฌ๊ณ ์ด DI๋ vbaStrCmp()์ ๊ฒฐ๊ณผ๊ฐ eax์ ์ ์ฅ๋ํ ๋ค์ edi๋ก ๋ณต์ฌ๋๋ค. vbaStrCmp()๋ ์คํ๋๋ฉฐ ์ธ์๋ก eax, ecx๋ฅผ ๋ฃ๋๋ค. vbaStrCmp()๋ถ๋ถ์ BP๋ฅผ ๊ฑธ๊ณ ๋ค์ ์ดํด๋ณด์. ์ฌ์์ํ ์ซ์๋ฅผ ํ๋ ์ ๋ ฅํ๋ฉด BP๊ฐ ๊ฑธ๋ฆฐ๋ค. ์ด๋ ์์ ๊ฐ์ด, eax์ 0067..
[DLLInject.exe & MyHack.dll] DLLInject.cpp #include "stdio.h" #include "windows.h" #include "tlhelp32.h" #define DEF_PROC_NAME("notepad.exe") #define DEF_DLL_PATH("c:\\myhack.dll") DWORD FindProcessID(LPCTSTR szProcessName); BOOL InjectDll(DWORD dwPID, LPCTSTR szDllName); int main(int argc, char* argv[]) { DWORD dwPID = 0xFFFFFFFF; dwPID = FindProcessID(DEF_PROC_NAME); if (dwPID == 0xFFFFFFFF) {..
[์ฝ์ง๋ ธํธ] 1. dllํ์ผ์ cppํ์ผ๋ก ์์ฑํ ์ผ๋ฐ์ ์ธ VS ๋น๋๋ฅผ ๊ฑฐ์ณ ์์ฑ. ๋จ, ํ๋ก์ ํธ ์์ฑ์ Win32 Console, MFC ์ ํํ๋ฏ์ด ์ฌ๊ธฐ์ DLL์ ์ ํํด์ผํจ. 2. dll.cpp์์ ๋ฉ์ธ์ง์ ๋ถ๋ฅผ DllMain์ด ์๋, DLLMain์ผ๋ก ์์ฑํ์ฌ ์๊ฐํ๋น (dll ์ฝ๋ฉ๋ฐ๋น๋๋ ์ฒ์์ด์์ง๋ง, ๋น์ฐํ ๋ ๊ฑฐ๋ผ ์๊ฐํ๋ค. ์๊ฐํด๋ณด๋ฉด ์ผ๋ฐ์ฝ์์ฝ๋์์๋ int mAin()~๋ ๋น์ฐํ ์๋๋๊ฑด๋ฐ..) 3. VirtualMachine์์ Win7 64bit์์ ๊ณ์ ์คํํจ. 32bit์์ ํ์ด์ผํ๋ค. (injectํ๋ dll์์น๋ฟ๋ง์๋๋ผ ๋ง์ ์์๋ค์ด ๋ณ๊ฒฝ๊ฐ๋ฅ์ฑ. ๋ณ์๋ง์) [์ฐธ๊ณ ] 1. scanf => scanf_s๋ก ๋ํ๋๋ UNSAFE WARNING ERROR ์ปดํ์ผ์ค๋ฅ์, ๊ตฌ๊ธ๋งํ๋ฉด ๋ช๊ฐ์ง ๋ฐฉ..
1. CreateFileA() MSDN OPEN_EXISTING => "abex.l2c"์ด๋ฆ์ ํ์ผ์ openํ๋ค. ์์ผ๋ฉด eax=FFFFFFFF๋ก ๋ฆฌํด๋์ด 00401075๋ก ์ ํ ๋ฐ๋ผ์ abexcm3.exe์ ๊ฐ์ ๊ฒฝ๋ก์ "abex.l2c"์ด๋ฆ์ ํ์ผ์ ๋ง๋ค์ด์ค์ ํด๋น๋ฃจํด ํต๊ณผ 2. GetFileSize() ํ์ผ์ฌ์ด์ฆ๋ฅผ ๊ฐ์ ธ์ 12์ ๋น๊ต. 0x12๋ 10์ง์๋ก 18์ด๋ค ๋ฉ๋ชจ์ฅ or HxD๋ก 18byte๋ก ํ์ผ์ฌ์ด์ฆ๋ฅผ ์กฐ์
- Total
- Today
- Yesterday
- dfs
- C
- sort
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- socket
- JPA
- ๊ฐ๋ฐ์
- Vo
- Android
- javascript
- FRAGMENT
- ๋ฆฌ๋ฒ์ฑ
- OneToMany
- ํ๋ก๊ทธ๋๋จธ์ค
- git
- Stack
- ์นํดํน
- Android Studio
- brute-force
- mysql
- Algorithm
- bfs
- queue
- graph
- webhacking.kr
- Java
- reversing
- ํด์ธ์ฌํ
- ํ๊ณ
- Data Structure
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |