๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€27

Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-7 cmd ์ฐฝ ์—ด์–ด์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ์ž…๋ ฅ. ํ‹€๋ ธ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด์„œ ์‚ดํŽด๋ดค๋‹ค. ์šฐ์„  ๋ฌธ์ž์—ด ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ๋ฉ”์ธํ•จ์ˆ˜๋ฅผ ์ฐพ์•„์ฃผ๊ณ  ์ด ์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ test, je ์ง์ „ ํ•จ์ˆ˜๊ฐ€ ์ค‘์š”ํ•˜๋‹ˆ๊นŒ ๊ฑฐ๊ธฐ๋กœ ์ด๋™ํ•ด์ค€๋‹ค. ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์œ„ ์บก์ณ ํ™”๋ฉด ์ฃผ์„์— ๋‹ฌ์•„ ๋†“์•˜๋‹ค. ์ •๋‹ต ์ฃผ์†Œ ๋“  ๊ณณ์„ ๋คํ”„๋กœ ๋”ฐ๋ผ๊ฐ”๋‹ค. ์ด์ œ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์œ„ํ•ด IDA๋กœ ์—ด์–ด์คฌ๋‹ค. sub ์–ด์ฉŒ๊ตฌ ํ•จ์ˆ˜๋กœ ๋“ค์–ด๊ฐ€์ฃผ๋ฉด ___ROL1___ ํ•จ์ˆ˜๊ฐ€ ๋ˆˆ์— ๋ˆ๋‹ค. ์ธํ„ฐ๋„ท์— ์ฐพ์•„๋ณด๋‹ˆ shift ์—ฐ์‚ฐ๊ณผ ๊ด€๋ จ๋œ ํ•จ์ˆ˜์ด๋‹ค. #include int ror(int x, int n) { int shift = x >> n; int src = x 2023. 11. 1.
Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-6 ์ฒซ ๋ฒˆ์งธ ํ•จ์ˆ˜: (00007FF6F187302) 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76 (00007FF6F187303) CA 82 ...๋“ฑ๋“ฑ (์—„์ฒญ ๋งŽ์Œ) ๋‘ ๋ฒˆ์งธ ํ•จ์ˆ˜: (00007FF6F187300) 00 4D 51 50 EF FB C3 CF 92 45 4D CF F5 04 40 50 (00007FF6F187301) 43 63 #include int main(void) { int a, i, j; int arr_1[128]={0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, 0xCA ,0x82 ,0xC9 ,0x7D ,0xFA ,0x59 .. 2023. 11. 1.
(โŠ™_โŠ™)๏ผŸDreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-5 *(unsigned __int8 *)(a1 + i + 1) + *(unsigned __int8 *)(a1 + i) != byte_140003000[i] 00007FF646C8300: AD D8 CB CB 9D 97 CB C4 92 A1 D2 D7 D2 D6 A8 A5 00007FF646C8301: DC C7 AD A3 A1 98 4C 00 *(unsigned __int8 *)(a1 + i + 1) + *(unsigned __int8 *)(a1 + i) != byte_140003000[i] (์ •๋‹ต๋ฌธ์ž์—ด[ i +1] ) + ( ์ •๋‹ต๋ฌธ์ž์—ด[ i ]) == ์ž…๋ ฅ๊ฐ’[ i ] #include int main(void) { int a, i; int arr[0x18]={0xAD, 0xD8, 0xCB, 0xCB, 0x9.. 2023. 11. 1.
Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-4 ์ผ๋‹จ ๋“ค์–ด๊ฐ€์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ์ž…๋ ฅํ•ด๋ดค๋‹ค. IDA๋กœ ์—ด์–ด๋ดค๋‹ค. sub_120001000ํ•จ์ˆ˜์— ์˜ํ•ด ์ž…๋ ฅ ๊ฐ’์˜ ์ฐธ ๊ฑฐ์ง“์ด ํŒ๋‹จ๋œ๋‹ค. ๋“ค์–ด๊ฐ€๋ณด์ž. ๋“ค์–ด๊ฐ€๋ณด๋‹ˆ๊นŒ ๋ณต์žกํ•˜๋‹ค. 0x1C๋ฒˆ ๋ฌธ์ž๋ฅผ ๋น„๊ตํ•˜๋ผ๋‹ˆ๊นŒ ์•„๋งˆ๋„ ์ž…๋ ฅ๊ฐ’์€ 0x1C๊ฐœ์˜ ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์ฉŒ๊ตฌ์ €์ฉŒ๊ตฌ ๊ณ„์‚ฐํ•ด์„œ ๊ฐ™์ง€ ์•Š์œผ๋ฉด return 0 ์ฆ‰ ๊ฑฐ์ง“์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋‹ˆ๊นŒ !=๊ฐ€ ์•„๋‹ˆ๋ผ =๊ฐ€ ๋˜๊ฒŒ ํ•ด์ค˜์•ผ ๋ ๋“ฏ! ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด์คฌ๋‹ค. Input ๋ฌธ์ž์—ด ์ฐธ์กฐํ•ด ๋ฉ”์ธํ•จ์ˆ˜๋กœ ๋“ค์–ด๊ฐ€์คฌ๋‹ค. ์ด์ „ ๋ฌธ์ œ๋“œ๋กœ๊ฐ€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ test, je ์ง์ „ ํ•จ์ˆ˜๊ฐ€ ์ค‘์š”ํ•˜๊ฒ ๋‹ค. ํ•จ์ˆ˜๋กœ ๋“ค์–ด๊ฐ€ ๋ดค๋‹ค. rac๋ฅผ ์ด์šฉํ•ด compare ๋ช…๋ น์–ด๋กœ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ๋ช‡ ๋ฒˆ์งธ ๋ฌธ์ž์ธ์ง€ ์ฒดํฌํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ๋ฐ‘์œผ๋กœ ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๊ฐ€ ๋ณด์ธ๋‹ค. ๋ชฐ๋ž๋˜ ๋ช…๋ น์–ด๋ฅผ ๊ธฐ๋กํ•ด๋ณด๋ฉด sar๋Š” ๋ถ€ํ˜ธ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด.. 2023. 11. 1.
Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-3 cmd๋กœ ์‹คํ–‰์‹œ์ผœ ์•„๋ฌด ์ˆซ์ž๋‚˜ ๋„ฃ์–ด๋ณธ๋‹ค. ๊ธฐ์ ์€ ์ผ์–ด๋‚˜์ง€ ์•Š์•˜๋‹ค..ใ…Žใ…Ž IDA๋กœ ๋จผ์ € ์—ด์–ด์ค€๋‹ค. ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ ๋ฐ›์•„ ํ•จ์ˆ˜๋กœ ์ฐธ๊ฑฐ์ง“์„ ํŒ๋ณ„ํ•ด Correct๋‚˜ Wrong์„ ์ถœ๋ ฅํ•œ๋‹ค. sub_140001000 ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ํ•จ์ˆ˜์ธ์ง€ ๋”๋ธ” ํด๋ฆญํ•ด ์•Œ์•„๋ณธ๋‹ค. ๋ณต์žกํ•ด๋ณด์ธ๋‹ค. 0x18๋ฒˆ ์–ด๋–ค ๋ฌธ์ž์—ด ๋น„๊ต๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. byte_140003000[i]๋Š” ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์ธ ๊ฒƒ ๊ฐ™๊ณ  ์˜ค๋ฅธ์ชฝ์€ ์ข€ ๋” ๋ณด๊ธฐ ์ข‹๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ( i ^ ์ •๋‹ต๋ฌธ์ž์—ด[ i ]) + 2 * i ) ์ด๋‹ค. ์ฆ‰ ์ •๋‹ต ๋ฌธ์ž์—ด์„ ์ˆœ์„œ๋Œ€๋กœ 0๋ฒˆ๋ถ€ํ„ฐ 23๋ฒˆ๊นŒ์ง€(0x18=24) ๋ฐ˜๋ณต ํšŸ์ˆ˜์ธ i์™€ XOR ์—ฐ์‚ฐํ•œ ๋’ค 2 * i๋ฅผ ๋”ํ•ด์ค€ ๊ฒƒ์ด input ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ๋„ ์—ด์–ด๋ณด์ž. ๋ฌธ์ž์—ด ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด input ๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ„ ๋ถ€๋ถ„์„ ์ฐธ์กฐํ•˜๋ฉด ๋ฉ”์ธ.. 2023. 10. 31.
Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-2 IDA์— ๋„ฃ๊ณ  F5 ๋ˆŒ๋Ÿฌ ์‹คํ–‰์‹œ์ผœ๋ณด๋ฉด ์œ„์˜ ํ™”๋ฉด์ด ๋œธ. ์ž…๋ ฅ ๊ฐ’ ๋ฐ›์•„์„œ sub_140001000 ํ•จ์ˆ˜์— ๋„ฃ์€ ๋‹ค์Œ ์ฐธ์ด๋ฉด Correct, ๊ฑฐ์ง“์ด๋ฉด Wrong ์ถœ๋ ฅ. ์ € sub_140001000 ํ•จ์ˆ˜๊ฐ€ ๋ญ”์ง€ ๊ถ๊ธˆํ•˜๋‹ˆ๊นŒ ๋“ค์–ด๊ฐ€์„œ ์•Œ์•„๋ณด์ž. ํ•จ์ˆ˜ ๋”๋ธ” ํด๋ฆญํ•ด์„œ ๋“ค์–ด๊ฐ€๋ฉด ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ž„. for๋ฌธ์ด ๋ณด์ธ๋‹ค. i๊ฐ€ 0๋ถ€ํ„ฐ 0x12 ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ 18๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ i++๋˜๋‹ˆ๊นŒ ํ•œ ๋งˆ๋””๋กœ 18๋ฒˆ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐ˜๋ณตํ•˜๋ผ๋Š” ์ด์•ผ๊ธด๋ฐ, ๋ญ˜ ๋ฐ˜๋ณตํ•˜๋Š”์ง€ for๋ฌธ ์•ˆ์„ ๋ณด๋‹ˆ๊นŒ !=๊ฐ€ ๋ณด์ธ๋‹ค. ๋‘ ๊ฐœ๋ฅผ ๋น„๊ตํ•ด์„œ ๋‹ค๋ฅด๋ฉด return 0ํ•˜๊ณ  ๊ฐ™์œผ๋ฉด return1 ํ•˜๋ž€๋‹ค. ๋ฐ˜ํ™˜๊ฐ’์ด 0์ด๋ฉด ๊ฑฐ์ง“, 0์ด ์•„๋‹ˆ๋ฉด ์ฐธ์ด๋‹ˆ๊นŒ ๋น„๊ตํ•˜๋Š” ์ € ๋‘˜์ด ๊ฐ™์•„์•ผ ํ•œ๋‹ค. ๋‘ ๋น„๊ต ๋Œ€์ƒ์„ ๋ณด๋‹ˆ ๋ฌธ์ž์™€ ์—ฐ๊ด€์ด ์žˆ์–ด ๋ณด์ธ๋‹ค. ๋ฌธ์ž๋Š” 1byte, 4bit๋‹ˆ๊นŒ &a.. 2023. 10. 31.
๊ธฐํƒ€ ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: easy-crackme1 ๋ฌธ์ œ ์ดํ•ดcmd ์ฐฝ์„ ์—ด์–ด easy crackme1 ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด๋ณธ๋‹ค."input: " ๋’ค์— ์ˆซ์ž ๋‘ ๊ฐœ๋ฅผ ์ž…๋ ฅ ๋ฐ›์€ ๋’ค์— " Wrong"์ด ์ถœ๋ ฅ ๋๋‹ค. ๋”ฐ๋ผ์„œ Wrong์ด ๋‚˜์˜ค์ง€ ์•Š๋Š” ์ˆซ์ž 2๊ฐœ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.๋ฌธ์ œ ๊ณ„ํšX64 Debuger๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์—ด์–ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ธ์ง€ ๋ถ„์„ํ•  ์ค€๋น„๋ฅผ ํ•œ๋‹ค."Wrong"์ด๋‚˜ "Input" ๊ด€๋ จ ๋ช…๋ น์–ด๊ฐ€ ์–ด๋”” ์žˆ๋Š”์ง€ ์ฐพ์•„ main ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์•Œ์•„๋‚ธ๋‹ค."Wrong" ๋˜๋Š” "Correct"๋ฅผ ๊ฒฐ์ •์ง“๋Š” ์ฝ”๋“œ, ๋˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ธ๋‹ค.๊ทธ ๊ฒฐ์ •์ง“๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ์–ด๋–ค ๊ฐ’์„ ์ž…๋ ฅํ•ด์•ผ ์ถœ๋ ฅ๊ฐ’์ด "Correct"๊ฐ€ ๋˜๋Š”์ง€ ์•Œ์•„๋‚ธ๋‹ค.ida๋กœ ์ถ”์ธกํ•œ ์ฝ”๋“œ๊ฐ€ ๋งž๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.๋ฌธ์ œ ์‹คํ–‰X64 Debuger๋กœ ๋ฌธ์ œ ํŒŒ์ผ์„ ์—ด์–ด์ค€๋‹ค. ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ธ๋‹ค.์•„๋Š” ๊ฒƒ์€ ์ž….. 2023. 10. 9.
Dreamhack ๋ฆฌ๋ฒ„์‹ฑ ๋ฌธ์ œํ’€์ด: rev-basic-1 ๋ฌธ์ œ ์ดํ•ด ๋“œ๋ฆผํ•ต ์›Œ๊ฒŒ์ž„ ๋ฆฌ๋ฒ„์‹ฑ ๋ถ„์•ผ์—์„œ rev-basic-1 ๋ฌธ์ œ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์ค€๋‹ค. [์œˆ๋„์šฐ+R] ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  cmd ์ฐฝ์„ ์—ด์–ด์ค€๋‹ค. "cd (๋‚ด๊ฐ€ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ ์ฃผ์†Œ)" ์ž…๋ ฅํ•˜๊ณ  "(์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ).exe"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์œ„ ํ™”๋ฉด์ฒ˜๋Ÿผ "Input : "์ด ๋œฌ๋‹ค. ์•„๋ฌด ์ˆซ์ž๋‚˜ ์ž…๋ ฅํ•ด์คฌ๋”๋‹ˆ "Wrong"์ด ๋–ด๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ •๋‹ต์ด ๋˜๋Š” ํŠน์ • ๋ฌธ์ž๋‚˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ ๊ณ„ํš X64 Debuger๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์—ด์–ด ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ธ์ง€ ๋ถ„์„ํ•  ์ค€๋น„๋ฅผ ํ•œ๋‹ค. "Wrong"์ด๋‚˜ "Input" ๊ด€๋ จ ๋ช…๋ น์–ด๊ฐ€ ์–ด๋”” ์žˆ๋Š”์ง€ ์ฐพ์•„ main ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์•Œ์•„๋‚ธ๋‹ค. "Wrong" ๋˜๋Š” "Correct"๋ฅผ ๊ฒฐ์ •์ง“๋Š” ์ฝ”๋“œ, ๋˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ธ๋‹ค. ๊ทธ ๊ฒฐ์ •์ง“๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ์–ด๋–ค ๊ฐ’์„ ์ž…๋ ฅํ•ด์•ผ ์ถœ๋ ฅ๊ฐ’์ด .. 2023. 10. 9.