Skip to content

Latest commit

ย 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”“ ์—‘์…€ ๋ณดํ˜ธ ํ•ด์ œ๊ธฐ (Unlocker for Excel Sheet)

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žŠ์–ด๋ฒ„๋ ค ํŽธ์ง‘ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๋‚ด ์—‘์…€ ํŒŒ์ผ์˜ ์‹œํŠธ/ํ†ตํ•ฉ๋ฌธ์„œ ๋ณดํ˜ธ์™€ ์—ด๊ธฐ ์•”ํ˜ธ๋ฅผ ํ•ด์ œํ•ด ์ฃผ๋Š” Windows ๋ฐ์Šคํฌํ†ฑ ์•ฑ์ž…๋‹ˆ๋‹ค.

release platform dotnet downloads


๐Ÿ“ธ ์Šคํฌ๋ฆฐ์ƒท

์—‘์…€ ๋ณดํ˜ธ ํ•ด์ œ๊ธฐ ๋ฉ”์ธ ํ™”๋ฉด


โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์—‘์…€ "๋ณดํ˜ธ"๋ฅผ ํ•œ ๋ฒˆ์— ํ•ด์ œ
  • ์ผ๊ด„ ์ฒ˜๋ฆฌ โ€” ์—ฌ๋Ÿฌ ํŒŒ์ผ์ด๋‚˜ ํด๋”๋ฅผ ํ•œ๊บผ๋ฒˆ์— ํ์— ๋„ฃ์–ด ์ˆœ์ฐจ ํ•ด์ œ
  • ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ โ€” ํŒŒ์ผ/ํด๋”๋ฅผ ์ฐฝ์— ๋Œ์–ด๋‹ค ๋†“์œผ๋ฉด ๋ฐ”๋กœ ์ถ”๊ฐ€
  • ์›๋ณธ ๋ณด์กด โ€” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›๋ณธ๋ช…_unlocked.xlsx ๋กœ ์ €์žฅ(์›๋ณธ์€ ๊ทธ๋Œ€๋กœ). ์˜ต์…˜์œผ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ ์„ ํƒ ๊ฐ€๋Šฅ
  • ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ + ์ง„ํ–‰๋ฅ  โ€” ํฐ ํŒŒ์ผ์—์„œ๋„ ํ™”๋ฉด์ด ๋ฉˆ์ถ”์ง€ ์•Š์Œ
  • ๊ฒฐ๊ณผ ๋กœ๊ทธ / ํŒŒ์ผ๋ณ„ ์ƒํƒœ ํ‘œ์‹œ
  • ์ž๋™ ์—…๋ฐ์ดํŠธ ํ™•์ธ โ€” GitHub Releases ์—์„œ ์ƒˆ ๋ฒ„์ „์„ ๊ฐ์ง€ํ•ด ์•Œ๋ฆผ

ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋Š” ๋ณดํ˜ธ ์ข…๋ฅ˜

๋ณดํ˜ธ ์ข…๋ฅ˜ ์„ค๋ช… ์ง€์›
์‹œํŠธ ๋ณดํ˜ธ (Sheet protection) ์…€ ํŽธ์ง‘ ์ž ๊ธˆ (sheetProtection) โœ…
ํ†ตํ•ฉ๋ฌธ์„œ ๋ณดํ˜ธ (Workbook protection) ์‹œํŠธ ์ถ”๊ฐ€/์‚ญ์ œ/์ด๋™ ์ž ๊ธˆ (workbookProtection) โœ…
์“ฐ๊ธฐ ์˜ˆ์•ฝ ์•”ํ˜ธ (Write reservation) ์ฝ๊ธฐ ์ „์šฉ ๊ถŒ์žฅ / ์ˆ˜์ • ์•”ํ˜ธ (fileSharing) โœ…
์—ด๊ธฐ ์•”ํ˜ธ (ํŒŒ์ผ ์ „์ฒด ์•”ํ˜ธํ™”) ํŒŒ์ผ์„ ์—ด ๋•Œ ์š”๊ตฌํ•˜๋Š” ์•”ํ˜ธ (AES ์•”ํ˜ธํ™”) โ€” ์•”ํ˜ธ ์ž…๋ ฅ ์‹œ ๋ณตํ˜ธํ™” โœ…
VBA ํ”„๋กœ์ ํŠธ ์•”ํ˜ธ ๋งคํฌ๋กœ ํŽธ์ง‘๊ธฐ ์ž ๊ธˆ โณ ์˜ˆ์ •

์ง€์› ํŒŒ์ผ ํ˜•์‹

ํ˜•์‹ ์ง€์›
.xlsx (ํ†ตํ•ฉ๋ฌธ์„œ) โœ…
.xlsm (๋งคํฌ๋กœ ํฌํ•จ) โœ…
.xltx / .xltm (์„œ์‹ ํŒŒ์ผ) โœ…
.xls (97โ€“2003 ๋ ˆ๊ฑฐ์‹œ) ๐Ÿ”Ž ๊ฐ์ง€ ํ›„ ์•ˆ๋‚ด (ํ•ด์ œ๋Š” ์˜ˆ์ •)

๐Ÿš€ ๋‹ค์šด๋กœ๋“œ & ์‹คํ–‰

  1. ์ตœ์‹  ๋ฆด๋ฆฌ์ฆˆ ์—์„œ Unlocker_For_ExcelSheet-win-x64.exe ๋ฅผ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (๋ณ„๋„ ์„ค์น˜ ๋ถˆํ•„์š” โ€” ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ, .NET ๋Ÿฐํƒ€์ž„ ํฌํ•จ)
  3. Windows SmartScreen ๊ฒฝ๊ณ ๊ฐ€ ๋œจ๋ฉด ์ถ”๊ฐ€ ์ •๋ณด โ†’ ์‹คํ–‰ ์„ ๋ˆŒ๋Ÿฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์•ฑ ๋‚ด [์—…๋ฐ์ดํŠธ ํ™•์ธ] ๋ฒ„ํŠผ์œผ๋กœ ์ƒˆ ๋ฒ„์ „์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์ƒˆ ๋ฒ„์ „์ด ์žˆ์œผ๋ฉด ์‹œ์ž‘ ์‹œ ํ•˜๋‹จ ์ƒํƒœ์ค„์— ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


๐Ÿ“– ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. [ํŒŒ์ผ ์ถ”๊ฐ€] ๋˜๋Š” [ํด๋” ์ถ”๊ฐ€] ๋กœ ์—‘์…€ ํŒŒ์ผ์„ ํ์— ๋„ฃ์Šต๋‹ˆ๋‹ค. (์ฐฝ์— ๋“œ๋ž˜๊ทธ๋„ ๊ฐ€๋Šฅ)
  2. ํ•„์š”ํ•˜๋ฉด [์›๋ณธ ๋ฎ์–ด์“ฐ๊ธฐ] ๋ฅผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. (๊ธฐ๋ณธ๊ฐ’: ์›๋ณธ ๋ณด์กด, *_unlocked ๋กœ ์ €์žฅ)
  3. [ํ•ด์ œ ์‹œ์ž‘] ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
  4. ์—ด๊ธฐ ์•”ํ˜ธ๊ฐ€ ๊ฑธ๋ฆฐ ํŒŒ์ผ์€ ์ฒ˜๋ฆฌ ์ค‘ ์•”ํ˜ธ ์ž…๋ ฅ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค. (์•”ํ˜ธ๋ฅผ ์•Œ์•„์•ผ ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅ)
  5. ์™„๋ฃŒ๋˜๋ฉด [๊ฒฐ๊ณผ ํด๋” ์—ด๊ธฐ] ๋กœ ๊ฒฐ๊ณผ ํŒŒ์ผ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ ๋™์ž‘ ์›๋ฆฌ

.xlsx/.xlsm ๋“ฑ OOXML ํŒŒ์ผ์€ ๋‚ด๋ถ€๊ฐ€ ZIP + XML ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด ์•ฑ์€:

  1. ์›๋ณธ์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๋„๋ก ์ž„์‹œ ํด๋”์— ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๊ณ ,
  2. ๋‚ด๋ถ€ XML(xl/worksheets/*.xml, xl/workbook.xml)์„ XML ํŒŒ์„œ๋กœ ์ •ํ™•ํžˆ ๋ถ„์„ํ•ด sheetProtection ยท workbookProtection ยท fileSharing ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ ๋’ค,
  3. ์„ฑ๊ณตํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์—ด๊ธฐ ์•”ํ˜ธ๋กœ ์•”ํ˜ธํ™”๋œ ํŒŒ์ผ์€ ZIP ์ด ์•„๋‹ˆ๋ผ CFB(OLE2) ์ปจํ…Œ์ด๋„ˆ + AES ์•”ํ˜ธํ™” (ECMA-376) ์ด๋ฏ€๋กœ, ์ž…๋ ฅํ•œ ์•”ํ˜ธ๋กœ ๋ณตํ˜ธํ™”ํ•œ ๋’ค ์œ„ ๊ณผ์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. (๋ณตํ˜ธํ™”์—๋Š” NPOI ์‚ฌ์šฉ)


๐Ÿ› ๏ธ ์†Œ์Šค์—์„œ ๋นŒ๋“œ

# ์š”๊ตฌ: .NET 9 SDK, Windows
git clone https://github.com/BaeTab/Unlocker_For_ExcelSheet.git
cd Unlocker_For_ExcelSheet

# ์‹คํ–‰
dotnet run --project Unlocker_For_ExcelSheet

# ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ(์ž์ฒด ํฌํ•จ) ๊ฒŒ์‹œ
dotnet publish Unlocker_For_ExcelSheet/Unlocker_For_ExcelSheet.csproj \
  -c Release -r win-x64 --self-contained true \
  -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true

โš ๏ธ ์ฃผ์˜ (์ •๋‹นํ•œ ์šฉ๋„)

์ด ๋„๊ตฌ๋Š” ๋ณธ์ธ์ด ์†Œ์œ ํ–ˆ๊ฑฐ๋‚˜ ํ•ด์ œ ๊ถŒํ•œ์ด ์žˆ๋Š” ํŒŒ์ผ์˜ ์žŠ์–ด๋ฒ„๋ฆฐ ๋ณดํ˜ธ๋ฅผ ํ‘ธ๋Š” ์šฉ๋„์ž…๋‹ˆ๋‹ค. ํƒ€์ธ์˜ ํŒŒ์ผ์ด๋‚˜ ๊ถŒํ•œ ์—†๋Š” ํŒŒ์ผ์˜ ๋ณดํ˜ธ๋ฅผ ๋ฌด๋‹จ์œผ๋กœ ํ•ด์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ์—ด๊ธฐ ์•”ํ˜ธ๋ฅผ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์˜ ๋ณต๊ตฌ(๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋“ฑ)๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๐Ÿงฐ ๊ธฐ์ˆ  ์Šคํƒ

  • .NET 9 / WinForms (C#)
  • System.IO.Compression (OOXML ZIP ํŽธ์ง‘), System.Xml.Linq (XML ์ˆ˜์ˆ )
  • NPOI (์—ด๊ธฐ ์•”ํ˜ธ ๋ณตํ˜ธํ™”)

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT

๐Ÿ™Œ ๊ธฐ์—ฌ

์ด์Šˆ ยท PR ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

About

๐Ÿ”“ ์—‘์…€ ์‹œํŠธยทํ†ตํ•ฉ๋ฌธ์„œ ๋ณดํ˜ธ ๋ฐ ์—ด๊ธฐ ์•”ํ˜ธ๋ฅผ ํ•ด์ œํ•˜๋Š” Windows ๋ฐ์Šคํฌํ†ฑ ์•ฑ (.NET 9 WinForms)

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages