waffle
์™€ํ”Œ๊ณต์žฅ
waffle
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (72)
    • ๐Ÿ“’ Daily Log (2)
    • ๐Ÿ”จ Dev_BE (5)
      • ๊ฐœ๋…์ •๋ฆฌ (4)
      • ๊ธฐ๋ก (1)
    • ๐Ÿ”จ Dev_FE (4)
    • ๐Ÿ”จ Dev_DB (1)
    • โš™ Dev_Ops (0)
    • ๐Ÿ”ก Lang (2)
      • Python (2)
    • ๐Ÿ’ก ํ”„๋กœ์ ํŠธ (9)
      • Base (1)
      • ์•„๋Œ€๋ฐ€๋งต (8)
    • ๐Ÿƒ๐Ÿป ์™ธ๋ถ€ํ™œ๋™ (2)
      • [ํ”„๋ฆฌ์ฝ”์Šค] ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 7๊ธฐ - BE (2)
    • ๐Ÿ“• [STUDY] ๊ฐœ๋ฐœ (13)
      • [STUDY] ์•Œ๊ณ ๋ฆฌ์ฆ˜ (9)
      • ๋™๊ณ„ ์Šคํ„ฐ๋”” [Do-iT: ์›นํŒฉ] (2021) (4)
    • ๐Ÿ“™ [STUDY] AI (2)
      • Tensorflow (2)
    • ๐Ÿ” ๋ณด์•ˆ,์ •๋ณด๋ณดํ˜ธ (32)
      • CTF (2)
      • ๐Ÿ“˜ [STUDY] ํฌ๋ Œ์‹ (15)
      • ๐Ÿ“˜ [STUDY] ์ทจ์•ฝ์  (4)
      • ๐Ÿ“˜ [STYDY] ๋ฆฌ๋ฒ„์‹ฑ (11)
    • ๐Ÿ“” IT ๋ฒ•๋ฅ  (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • API
  • ๊ฐœ๋ฐœ
  • javascript
  • reversing
  • ์ˆ˜ํ•™_1(์—ฐ์Šต)
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์šฐํ…Œ์ฝ”
  • Weekly
  • JAVA_API
  • ๋ฐฑ์ค€
  • ๋ฌธ์ž์—ด
  • gdb
  • ํ”„๋ฆฌ์ฝ”์Šค
  • ๋ฐ์ผ๋ฆฌ์•Œ๊ณ 
  • dopwn
  • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ_๊ณ ๋“์ 
  • ์•„์ฃผ๋Œ€_์•Œ๊ณ ๋ฆฌ์ฆ˜_๊ต์œก
  • write-up
  • ๊ฐœ๋ฐœ๋ฐฑ์„œ
  • sql
  • ์šฐํ…Œ์ฝ”_7๊ธฐ
  • ์ˆ˜ํ•™_1
  • ์—ฐ์Šต_์ž๋ฃŒ๊ตฌ์กฐ
  • Java
  • ์ž๋ฃŒ๊ตฌ์กฐ
  • til
  • js
  • scrum

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
waffle

์™€ํ”Œ๊ณต์žฅ

[Whois-Internal] "EasyReverseMe" Write-Up
๐Ÿ” ๋ณด์•ˆ,์ •๋ณด๋ณดํ˜ธ/๐Ÿ“˜ [STYDY] ๋ฆฌ๋ฒ„์‹ฑ

[Whois-Internal] "EasyReverseMe" Write-Up

2021. 11. 8. 23:12
728x90

 

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ™”๋ฉด: EasyReverseMe.exe

ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐ”๋กœ ์‹คํ–‰ํ•œ ํ™”๋ฉด์ด๋‹ค. ํŠน์ • ์ˆซ์ž๋ฅผ ๋ฌผ์–ด๋ณด๊ณ , ์ด์— ๋”ฐ๋ฅธ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค

EasyReverseMe.exe - ์ž…๋ ฅ ํ›„ ํ™”๋ฉด

์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์œผ๋ฉด ์•„์‰ฝ๋„ค์š”.. ๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ด๋ฅผ ํ†ตํ•ด ๋‚˜๋Š” ๋‹ค์Œ 2๊ฐ€์ง€๋ฅผ ์œ ์ถ”ํ–ˆ๋‹ค:

 

1) ์ฒซ๋ฒˆ์งธ ํ…์ŠคํŠธ๊ฐ€ ์ฐํžˆ๋Š” ๊ณณ์ด main ํ•จ์ˆ˜์ผ ๊ฒƒ์ด๋‹ค

2) ์ž…๋ ฅ๊ฐ’๊ณผ ํŠน์ • ์ˆซ์ž or ๋‚œ์ˆ˜๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ถ„๋ช… ์กด์žฌํ•  ๊ฒƒ์ด๋‹ค

EasyReverseMe.exe ํŒŒ์ผ์„ x64dbg๋กœ ์—ฐ ํ™”๋ฉด์ด๋‹ค.

์œ„์—์„œ ์ƒ๊ฐํ•œ ๋ฐ”์™€ ๊ฐ™์ด ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ์„  ์ „์ฒด ํ…์ŠคํŠธ๋ฅผ ์กฐํšŒํ–ˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋žจ ๋‚ด ์ „์ฒด ๋ฌธ์ž์—ด

ํ”„๋กœ๊ทธ๋žจ ๋‚ด์˜ ์ „์ฒด ๋ฌธ์ž์—ด๋“ค์„ ํ™•์ธํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ์•„๊นŒ ํ™•์ธํ•œ ์งˆ์˜๋ฌธ๊ณผ ๋ฐ‘์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ž์—ด์ด ์กด์žฌํ•œ๋‹ค.

์šฐ์„  main ํ•จ์ˆ˜๋ถ€ํ„ฐ ํ™•์ธํ•˜๊ณ ์ž ์งˆ์˜๋ฌธ์œผ๋กœ ๋“ค์–ด๊ฐ€ ๋ณด์•˜๋‹ค.

RAX๊ฐ’ ์ž„์˜์ˆ˜์ •

์งˆ์˜๋ฌธ์„ ๋”ฐ๋ผ ๋“ค์–ด๊ฐ„ ๊ฒฐ๊ณผ ์˜ˆ์ƒ๋Œ€๋กœ cmp๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ๊ณณ์ด ์žˆ์—ˆ๋‹ค. ์ž…๋ ฅํ•œ ๊ฐ’์€  EAX ๋ ˆ์ง€์Šคํ„ฐ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๊ณ , ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„๊ต ์ง์ „์— Breakpoint๋ฅผ ๊ฑธ๊ณ  ๋น„๊ตํ•˜๋Š” ๊ฐ’๊ณผ ๊ฐ™์€ ๊ฐ’์ธ 49๋ฅผ EAX๋ ˆ์ง€์Šคํ„ฐ์— ์ž„์˜๋กœ ์ˆ˜์ •ํ•˜์—ฌ ๋งž๋Š” ๊ฐ’์œผ๋กœ ๋น„๊ต๋˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

 

 

'์ˆซ์ž ๋งž์ถ”๊ธฐ' ์กฐ๊ฑด๋ฌธ ํ†ต๊ณผ ๋’ค ํ™”๋ฉด

์กฐ๊ฑด๋ฌธ์„ ์ฐธ์ธ ๊ฒฝ์šฐ๋กœ ํ†ต๊ณผํ•˜๋ฉด ๋ฌด์Šจ ์ƒ๊ฐ์„ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฌป๋Š”๋‹ค. ์•„๋ž˜ "I'm so hungry"๋ผ๋Š” ๋ฌธ์ž์—ด๊ณผ strcmp ํ•จ์ˆ˜๊ฐ€ ํ™•์ธ๋˜๋ฏ€๋กœ ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์ด ์œ„์˜ ๋ฌธ์ž์—ด๊ณผ ๋น„๊ต๋  ๊ฒƒ์ž„์„ ์ถ”์ธกํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๊ทผ๊ฑฐ๋กœ ์ž…๋ ฅ ์ดํ›„์— Breakpoint๋ฅผ ๊ฑธ๊ณ  ๋˜‘๊ฐ™์ด ์ž…๋ ฅํ•˜๋‹ˆ ์‰ฝ๊ฒŒ ๋น„๊ต๊ฐ€ ํ†ต๊ณผ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.

 

'๋ฌธ์ž์—ด ๋งž์ถ”๊ธฐ' ์กฐ๊ฑด๋ฌธ ํ†ต๊ณผ ๋’ค ํ™”๋ฉด

์กฐ๊ฑด๋ฌธ์„ ํ†ต๊ณผํ•œ ๋’ค์—๋Š” rand ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‚œ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. ๋‚œ์ˆ˜๊ฐ’์€ RAX์— ์ €์žฅ๋˜๊ณ , ํ•ด๋‹น ๊ฐ’์„ 'rbp-8' ์œ„์น˜๋กœ ๋ณต์‚ฌํ•œ ๋‹ค์Œ ์ˆซ์ž๋ฅผ ๋งž์ถ”๋ผ๋Š” ๊ธ€์„ ํ‘œ์‹œํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋‚˜๋Š” rand ํ•จ์ˆ˜ ์งํ›„์— breakpoint ๋ฅผ ๊ฑธ๊ณ , ๋ณ€๊ฒฝ๋œ RAX ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ–ˆ๋‹ค.

๋‚œ์ˆ˜์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ํ˜„์žฌ ์ €์žฅ๋œ RAX ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’ ํ™•์ธ (& ๋ณต์‚ฌ)

๋ณต์‚ฌ๋ฅผ ํ•œ ํ›„ ์ž…๋ ฅ์ฐฝ๊นŒ์ง€ ๋‚ด๋ ค๊ฐ”์„ ๋•Œ, ์‹ค์ œ cmd์ฐฝ์—๋Š” ์•„๋ฌด ์ˆซ์ž๋‚˜ ์ž…๋ ฅํ•˜๊ณ ,

cmp๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ค์ œ๋กœ ๊ฐ’์„ ๋น„๊ตํ•˜๋Š” ์ง€์ ์—๋Š” breakpoint๋ฅผ ์„ค์ •ํ•˜์—ฌ RAX๊ฐ’์„ ๋ณ€๊ฒฝํ•œ ๋’ค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ต, ์ •์ƒ์ ์œผ๋กœ ๊ฐ’์„ ๋งž์ถ˜ ๊ฒƒ๊ณผ ๊ฐ™์ด ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜์˜€๋‹ค.

RAX ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’ ๋ณ€๊ฒฝ

์˜ˆ์ธกํ•œ ๋ฐ”์™€ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ ์กฐ์ž‘๋˜์—ˆ๊ณ , ์ด์ œ FLAG๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด print ์ง€์ ์— breakpoint๋ฅผ ๊ฑธ๊ณ  ์ญ‰ ์‹คํ–‰ํ–ˆ๋‹ค.

 

FLAG ์ถœ๋ ฅ

์ด๋ฅผ ํ†ตํ•ด FLAG๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

FLAG:

๋”๋ณด๊ธฐ

0xEE5EBF12

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ” ๋ณด์•ˆ,์ •๋ณด๋ณดํ˜ธ > ๐Ÿ“˜ [STYDY] ๋ฆฌ๋ฒ„์‹ฑ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ DoPwn ] Week1 - "system" Write Up  (0) 2021.11.22
[ DoPwn ] Week1 - "Magic Spell" Write Up  (0) 2021.11.22
[ DoPwn ] Week1 - "Student ID" Write Up  (0) 2021.11.20
[root-me.org] "reversing - PE x86 -0 protection" Write Up  (0) 2021.11.08
[ Assembly ] ์–ด์…ˆ๋ธ”๋ฆฌ ํ•ธ๋“œ๋ ˆ์ด  (0) 2021.10.14
    '๐Ÿ” ๋ณด์•ˆ,์ •๋ณด๋ณดํ˜ธ/๐Ÿ“˜ [STYDY] ๋ฆฌ๋ฒ„์‹ฑ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ DoPwn ] Week1 - "Magic Spell" Write Up
    • [ DoPwn ] Week1 - "Student ID" Write Up
    • [root-me.org] "reversing - PE x86 -0 protection" Write Up
    • [ Assembly ] ์–ด์…ˆ๋ธ”๋ฆฌ ํ•ธ๋“œ๋ ˆ์ด
    waffle
    waffle
    ๊ฐœ๋ฐœ๊ธฐ์ˆ  ๊ด€๋ จ ๊ธ€๋“ค์€ velog์— ์žˆ์Šต๋‹ˆ๋‹ค :) (https://velog.io/@cm_waffle) Developer waffle = new Waffle();

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”