์ƒˆ์†Œ์‹

IT & Security/Reversing

[๋ฆฌ๋ฒ„์‹ฑ] ํŒจํ‚น, ์–ธํŒจํ‚น, ํŒจ์ปค!?

  • -
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜ ํฌ์ŠคํŒ…์—์„œ๋Š” 'ํŒจํ‚น', '์–ธํŒจํ‚น', 'ํŒจ์ปค' ๋“ฑ์˜ ๊ฐœ๋…์„ ๋‹ค๋ฃจ๊ณ  ์••์ถ• ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

 

์••์ถ•์—๋Š” ๋น„์†์‹ค ์••์ถ•, ์†์‹ค ์••์ถ• ์ด ๋‘๊ฐ€์ง€ ์••์ถ•์ด ์กด์žฌํ•œ๋‹ค.

 


 

๋น„์†์‹ค ์••์ถ•์ด๋ž€?

ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์„œ ๋ณด๊ด€ ๋ฐ ์ด๋™์— ์šฉ์ดํ•˜๋„๋ก ํ•˜๋ ค๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ด ์••์ถ• ๋ฐฉ์‹์€ ํฌ๊ธฐ๋งŒ ์ค„์ผ ๋ฟ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 100% ๋ณต์›์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋Œ€์‹ ! ์ด ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ์••์ถ•์„ ํ•ด์ œํ•œ ํ›„์— ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ , ์••์ถ•ํ•ด์ œ๋ฅผ ํ†ตํ•ด ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ 100% ๋ณต๊ตฌ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

(์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ์žˆ๋Š” ์••์ถ• zip์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋„ ๋ ๊ฒƒ ๊ฐ™๋‹ค.)

 

์†์‹ค ์••์ถ•์ด๋ž€?

ํŒŒ์ผ์— ์˜๋„์ ์ธ ์†์ƒ์„ ์ฃผ์–ด์„œ ๊ทธ ๋Œ€๊ฐ€๋กœ ์••์ถ•๋ฅ ์„ ๋†’์ด๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๋Š” ์••์ถ•์„ ๋œปํ•œ๋‹ค.

์ด ์••์ถ•์€ ์˜๋„์ ์ธ ์†์ƒ์„ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์••์ถ• ํ•ด์ œ์‹œ 100% ์›๋ž˜๋Œ€๋กœ ๋ณต์›ํ•  ์ˆ˜ ์—†๋‹ค.

์••์ถ• ํŒŒ์ผ ๊ทธ ์ž์ฒด๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์ด ์••์ถ•์— ํŠน์ง•์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 


์˜ค๋Š˜ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์Šตํ•ด๋ณผ ๊ฒƒ์€ 'ํŒจํ‚น'์ด๋ผ๋Š” ์••์ถ•์˜ ํ•œ์ข…๋ฅ˜๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ,

ํŒจํ‚น์€ ์‹คํ–‰ ์••์ถ•์„ ์˜๋ฏธํ•œ๋‹ค.

 

 

 

ํŒจํ‚น์ด๋ž€? 

ํŒจํ‚น(Packing)์ด๋ž€ ์‹คํ–‰ ์••์ถ•์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š” ์••์ถ•(Zip, RAR)๊ณผ ๊ฐ™์€ ์••์ถ•์€ ๊ทธ ์••์ถ•์„ ํ•ด์ œ ์‹œ์ผœ์•ผ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œํ‚ฌ ์ˆ˜๊ฐ€ ์žˆ์ง€๋งŒ, ๊ทธ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ packing์€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ ์ฒ˜๋Ÿผ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰ ํŒจํ‚น์€ ํ•˜๋˜(์••์ถ•๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋„๋จ) ์••์ถ• ํ‘ธ๋Š” ๊ณผ์ €์ด ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ฐ”๋กœ ์‹คํ–‰ ์••์ถ• ์ฆ‰ ํŒจํ‚น์ด๋ผ๊ณ  ๋ช…์นญํ•œ๋‹ค.

 

 

 

์‹คํ–‰์••์ถ•์€  ์™œ ์“ธ๊นŒ?

https://cafe.naver.com/totallab/book58746/793

 

 

์ด๋ ‡๊ฒŒ ํŒจํ‚น(์‹คํ–‰ ์••์ถ•)์€ ๋ฐ์ดํ„ฐ ์••์ถ•(ํ”„๋กœ๊ทธ๋žจ ํฌ๊ธฐ ์ค„์ด๊ธฐ)์˜ ๋ชฉ์ ๋„ ์žˆ๊ณ , 

 

์•…์„ฑ ์ฝ”๋“œ์—์„œ๋Š” ์ž‘์€ ์šฉ๋Ÿ‰์œผ๋กœ ๋น ๋ฅด๊ฒŒ ๋งŽ์ด ํผ์ง€๊ฒŒ ํ•˜์—ฌ, ๋ถ„์„์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๊ฒŒ๋” ๋งŒ๋“œ๋Š” ๋ชฉ์ ์œผ๋กœ ์“ฐ์ด๊ธฐ๋„ ํ•œ๋‹ค.

 

 


 

์‹คํ–‰์••์ถ• ํ•ด์ œ์˜ ๊ธฐ๋ณธ์›๋ฆฌ

๊ทธ๋Ÿผ ์ด์ œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์‹คํ–‰์••์ถ•์„ ํ•ด์ œํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์•Œ์•„๋ณด์ž.

๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•œ ๊ฑด"๊ฒฐ๊ณผ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰๋ผ์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

 

"์•„๋ฌด๋ฆฌ ์••์ถ•์„ ํ•˜๊ณ , ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋”๋ผ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ์•„๋ฌด๋Ÿฐ ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์œผ๋กœ ์ค‘์š”ํ•œ ๊ฑด"์‹คํ–‰ ๋Œ€์ƒ์ด ๋  ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ณธ๊ตฌ์กฐ ์ž์ฒด๋Š” ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

(์ฆ‰ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋ฐ”๋€Œ์ง€ ์•Š์ง€๋งŒ, ๊ทธ ๋‚ด์šฉ์€ ๋ณ€๊ฒฝ์ด ๋  ์ˆ˜ ์žˆ์Œ)

 

์ด ๋‚ด์šฉ์„ ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ์œผ๋กœ ๋ฐ”๊พธ๋ฉด, ๊ธฐ๋ณธ์›๋ฆฌ๋Š” ์‹คํ–‰์••์ถ• ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ์–ด๋Š ์‹œ์ ์—์„œ๋Š” ์••์ถ•๋˜๊ธฐ ์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋ฉฐ, ๊ทธ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ Dump(๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ํŒŒ์ผ๋กœ ์ €์žฅ)ํ•˜๊ณ , Entry Point๋ฅผ ์••์ถ•ํ•˜๊ธฐ ์ „ ์œ„์น˜๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๋Š” ์ ์ด๋‹ค.

 

ํŠนํžˆ ์–ด๋Š ์‹œ์ ์„ OEP(Original Entry Point)๋ผ๊ณ  ํ•˜๋ฉฐ, PEP(Packed Entry Point, ์‹คํ–‰์••์ถ• ๋œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ฝ”๋“œ์œ„์น˜)์™€ ๋น„๊ตํ•œ๋‹ค. ์ด OEP๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์‹คํ–‰์••์ถ• ํ•ด์ œ๋Š” ์•„์ฃผ ์‰ฝ๊ฒŒ ์ด๋ฃจ์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ œ UPX ์‹คํ–‰์••์ถ•์„ ์‚ฌ์šฉํ•œ ํŒŒ์ผ์„ ์˜ˆ๋กœ ๋“ค์–ด ์„ค๋ช…ํ•ด ๋ณด๊ฒ ๋‹ค. ๋จผ์ € UPX๋กœ ์‹คํ–‰ ์••์ถ•๋œ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ UPX1์— PEP๊ฐ€ ์žˆ์–ด UPX1์ด ์‹คํ–‰๋œ๋‹ค.

 

UPX1์˜ Unpacker ๋ฃจํ‹ด์ด ๋๋‚˜๋ฉด EIP๊ฐ€ UPX0์˜ ์–ด๋Š ๋ถ€๋ถ„์„ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค. ์ฆ‰ ์ด ๋ถ€๋ถ„์ด OEP์ด๋‹ค. ๊ทธ๋ž˜์„œ EIP ๊ฐ’์„ ๊ฒ€์‚ฌํ•˜๋‹ค๊ฐ€ UPX1์—์„œ UPX0๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ ํ”„๋กœ๊ทธ๋žจ ์ž‘๋™์„ ๋ฉˆ์ถ”๋ฉด ๋œ๋‹ค.

 

 

 

PE๊ตฌ์กฐ ์•Œ์•„๋ณด๊ธฐ

์‹คํ–‰์••์ถ•์— ๋Œ€ํ•ด ๋ถ„์„ํ•˜๊ธฐ ์ „์— ๋จผ์ € PE๊ตฌ์กฐ ๋ฐ ์‹คํ–‰์••์ถ•์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์•Œ์•„๋ณด์ž.

PE ํŒŒ์ผ์€ Dos Header, Dos Stub code, PE Header, Section Header ๊ทธ๋ฆฌ๊ณ  Section์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

ํŠนํžˆ PE ํŒŒ์ผ์—์„œ์˜ ํ—ค๋”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

IMAGE_DOS_HEADER, IMAGE_NT_HEADERS, IMAGE_SECTION_HEADER

 

 

์œ— ๋‚ด์šฉ๋“ค ์ถœ์ฒ˜ : blog.naver.com/magu2564/130088945391

 

 

 


 

์—ฌ๊ธฐ๊นŒ์ง€ "ํŒจํ‚น" ์„ ์•Œ์•„๋ดค๋Š”๋ฐ์š”, ์‰ฝ๊ฒŒ ๊ทธ๋ƒฅ ํ’€์–ด์„œ ์จ๋†“์€ ํŒŒ์ผ์ด ์•„๋ž˜ ํŒŒ์ผ์ด๋‹ˆ ์ฐธ๊ณ ํ•ด๋ณด์‹œ๋ฉด ์ดํ•ด๊ฐ€

์กฐ๊ธˆ ๋น ๋ฅผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋„ค์š”.

 

 

ํŒจํ‚น.txt
0.00MB

 

 


 

 

๋”๋ณด๊ธฐ

@ ํŒจํ‚น(Packing)

 

 - ์‹คํ–‰ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•˜๊ฑฐ๋‚˜, ์••์ถ•ํ•˜์—ฌ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณผ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” ๊ฒƒ

 - ์••์ถ•์„ ํ•˜๋ฉด ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ , ์‹คํ–‰์†๋„๊ฐ€ ๋นจ๋ผ์ง(์‚ฌ์šฉ์ž ์ธก๋ฉด์—์„œ๋„ ์œ ๋ฆฌํ•˜์ง€๋งŒ, ์•…์„ฑ์ฝ”๋“œ ์œ ํฌ์‹œ์—๋„ ์œ ๋ฆฌํ•˜๊ฒŒ ์ž‘์šฉ)

 - ๋ถ„์„ํ•˜๊ธฐ์— ์–ด๋ ค์›€์ด ์กด์žฌํ•จ(์–ธํŒจํ‚น์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—)

 

@ ์–ธํŒจํ‚น(Unpacking)

 

 - ํŒจํ‚น๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ™”๋‚˜ ์••์ถ•์„ ํ‘ธ๋Š” ํ–‰์œ„

 

@ ํŒจ์ปค(Packer)

 

 - ํŒจํ‚น์„ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ(Compressor, Protector)

 - Compressor : ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ๋ฐฐํฌ๋ฅผ ์‰ฝ๊ฒŒํ•˜๋„๋ก ํ•˜๋Š” ๋ชฉ์ , ์ฃผ๋กœ ์•…์„ฑ์ฝ”๋“œ ์‹คํ–‰์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š”๋ฐ ๋ชฉ์ ์ด ์žˆ๊ณ  ๋Œ€ํ‘œ์ ์œผ๋กœ UPX, FSG ๋“ฑ์ด ์žˆ๋‹ค.

   -> UPX(Ultimate Paker eXecutables) : ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ์—์„œ ์ˆ˜๋งŽ์€ ํŒŒ์ผ ํฌ๋ฉง์„ ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ์‹คํ–‰ ํŒŒ์ผ ์••์ถ• ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์••์ถ•๊ณผ ์••์ถ•ํ•ด์ œ ๊ธฐ๋Šฅ

 - Protector : ์‹คํ–‰ํŒŒ์ผ์„ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ , ํฌ๊ธฐ๋Š” ๋Š˜์–ด๋‚˜์ง€๋งŒ Anti-Reversing ๊ธฐ๋ฒ• ์ ์šฉ๋˜์–ด ์–ธํŒจํ‚น์ด ๊นŒ๋‹ค๋กญ๊ณ , ์ฝ”๋“œ ๊ฐ€์ƒํ™” ๊ธฐ๋ฒ•๊ณผ ๋‚œ๋…ํ™”์— ์–ด๋ ค์›€



์ถœ์ฒ˜ : itinformation.tistory.com/58

 


 

์ฐธ๊ณ  ์ฃผ์†Œ ๋ฐ ํ•„์š” ์ž๋ฃŒ โ–ผ

๋”๋ณด๊ธฐ

 

 

๊ธ€์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋Š” ๊ด€๊ณ„๋กœ ํŒจํ‚น ์‹ค์Šต ๊ธ€์„ ๋”ฐ๋กœ ์˜ฌ๋ฆฌ๋„๋ก ํ• ๊ป˜์š”~

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.