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

๋ฆฌ๋ฒ„์‹ฑ3

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.
๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง: ์–ด์…ˆ๋ธ”๋ฆฌ (๋ ˆ์ง€์Šคํ„ฐ, ์˜ต์ฝ”๋“œ) ๊นŒ๋ง‰๋ˆˆ์ด๋‹ค.ใ‚ท์ง€๊ธˆ๋ถ€ํ„ฐ ๋ณด์•ˆ ๊ด€๋ จ ๋™์•„๋ฆฌ ํ™œ๋™ ๋ฐ ์ฑ…์„ ํ†ตํ•ด ๋ฐฐ์šด ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๊ณต๋ถ€ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ ์ž ํ•œ๋‹ค.์˜ค๋Š˜์€ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์— ํ•„์š”ํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ ๊ด€๋ จ ์ง€์‹์„ ์ •๋ฆฌํ–ˆ๋‹ค.'๊ฐ•๋ณ‘ํƒ, ใ€Ž๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ”์ด๋ธ”: ์ฝ”๋“œ ์žฌ์ฐฝ์กฐ์˜ ๋ฏธํ•™ใ€, ์œ„ํ‚ค๋ถ์Šค, 2014, 1p-127p.'์„ ์ฐธ๊ณ ํ–ˆ๋‹ค.๋‚ด์šฉ์€ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ๊ตฌ์กฐ, ๋ ˆ์ง€์Šคํ„ฐ, ์˜ต์ฝ”๋“œ, ์Šคํƒ ์‚ฌ์šฉ ์‹œ ์ฝ”๋“œ ์ˆœ์„œ์ด๋‹ค. ์–ด์…ˆ๋ธ”๋ฆฌ์˜ ์–ธ์–ด ๊ตฌ์กฐ ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€ ๋™์ž‘๋ฐ–์— ํ•˜์ง€ ๋ชปํ•œ๋‹ค์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์ธ IA-32์˜ ๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค."๋ช…๋ น์–ด(์˜ต์ฝ”๋“œ, opcode) + ์ธ์ž(์˜คํผ๋žœ๋“œ,operand)"์˜คํผ๋žœ๋“œ๊ฐ€ ๋‘ ๊ฐœ์ผ ๋•Œ ์•ž์˜ ์˜คํผ๋žœ๋“œ๋ฅผ destination(des), ๋’ค์˜ ์˜คํผ๋žœ๋“œ๋ฅผ source(src)๋กœ ๋ถ€๋ฅธ๋‹ค.  ๋ ˆ์ง€์Šคํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ๋ž€ ๋ฐ์ดํ„ฐ.. 2023. 8. 2.