๐โWar_Game/๐ซโGenius_SW
Helloword_patch Helloword ์ถ๋ ฅ๋์ ๋ค๋ฅธ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋๋๋ก ํ๋ ๊ฒ์ด ๋ชฉํ ๋ญ ๋ฑํ ํด์ํ ๋ถ๋ถ์ ์๋๊ฑฐ ๊ฐ๊ณ ์ฃผ์์ Hello World!!๋ง ๋ฐ๊พธ๋ ํ๋์ ์ทจํด๋ณผ๊น์ patch ์ฐ์ต ์ฝ๋๋๊น์ ใ
ใ
์ฐํด๋ฆญํด์ ๋ฐ๋ก ์์ ๊ฐ์ด ๋๋ฅด์
๋ ๋๊ณ ๊ทธ๋๋ ์ฐ์ต ์ฝ๋๋ผ๋ ์์๋ ๋ด์ผ๊ฒ ์ฃ ์์ฒ๋ผ ์ ๊ทผํด offset์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ก์ผ๋๊น hxd๋ก ํ์ธ ์์ ํ๋ฉด ๋(F2)~ ๊ทธ๋ผ ๋ฌธ์์ด ํจ์น๊ฐ ๋๋ฌ์ฃ ์ ์ฅํ๊ณ ๋ก๋ํด์ ํ์ธํด๋ณผ๊น์? ์ฐธ๊ณ ๋ก ๋ก๋ํ๋ฉด ์๋ณธ ์คํํ์ผ ๋ ์๊ฐ๋๊น ๊ทธ๊ฒ ์ซ์ผ๋ฉด ๋์ ๋๋ฒ๊ฑฐ ํ๋๊ฐ.. ์๋ณธ ํ์ผ ์ด๋ฆฌ๋๊ฐ.. ๋ค๋ฅธ ํ์ธ ๋ฐฉ๋ฒ์ ์ฐพ์๋ด์ผ๊ฒ ์ฃ ? ์ ์์ง ์ด๊ฒ๋ฐ์ ๋ชฐ๋ผ์ ใ
์ฐธ๊ณ ๋ก ์ ์ฒ๋ผ ํ ๊ฑฐ๋ฉด ์๋ฌด๊ฒ๋ ๊ฑด๋ค์ง๋ง๊ณ ๊ทธ๋ฅ ๋๋ฅด์ธ์ accessBingo_patch Bingo๋ฅผ ์ถ๋ ฅํ๋..
๐โWar_Game/๐ซโGenius_SW
assembly_test_1 assembly test ๋์ปดํ์ผ ๋ฐ ํจ์น ์ด์ ์ด์
๋ธ๋ฆฌ๋ฅผ ์คํํ๊ณ ํ์ธ์ ํ๋ฉฐ ์ด๋ฏธ์ง๋ก ์ฌ์ด ๊ฑด ์ค๋ช
์ ํ ๊ฒ์ ๊ด๊ณ๋๊ฐ ์ ๋ ๊ฒ ํํ๋๋ฉฐ, ํ๋กค๋ก๊ทธ๋ ๊ฑด๋๋ฐ๊ณ mov dword ptr์ a=1, b=2์ด๋ฉฐ offset์ผ๋ก before..๋ก ์คํ์ ์ ์ฅ๋๋ฉฐ, ๋ฐ๋ก before..์ ์ถ๋ ฅํ๊ณ ๋ฐ๋ก a์ b๋ฅผ ๋น๊ตํฉ๋๋ค. jle์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ์ด ํฌ๋ค๋ฉด.. mov dword ptr์ 0์ ๋์
ํด ๋ฐํํ๋ค์ ์ฆ, c=1; ์๋๋ผ๋ฉด mov dword ptr์ 1๋ก ๋ฐํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ after..๋ฅผ ์ถ๋ ฅํ๊ณ ๋ฅผ ์ํ๋ก๊ทธํ๋ฉฐ, mainํจ์๋ฅผ ๋! ์ฌ์ค IDA๋ ๋์ปดํ์ผ๋ฌ๊ฐ ๋ฐ๋ก ๋์ ๊ทธ๋ฅ F5ํ๋ฉด ๋๊ธด ํด์ ใ
ใ
๊ทธ๋ฌ๋ ๋ด๋ถ ์คํ์์๋ง ๋๊ณ ์ถ๋ ฅ๊ฐ์ ๋ถ๋ถ์ด ์๊ธฐ์ ๋์ปดํ์ผํ๋ฉด ๋ฐ์์ฒ๋ผ ๋..
๐โSystem_Study/๐โDreamhack_Hacking
๋ฌธ์ ํ์ด ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฒ์ ๋จผ์ ๋ณด์๋ฉด canary์ ์ฉ๊ณผ NX๊ฐ ์์ฃ RELRO๋ ์ ๊ฒ ๋๊ฑด๊ฐ? Relro๋ ๋ค์์ ์์ธํ ์์ ํ ์๊ฐ์ด ์ค๊ฒ ์ฃ ๊ทธ๋ฌ๋ ์ด ๋ด์ฉ์ ํจ์คํ๊ณ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๋ญ๊ฐ ์ทจ์ฝํ ์ฝ๋์ธ์ง ์ํ์ด ์ฝ๋ฉ๊ณผ ์ ์ฌํ๊ฒ ์ง์ ๊น์ง ํด๋ณผ๊น์ HTML ์ฝ์
๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ์ด ์ฝ๋์
๋๋ค. ์ ๋ชฉ๊ณผ ์ฃผ์ ๊ฐ ์ฃผ์ ์ด๋ฏ๋ก ๋น์ฐํ BOF๊ฐ ์ ์ด๋ ๋ ๋ฒ ๋์ค๊ฒ ์ฃ ์ฝ๋๋ฅผ ๋ณด์๋ฉด... ์์งํ ์ case ๋ชจ๋ ์ทจ์ฝํ ์ฝ๋์ด๊ธด ํด์ ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ํ๋์ฉ ์์๋ณผ๊น์ ์ ์ฝ๋๋ BOF๋ฅผ ๋ฐ์์ํฌ ์ ์์ง๋ง ์น๋ช
์ ์ธ ์ฝ๋ ์คํ๊น์ง๋ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก Canary๊ฐ์ ์์ฑํ๋๋ฐ.. ์๋ํ๋ฉด Box์ ๋ณ์๋ช
์ธ ๋ณ์ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 0x40์ด๋๊น ๊ทธ ์ด์์ผ๋ก ์
๋ ฅํ์๋ฉด ๋๊ฒ ์ฃ ๋ ๋ฒ์งธ ์ฝ๋๋ ์ฐ๋ฆฌ๊ฐ ์
๋ ฅ๊ฐ์ ์ธ์์ ๊ธธ์ด๋ฅผ..
๐โSystem_Study/๐โDreamhack_Reversing
ํ์ผ ์คํ ๋จผ์ ๋ค์ด๋ก๋ ๋ฐ์ ํ์ผ์ ์คํํ์ฌ ํ๋ก๊ทธ๋จ์ด ์ด๋ค ์์ผ๋ก ๋์ํ๋์ง ํ์ธํฉ์๋ค. ์ฐธ๊ณ ๋ก ์๊ฒ์ ๋ฌธ์ ์ ๊ฐ์ด ์ ๋ขฐํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ ๋๋ ๊ฐ์ํ๊ฒฝ(VM)์์ ์คํํ๋ ๊ฒ์ด good! ๋ง์ฝ ๋ฌธ์ ์ ๋ณด๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ๋์ ๋ฐฉ์์ด ์์์ด ๊ฐ๋ค๋ฉด ์คํํ์ง ์๊ณ ์ ์ ๋ถ์์ ๋จผ์ ์๋๋ ์ข์ ๋ฐฉ๋ฒ ์๋์ฐ OS์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ Windows PowerShell์ ๋ฌธ์ ํ์ผ์ ์คํํ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ์๋ฉด.. ๋ฌธ์ ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฌธ์๋ฅผ ์
๋ ฅ๋ฐ๊ณ ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ์ด๋ค ๊ฒ์ฆ๊ณผ์ ์ ๊ฑฐ์ณ ์
๋ ฅํ ๋ฌธ์์ด์ด ๊ฒ์ฆ์ ํต๊ณผํ๋ค๋ฉด Correct, ํต๊ณผ ๋ชปํ๋ฉด Wrong์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ๊ฑธ ์ ์ถ๊ฐ๋ฅ ๊ทธ๋ ๋ค๋ฉด ๋ฌธ์ ์ ์ ๋ต(flag)์ ๊ฒ์ฆ๊ณผ์ ์ ํต๊ณผํ์ฌ Correct๊ฐ ์ถ๋ ฅ๋๋๋ก ํ๋ ์
๋ ฅ๊ฐ์ด ๋ ๊ฑฐ..
๐โSystem_Study/๐โDreamhack_Reversing
๋ถ์(Export)! ์์ ๋ก HelloWorld.exe๋ฅผ ๋ถ์ํด๋ณด๋ ์ค์ต์ ํด๋ด
์๋ค. ์์ ์ 1์ด๋ฅผ ๋๊ธฐ ํ Hello, world!๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก, ์ค๋ฅธ์ชฝ์์ ๋ด๋ ค๋ฐ์ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ง์ ์ปดํ์ผํ๊ณ ๋ถ์ํ ์ ์๊ฒ ์ฝ๋๋ ์น์ ํ ์ฌ๋ ค์ผ์ฃ ์ฐ๋ฆฌ๋ ์ด ์ฝ๋์ ๋ํ์ฌ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅธ๋จ ์ ์ฌํ์ ์งํํด์ผ ๋ฆฌ๋ฒ์ฑ์ด๊ฒ ์ฃ ์ ๊ทธ๋ผ ํ๋ฒ ๋ฐ์ exe ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ๊ฑฐ๋ ์ปดํ์ผ ํ์
์ ํ์ธํด๋ด
์๋ค ์ฐธ๊ณ ๋ก ์ IDA ์ธ๊ฑฐ์์ /* File: hello-world.cpp Build opts: - /MT -> Library Static Linking - /DYNAMICBASE:NO -> Disable ASLR - /od -> Disable Optimization */ #include #include ch..
๐โSystem_Study/๐โDreamhack_Reversing
x86 Assembly๐ค: Essential Part x86 Assembly: Essential Part ํด์ปค์ ์ธ์ด: ์ด์
๋ธ๋ฆฌ๐ฌ PC์์ ๋ณต์กํ ๋
ผ๋ฆฌ์ ์ธ๊ณผ๊ด๊ณ, ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ์ํธ์์ฉํ๋ฉฐ ๊ทธ ์ธ๊ณ์์ ํต์ฉ๋๋ ๊ธฐ๊ณ์ด(Machine Code)์ธ์ด ํต์ฌ! ์์คํ
ํดํน์ ํ ๋๋ ์ปดํจํฐ ์ธ์ด, ์ด์์ฒด์ , ๋คํธ์ dystopia050119.tistory.com Quiz: x86 Assembly Quiz: x86 Assembly dystopia050119.tistory.com ๊ธฐ์กด์ ์ ๋ฆฌ๋ ๋ถ๋ถ์ด ์์๋ค์.. ์์คํ
์ ํ๊ธฐ์ ์ ์ด ์ปค๋ฆฌํ๋ผ์ ๋จผ์ ํ ๊ฑธ.. ใ
์ ๊ฐ ์ด ๋ธ๋ก๊ทธ๋ฅผ ํ๋ ์ด์ ๋ ์ฌ๋ฌ ์ด์ ๊ฐ ์์ง๋ง ๊ทธ ์ค์ ํ๋๊ฐ ํฌํด์ฉ์ด๋ผ์ ์ด๋ฒ๋ง ๋ ๋จนํ ๊ป์ ํท ์ฐธ๊ณ ์๋ฃ x86 Assembly๐ค: Essential ..
๐โSystem_Study/๐โDreamhack_Reversing
Computer Architecture Computer Architecture 1. ์ปดํจํฐ ๊ตฌ์กฐ(Computer Architecture) ์ปดํจํฐ ๊ณผํ์์๋ PC์ค๊ณ๋ฅผ ์ฌ๋ฌ ํ๋์จ์ด๊ฐ ๊ฐ๋ฐ๋๊ณ , ์ด๋ค์ ์กฐ๋ฆฝํด์ ์ปดํจํฐ๊ฐ ์์ฑํ ๊ฒ์ด ์ปดํจํฐ ๊ตฌ์กฐ! ๋๋ณด๊ธฐ ๐๊ฐ์๐ ์ปดํจํฐ ๊ตฌ์กฐ(Computer Architecture) dystopia050119.tistory.com ํด์ฆ๋ ๋ฑํ ์ค๋ช
์ ํ ๊ป์ ์ ๊ฑฐ ๋ดค์ผ๋ฉด ์ง์ง๋ก ๊ธฐ์ด๋๊น ์ด์งํผ ๋ชจ๋ฅด์๋ฉด ๋ค์ ๋ฐฐ์์ผํด์ Background: Windows Memory Layout ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์(Memory Layout) : ํ๋ก์ธ์ค ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory)์ ๊ตฌ์ฑ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด OS๋ ํ๋ก์ธ์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๋ฉฐ, CS์์ ์ด ๊ณต๊ฐ์ ..
๐โSystem_Study/๐โDreamhack_Reversing
๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ์ ์ ๋ถ์(Static)๊ณผ ๋์ ๋ถ์(Dynamic) ๊ตฌ๋ถ ์ ์ ๋ถ์ : ์ธ์ ์ธ ๊ด์ฐฐ๋ง์ ํตํด ์ ๋ณด๋ฅผ ์ทจ๋ ๋์ ๋ถ์ : ์คํ์ ํตํด ๋์์ ๋ถ์ํ๋ ๊ฒ! ๋๊ฒ ์ ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ๋์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ ํ ํผ์ฉํ๋ฉด ๋์์ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ ๊ฐ๋ฅ! ๋์ ์ธ ๋ฐฉ๋ฒ๋ง์ ๊ณ ์ํ๋ฉด ํฐ ๊ตฌ์กฐ๋ฅผ ๋์น ์ ์๊ณ , ๋ฐ๋๋ก ์ ์ ๋ง ๊ณ ์ํ๋ฉด ์คํ์ ํตํด ์ง๊ด์ ์ผ๋ก ์ ์ ์๋ ๋ถ๋ถ์ ๋ถ์ํ๋๋ผ ์๊ฐ์ ํ๋นํ ๊ฐ๋ฅ์ฑ์ด ๋ํํ์ฃ .. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ ์ ๋ถ์๊ณผ ๋์ ๋ถ์ ์ค ํ ๋ฐฉ๋ฒ๋ง์ ๊ณ ์ํ๋ ๊ฒ์ด ์๋ ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ผ๋ก.. ์ด๋ค ์ํฉ์ ์ด๋ค ๋ฐฉ๋ฒ์ ์ ํํ ๊ฒ์ด๋๊ฐ ์ค๋ ฅ์ ์ข์ฐํ๋ ์ค์ํ ์์์ฃ ์ ์ ๋ถ์(Static Analysis)๐ ์ ์ ๋ถ์(Static Analysis) : ํ๋ก๊ทธ๋จ์ ์คํ์ํค์ง ์๊ณ ๋ถ..