๋ฌธ์ ๋ ์ฌ๊ธฐ์ ๋ค์ด๋ฐ์ ์ ์์ต๋๋ค. (์์ถํด์ ์ ๋น๋ฐ๋ฒํธ๋ codeengn ์ ๋๋ค.)
๋ชฉํ๊ฐ : ๋น์ฃผ์ผ๋ฒ ์ด์ง์์์ ์คํธ๋ง (๋ฌธ์์ด) ๋น๊ต ํจ์ ์ด๋ฆ
์๋ง ๋ถ์ํด์ผ ํ ํ๋ก๊ทธ๋จ์ ๋น์ฃผ์ผ๋ฒ ์ด์ง์ผ๋ก ๋ง๋ค์ด์ก์๊ฒ๋๋ค.
์คํ์ ์์ผ๋ณด๊ฒ ์ต๋๋ค.
๋ ์ผ์ด๋ก ์ฐ์ธ ๋ฉ์ธ์ง๋ฐ์ค๊ฐ ํ๋ ํธ์ถ๋ฉ๋๋ค.
nag ์ ์ ๊ฑฐํ๊ฑฐ๋ ์ฌ๋ฐ๋ฅธ ์ํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ์ด์ผ๊ธฐ์ ๋๋ค.
ํ์ธ์ ๋๋ฌ์ค์๋ค.
๋ฑ๋ก ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ผ๋ ์ฐฝ์ด ๋น๋๋ค.
์ํ์ผ์ test1234 ๋ผ๊ณ ์ ๋ ฅํ ๋ค Registrieren ๋ฒํผ์ ๋๋ ์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ์ํธ๊ฐ ์๋๋ผ๊ณ ํฉ๋๋ค.
ํจ์ค์๋์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ๋น๊ตํด ์ฑ๊ณต/์คํจ๋ก ๋ถ๊ธฐํ๋ ๋ฏ ํฉ๋๋ค.
๋๋ฒ๊ฑฐ๋ก ์ด์ด๋ด ์๋ค.
์๊น ๋ณด์๋ ์คํจ ๋ฌธ์์ด์ ์ฐพ์๊ฐ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ง์ฐ์ค ์ฐํด๋ฆญ -> Search for -> All referenced text strings ์ผ๋ก ํ๋ก๊ทธ๋จ ๋ด์ ๋ฌธ์์ด์ ๊ฒ์ํด์ค๋๋ค.
์คํฌ๋กค์ ์กฐ๊ธ ๋ด๋ฆฌ๋ค ๋ณด๋ฉด ์ด๋ ๊ฒ ์๋ฌ ๋ฌธ์์ด์ ์ฐพ์ ์ ์์ต๋๋ค.
์ด ๋ฌธ์์ด์ ๋๋ธํด๋ฆญํด ํด๋น ๋ฌธ์์ด์ด ์๋ ์ฃผ์๋ก ์ด๋ํด์ค๋๋ค.
์๋ฌ ๋ฌธ์์ด์ด ์๋ ์ฃผ์๋ก ์ด๋ํ์ต๋๋ค.
์์ ์์ธกํ๋ ๋๋ก ์คํจ ๋ฌธ์์ด ์ ํ์ ์ฑ๊ณต ๋ฌธ์์ด์ด ์์ ๋ฏ ํฉ๋๋ค.
์คํฌ๋กค์ ์ฌ๋ฆฌ๋ค ๋ณด๋ฉด ์ด์ ๊ฐ์ด ์ฑ๊ณต ์ ์ถ๋ ฅ๋ ๊ฒ์ผ๋ก ์ถ์ ๋๋ ๋ฌธ์์ด์ด ์์ต๋๋ค.
์๋ง ์ด ๋ฌธ์์ด ์ ์ ์กฐ๊ฑด ๋ถ๊ธฐ๋ฌธ์ด ์์ ๋ฏ ํฉ๋๋ค.
์ญ์ ๋ฐ๋ก ์์ ์กฐ๊ฑด ๋ถ๊ธฐ๋ฌธ์ด ์์ต๋๋ค.
CMP DI, SI ๋ช ๋ น์ ํตํด ๋ ๋ ์ง์คํฐ๋ฅผ ๋น๊ตํ๊ณ , ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด JE ๋ช ๋ น์ ์คํํฉ๋๋ค.
์์ JE 03.004029DC ๋ช ๋ น์ ํตํด ๊ฒฐ๊ณผ๊ฐ ๋๋ ๋ฏ ํฉ๋๋ค.
JE ๋ฌธ์ด ์คํ๋์์ ๋ ์ด๋ํ๋ 004029DC ์ฃผ์๊ฐ ์คํจ ๋ฌธ์์ด ์์ชฝ ์ฃผ์์ธ ๊ฒ์ผ๋ก ๋ฏธ๋ฃจ์ด๋ณด์, ์ด JE ๋ช ๋ น์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๊ณผ ํจ์ค์๋๊ฐ ๋ค๋ฅผ ๋ ์คํ๋๋ค๊ณ ์ถ์ธกํ ์ ์์ต๋๋ค.
JE ๋ช ๋ น (004028E3 ์ฃผ์) ์ [F2] ํค๋ก BP๋ฅผ ๊ฑด ๋ค์ [F9] ํค๋ก BP๊น์ง ์คํํฉ๋๋ค.
์ด๋ฐ ๋ฉ์ธ์ง๊ฐ ๋จ๋ฉด ํ์ธ์ ๋๋ฌ์ค๋๋ค.
๊ทธ ํ ์๊น ์คํจํ๋ test1234 ๋ผ๋ ํจ์ค์๋๋ฅผ ๋ค์ ํ ๋ฒ ์ ๋ ฅํ๊ณ Registrieren ๋ฒํผ์ ๋๋ฆ ๋๋ค.
๋ ์ง์คํฐ ์ฐฝ์์ DI ์ SI ๊ฐ ๋ชจ๋ 0์ผ๋ก ๊ฐ์ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
BP๋ฅผ ๊ฑด ์กฐ๊ฑด ๋ถ๊ธฐ๋ฌธ์์ ๋ฉ์ถ๋๋ฐ, ๋ ๋ ์ง์คํฐ ๊ฐ์ ํ์ธํ์ผ๋ฉด ๊ทธ๋๋ก ์คํ์์ผ์ค๋๋ค.
(CMP๋ก DI ์ SI๋ฅผ ๋น๊ตํ ํ ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด ์กฐ๊ฑด๋ถ๊ธฐ๋ฌธ ์คํ)
์ด๋ ๊ฒ ์คํจ ๋ฉ์ธ์ง๋ฐ์ค๊ฐ ํธ์ถ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ JE ๋ช ๋ น์ ์ฑ๊ณต/์คํจ๋ฅผ ๊ฐ๋ก์ง๋ ๋ถ๋ถ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ทธ ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๊ณผ ํจ์ค์๋๋ฅผ ๋น๊ตํ ๋ฌธ์์ด ๋น๊ต ํจ์๊ฐ ์๋ค๊ณ ์ถ์ธกํ ์ ์์ต๋๋ค.
CALL ๋ช ๋ น์ผ๋ก ํจ์๋ฅผ ํธ์ถํ ๋, ์คํ์ ์ด์ฉํด ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ๋๋ฌธ์, ๋ฌธ์์ด ๋น๊ต ํจ์ ํธ์ถ ์ ์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ PUSH ๋ช ๋ น์ผ๋ก ์คํ์ ์ ์ฅ๋ ๊ฒ์ ๋๋ค.
JE ๋ฌธ ์ ๋ ๊ฐ์ PUSH ๋ช ๋ น์ ์ฃผ๋ชฉํฉ์๋ค.
์ด๋ ๋ฐ๋ก ๋ฐ์์ ํธ์ถ๋๋ vbaStrCmp ํจ์์ ์ธ์๋ค์ ์คํ์ ์ ์ฅํฉ๋๋ค.
ํ์ธ์ ํด๋ณด๊ธฐ ์ํด ๋ PUSH ๋ช ๋ น ๋ชจ๋์ BP๋ฅผ ๊ฑธ๊ณ ์คํํ ๋ค ํ ์คํธ ๋ฌธ์์ด์ ์ ๋ ฅํด์ค๋๋ค.
004028BA ์ฃผ์์ PUSH ๋ช ๋ น์ผ๋ก ํจ์์ ์ธ์๊ฐ ์คํ์ EBP-58 ์ฃผ์์ ๋ค์ด๊ฐ์ ๊ฒ ์ ๋๋ค.
EBP ์ ํ์ฌ ๊ฐ์ 0019F1C8 ์ ๋๋ค.
๊ณ์ฐ๊ธฐ๋ฅผ ์ด์ฉํด ๊ตฌํ EBP-58 ๊ฐ์ 0019F170 ์ ๋๋ค.
์คํ์ EBP-58 (0019F170) ์ฃผ์๋ฅผ ํ์ธํด๋ณด๋ฉด ์ด๋ ๊ฒ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฌธ์์ด์ด ์์ฌ์๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ฝ vbaStrCmp ํจ์๊ฐ ๋ฌธ์์ด ๋น๊ต ํจ์๋ผ๋ฉด ์คํ์ ํตํด ์ ๋ฌ๋ ์ฒซ ๋ฒ์งธ ์ธ์์ ๋ ๋ฒ์งธ ์ธ์๋ฅผ ๋น๊ตํ๊ฒ ์ฃ ?
์ฌ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์ธ์๋ ์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํ ๊ฐ์ด๋ผ๋ ๊ฒ์ ์์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ ๋ฒ์งธ ์ธ์๋ ์ ๋ ฅํ ๋ฌธ์์ด๊ณผ ๋น๊ตํ ๋ฌธ์์ด, ์ฆ ํจ์ค์๋๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ค์ ํ ๋ฒ ์ถ์ธก์ด ๋ง๋์ง ํ์ธํด๋ณด๋๋ก ํฉ์๋ค.
๋ ๋ฒ์งธ PUSH ๋ช ๋ น์ผ๋ก ์คํ์ ์ ๋์ฝ๋ 2G83G35Hs2 ๊ฐ ์ ์ฅ๋ฉ๋๋ค.
๋๋ฒ๊ฑฐ๋ฅผ ์ฌ์์ํด์ ์ด๋ฅผ ํจ์ค์๋ ์ฐฝ์ ์ ๋ ฅํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Registrieren ๋ฒํผ์ ๋๋ฌ์ฃผ๋ฉด ์ฑ๊ณตํ๋ค๋ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋ฉ๋๋ค.
vbaStrCmp ํจ์์ ์ธ์๋ก ์ ๋ฌ๋ ๋ ๋ฒ์งธ ๊ฐ์ด ํจ์ค์๋์ธ ๊ฒ์ ํ์ธํ์ต๋๋ค.
(vbaStrCmp ์ ์ธ์ : ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฌธ์์ด, ํ๋์ฝ๋ฉ๋ ํจ์ค์๋ ๊ฐ)
์ด๋ ๊ฒ vbaStrCmp ์ด ๋ฌธ์์ด ๋น๊ต ํจ์๊ฐ ๋ง๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋น์ฃผ์ผ๋ฒ ์ด์ง์ ์คํธ๋ง ๋น๊ต ํจ์ ์ด๋ฆ์ vbaStrCmp ์
๋๋ค.
vb = visual basic
Str = string
Cmp = compare
'reverse engineering > CodeEngn' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CodeEngn] Basic RCE L06 ๋ฌธ์ ํ์ด (3) | 2020.12.06 |
---|---|
[CodeEngn] Basic RCE L05 ๋ฌธ์ ํ์ด (5) | 2020.12.05 |
[CodeEngn] Basic RCE L04 ๋ฌธ์ ํ์ด (2) | 2020.12.05 |
[CodeEngn] Basic RCE L02 ๋ฌธ์ ํ์ด (0) | 2020.12.02 |
[CodeEngn] Basic RCE L01 ๋ฌธ์ ํ์ด (4) | 2020.12.02 |