μλ
νμ.
μ½λλͺ½ν€μΈ μμ΄λΌκ³ ν©λλ€.
μ΄λ²μ ν κ°μλ 리λ²μ±μ μΈ λ²μ¨° κ½ μλμ λν΄ λ§ν΄λ΄
λλ€.
μλμ΄λ,λΌμ΄λΈλ¬λ¦¬ 볡μ νμλ₯Ό λ§ν©λλ€.
ν΄λΉ κΈ°λ₯μ€μ μμ½κ² μ°λ €λ©΄ μ΄μ μ softwaredebugingμ΄ νμμΈλ°, μμμ
ν΄λΉ λλ²κΉ
κΈ°λ₯μ μμ λ£μΌμμμ€.
μ¬μ©λ² μλ €μ£ΌκΈ°μ, μνλ¬μ€λ μΉν°λλ€μ΄ μμκ±°λΌ μκ°ν΄μ μμλ € λλ¦¬κ² μ΅λλ€.
μ κ²λ μ΄μ°λ³΄λ©΄ 짬μ΄λΌμ, μλ €μ£Όλ©΄ μ’ κ·Έλ κ±°λ μ...
κ·Έλ₯ μ΄λ‘ λ§ λ§ν΄λ립λλ€.
νμ§λ§, κΈ λ³΄κ³ λ² κ»΄λ¨Ήλ μ¬λλ€λ λ§μκ±°λΌκ³ λ΄
λλ€.
μ¬νΌ ν΄λΉ λλ²κΉ
κΈ°λ₯μ μ°λ©΄
λΉμΆμΌ μ€νλμ€μ μ§μμ ν΄μ£Όλ λλ²κΉ
μΌλ‘λ μ κ·ΌνκΈ° νλ μμ ν¨μμ μ κ·Όμ ν μ μμ΅λλ€.
μλμ μ¬μ©νλ©΄ μ₯μ μ΄ λ¬΄μμΈκ°...첫 λ²μ¨°λ‘ ν΅μμ΄λ€μ μ
μ₯μΌλ‘ λ³Έλ€λ©΄,
μ΄μ crcλκ² λ¬΄μλ―Έν΄ μ§λ€κ³ λ§ν μ§κ±°λ¦¬κ° κ°λ₯ν΄μ§λλ€.
μλΈ μμ€ν
μ½ ν¨μλ₯Ό κ°κ³΅νλκ²λ κ°λ₯νλ°, λ©μΈν¨μλ λͺ»λ³΅μ ν κΉμ?γ
μ΄κ±΄, μ κ° λ§λ€λ€λ§ MD5μ΄μ
μλ μ¬λ³ΈμΈλ°μ.
[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat createThread(find2) label(goto1) label(goto2) define(find,00C00A20) Registersymbol(find) define(find2,00C00f20) Registersymbol(find2) label(loop) label(put1) 00BFFDC0: db 2A 00BFFDC0+40: dd 59742A13 00BFFDC0+48: dd 1 00BFFDC0+4C: dd 000A7325 find: repne jne find+5 repne ret push ebp mov ebp,esp sub esp,00 push eax find2: push ebp mov ebp,esp sub esp,00000218 push ebx push esi push edi lea edi,[ebp-00000218] mov ecx,00000086 mov eax,CCCCCCCC repe stosd mov eax,[00BFFDC0+40] xor eax,ebp mov [ebp-04],eax mov ecx,00BFFDC0+48 //1 call put1 mov eax,[ebp+08] push 00BFFDC0 //42 push 00000104 mov eax,[ebp+08] push eax call 00A7C710 //7ffff // mov esi,esp lea eax,[ebp-00000148] push eax mov ecx,[ebp+08] push ecx call dword ptr [MapleStory.exe+710054] mov esi,esp call find mov [ebp-00000154],eax cmp dword ptr [ebp-00000154],-01 jne loop mov esi,esp call dword ptr [kernel32.GetLastError] cmp esi,esp call find jmp fun2 loop: mov eax,[ebp-00000148] and eax,20 je loop2 lea eax,[ebp-0000011C] loop2: mov esi,esp lea eax,[ebp-00000148] push eax mov ecx,[ebp-00000154] push ecx call dword ptr [MapleStory.exe+710054]//filae cmp esi,esp call find test eax,eax jne loop mov esi,esp mov eax,[ebp-00000154] push eax call dword ptr [MapleStory.exe+710050] //close fun2: push edx mov ecx,ebp push eax lea edx,[ConsoleApplication11.exe+11CC4]//1 call fun3 pop eax pop edx pop edi pop esi pop ebx mov ecx,[ebp-04] xor ecx,ebp call ConsoleApplication11.exe+11154 add esp,00000218 cmp ebp,esp call ConsoleApplication11.exe+11253 mov esp,ebp pop ebp ret fun3: push ebp mov ebp,esp push ecx push ebx mov ebx,edx mov [ebp-04],ecx push esi xor esi,esi cmp [ebx],esi jle get push edi xor edi,edi mov ecx,[ebx+04] mov eax,[ebp-04] mov edx,[ecx+edi] cmp [edx+eax-04],CCCCCCCC jne get2 mov eax,[ecx+edi+04] add eax,edx mov edx,[ebp-04] cmp [eax+edx],CCCCCCCC je get3 push [ecx+edi+08] mov eax,[ebp+04] push eax call ConsoleApplication11.exe+11352 get2: add esp,08 get3: inc esi add edi,0C cmp esi,[ebx] jl ConsoleApplication11.exe+12174 pop edi get: pop esi pop ebx mov esp,ebp pop ebp ret 00BFFDC0+58: dd #19 scand: label(scand2) push ebp mov ebp,esp sub esp,00000404 { 1028 } mov eax,[00BFFDC0+58] { (19) } xor eax,ebp mov [ebp-04],eax push ebx mov ebx,[ebp+08] push esi mov esi,[ebp+0C] push edi mov edi,[00BFFDC0+48] { (1) } cmp edi,-01 { 255 } je scand2 cmp byte ptr [esi],00 { 0 } je ConsoleApplication11.exe+12A88 push esi call ConsoleApplication11.exe+12B70 add eax,2D { 45 } add esp,04 { 4 } cmp eax,00000400 { 1024 } ja ConsoleApplication11.exe+12A88 push ConsoleApplication11.exe+17BA4 { ("Stack around the variable '") } lea eax,[ebp-00000404] push 00000400 { 1024 } push eax call ConsoleApplication11.exe+11366 push esi lea eax,[ebp-00000404] push 00000400 { 1024 } push eax call ConsoleApplication11.exe+1134D push ConsoleApplication11.exe+17BC0 { ("' was corrupted.") } lea eax,[ebp-00000404] push 00000400 { 1024 } push eax call ConsoleApplication11.exe+1134D add esp,24 { 36 } lea eax,[ebp-00000404] jmp ConsoleApplication11.exe+12A8D mov eax,ConsoleApplication11.exe+18080 { ("Stack corrupted near unknown variable") } push eax push 02 { 2 } push edi push ebx call ConsoleApplication11.exe+12B90 add esp,10 { 16 } mov ecx,[ebp-04] pop edi pop esi xor ecx,ebp pop ebx call ConsoleApplication11.exe+11154 mov esp,ebp pop ebp ret scand2: mov ecx,[ebp-04] pop edi pop esi xor ecx,ebp pop ebx call ConsoleApplication11.exe+11154 mov esp,ebp pop ebp ret scand3: cmp ecx,[ConsoleApplication11.exe+1A004] { (19) } repne jne scand3+5 repne ret repne jmp scand4 scand4: push ebp mov ebp,esp sub esp,00000324 push 17 call ConsoleApplication11.exe+111D6 //76975135 test eax,eax je scand5 mov ecx,00000002 int 29 scand5: mov [ConsoleApplication11.exe+1A248],eax mov [ConsoleApplication11.exe+1A244],ecx mov [ConsoleApplication11.exe+1A240],edx mov [ConsoleApplication11.exe+1A23C],ebx mov [ConsoleApplication11.exe+1A238],esi mov [ConsoleApplication11.exe+1A234],edi mov [ConsoleApplication11.exe+1A260],ss mov [ConsoleApplication11.exe+1A254],cs mov [ConsoleApplication11.exe+1A230],ds mov [ConsoleApplication11.exe+1A22C],es mov [ConsoleApplication11.exe+1A228],fs mov [ConsoleApplication11.exe+1A224],gs pushfd pop [ConsoleApplication11.exe+1A258] mov eax,[ebp+00] mov [ConsoleApplication11.exe+1A24C],eax mov eax,[ebp+04] mov [ConsoleApplication11.exe+1A250],eax lea eax,[ebp+08] mov [ConsoleApplication11.exe+1A25C],eax mov eax,[ebp-00000324] mov [ConsoleApplication11.exe+1A198],00010001 mov eax,[ConsoleApplication11.exe+1A250] mov [ConsoleApplication11.exe+1A154],eax mov [ConsoleApplication11.exe+1A148],C0000409 mov [ConsoleApplication11.exe+1A14C],00000001 mov [ConsoleApplication11.exe+1A158],00000001 mov ecx,00000004 imul edx,ecx,00 mov [edx+ConsoleApplication11.exe+1A15C],00000002 mov eax,00000004 imul ecx,eax,00 mov edx,[ConsoleApplication11.exe+1A004] mov [ebp+ecx-08],edx mov eax,00000004 shl eax,00 mov ecx,[ConsoleApplication11.exe+1A000] mov [ebp+eax-08],ecx push ConsoleApplication11.exe+18230 call ConsoleApplication11.exe+113C5 mov esp,ebp pop ebp ret [DISABLE]
μ΄λ°μμΌλ‘ κ·Έλ₯ ν¨μνΈμΆμ νκ²λλ€λ©΄,sha-256,MD5λ‘ μνΈνλ ν¨μλ€λ λ³λ€λ₯Έ μ νμμ΄
iatμ,eip,crcμ°ν κ·Έλ΄κ±° νμμμ΄ κ·Έλ₯ νΈμΆλ§ λ리면
νΈμΆν΄λΌμ μλ νμκ° κ°λ₯ν μ΄μ κ° μ κ°λ₯νμ§ μμλκΉ?
λ°λ‘ μ¬κ·κ΅¬μ‘° λλ¬Έμ
λλ€.
μ΄λ¬ν μ¬κ·κ΅¬μ‘°μ μ·¨μ½μ±μ μ΄μ©νλκ² λ°λ‘ μλμ
λλ€.
μ,μμ μ¬λ¦°κ±° ν¨μνΈμΆ MD5μ μ°μ΄λ μλμ μμ±λ³Έμ μ체μ μΌλ‘ μ λΆ μ¬λ¦¬μ§ μμ
νΉμ μ΄μ©ν΄λ¨Ήμμ§ λͺ¨λ₯΄λ λͺκ΅°λ λΊ΄λ²λ Έμ΄μ.(μ κ²λ μ΄μ°λ³΄λ©΄ κ³ μ μ κΈ°μ ,짬μ΄λλλ€.)
μ κ±° μ’ μμμ©νλ©΄, MD5μλ λ λΉ λ₯΄κ² λ³ν΄μ§κΈ΄ νλλ°, μ¬νΌ κ·Έλ°κ±΄ μ€μμΉ μμ£ ?
crc?μν°λλ²κΉ
? μ μ μ€ν μ μ₯? μμ© μμ΅λλ€.
μ ν¨μλ€ κ·Έλ₯ 볡μ ννμ μ νν
μ°κΈ° μ μ νκ² κ°κ³΅μ ν΄μ¬λ κ±°λΌμ, μλ―Έκ° μ λ§ μκ±°λ μ.
κ·Έλμ. λμΉμ±μ
¨κ² μ§λ§,μλμ΄λ λΌμ΄λΈλ¬λ¦¬ 볡μ μ
λλ€.
볡μ νλ λ°©λ²μ λ³ΈμΈμ κΈ°λμ΄μ§λ§, λλ²κΉ
κΈ°λ₯μ μ¨μ ν΄λΉ μ½λμ λμ μν μ μμλ΄κ³
μ€ν μ μ₯ λ°νμ ν λΉμ 무μν λ§μ gotoμ,μμ€ν
μ½μ ν κ°μ ν¨μλ€,μμΈμ²λ¦¬λ₯Ό κ°λΉν΄μΌ ν μν μ μ»΄νμΌλ¬κ°,μ΄μ체μ κ° κ°λΉμ νμ§ μκ³ , μ½λκ° νλλΆν° μ΄ κΉμ§ μ²λ¦¬νλ νμλ₯Ό νλ©΄μ
κ°μ μ μΈ μν₯μ μ¬κ·κ΅¬μ‘°μ ν¨μλ₯Ό μμ 컀λκΉ½νν¨μλ‘ μΏλ°κΏλ¨Ήλ νμλ₯Ό λ§ν©λλ€.
μ¦, μλμ μ₯μ μ, κΆνμ΄ μμμλ κ°μ μ μΈ μ¬κ·κ΅¬μ‘°λ₯Ό μμ΄μ©νμ¬, κΆνκΉ½νμΉ λ μ°μ΄λ ν¨μλ€μ μ¬μ©νκ² λ§λ€λ μ©μ΄νκ² μ΄λμ λ μ νμ΄ μμ΄λ, 컀λ κΆν κΉ½νμΉκ² λμμ€λλ€...
μμ§ν 컀λκΆν κΉ½νμΉκ² ν΄μ£Όλ λͺμλ κΈ°λ²μ€ νλλΌκ³ λ΄
λλ€.
μ€μ λ‘ μλ₯΄ν
μΌμ μ λͺ©λ 보μλ€μ μλμ μ°λ¬Όμ΄λΌκ³ λ³Ό μ μκ² μΌλ©°, κ°μμ νλμ¨μ΄ λ©λͺ¨λ¦¬μcrcκ° λμκ°λ μ κΈ°ν νμμ΄ κ°λ₯ν 건 곡μΌλ‘ νκ² μλ, μλμ΄λΌλ μμ€ν
μ½μ ν¨μλ₯Ό μ€λ λ©μΈ ν¨μμμ κ°κ³΅μνν μμ€ν
ν¨μλ‘ μ¬λ €μ κ°λ₯ν μ§κ±°λ¦¬λΌκ³ λ³Ό μ μκ² μ΅λλ€.
μ¦, λλΌμ΄λ² μλͺ
μ μμμ κ°μ μ μΈ μ¬κ·ν¨μλ‘ μ΄κ³³μ κ³³ μ§λλ€λλ©°, μ°μ°μ λμ ν΄λ¬λΌκ³
μμ€ν
μ½μ ν μμ ν¨μλ€νν
μμ²μ νλ κ³Όμ μ μ€λμ λ΄κ° κ°κ³΅ν,μμ°μμ μ§μ΄λ£κ³
μμ€ν
μ½μ νλ€λ©΄,κ°μλ¨Έμ μ κ΅³μ΄ μμ¬λ €λλ cpuμ κ°μμ μμμμ crcλ₯Ό ꡬλμν¬ μ μκ² λ§λλ νμλ μΌμ’
μ λλΌμ΄λ² μλͺ
μ μμμ κ°λ₯νλ€κ³ μλ €μ§κ²κ³Ό λ¬λ¦¬, κΈ°κ΅λ‘λ κ°λ₯ν΄μ§λ€λ λ§μ
λλ€.
λ³Έμλ²μ μ°μ΄λ IATλΌλ μ¬κ·κ΅¬μ‘°λ₯Ό μ΄μ©ν ν΄λΉ κ°λ‘μ±λ κΈ°λ²λ μ΄μ€ ν μ’
λ₯λΌκ³ 보μμΌ ν©λλ€.
νμ§λ§IATμ μμ°μ μμ,μλ°±,μμ²λ² λ μ§μ΄λ£μ λ€μ€ μμ°IATκ° μ΄μ°λ³΄λ©΄ μλμ΄λΌ λ³Ό μ μκ² μ§μ...
λ€λ§, 보ν΅μ μ΄μκ°μ νμλ₯Ό λ€λ₯Έ ν©λ² μ’
μ¬μλ€μ λΉμ°νμ§λ§,μνλ©°, λ°λ³΄κ°λ€κ³ ν©λλ€.
λλΌμ΄λ² μ¬λ¦¬λ©΄ μ λ°κ±° ννμ ν΄κ²°λκ±°λ μ.
κ·Έλ κ·Έλ΄κ² ν©λ² μ’
μ¬μκ° λ³΄λ©΄, κ΅³μ΄ μ½κ² λ§λ€μ΄μ§ msμ¬μ λ§λ€μ΄λ,μ΄μ체μ μ μ§μν΄μ£Όλ λΌμ΄λΈλ¬λ¦¬ μμ°κ³ ,λΌμ΄λΈλ¬λ¦¬ 볡μ νλ νμλ₯Ό 무μνλ§μ μ½μ§μ ν΅νμ¬ νλ€κ³ νλ©΄, μλ§ μ΄μ λ₯Ό λ¬Όμ΄λ³Ό κ²λλ€.
"κΆν λ¬Έμ μκΈ°λ©΄,μ¬xμ½λλ§λ₯ κ·Έλ₯ 컀λλλΌμ΄λ² μ¬λ €μ κΉ½ν μΉλ©΄ λμλ?γ
γ
γ
γ
λλ λ°λ³΄μΌ."
κ°μ μμΌλ‘μ...
κ·Έλ°λ°, λλ€μ΄ λ°±μ νμ¬μ μ§μμ΄ μλλΌλ©΄, μλμ μ¨μΌμ§ μ΄λμ λ νΈνμ±λ¬Έμ μ λ₯Ό ν΄μνλ©°,
ν¬νΌλ¨Όμ€ ꡬνμ΄ κ°λ₯ν κΆν κΉ½νμ΄ κ°λ₯ν΄μ§λλ€.
μ΄λ°μμΌλ‘ ν¨μμ μ νμ λ§μ΄ κ±Έμ΄λ μ΄μ λ XPμΈλλ μλμ ν΄μ»€λ€μ΄ μ
μ±μ½λλ‘ κΊ΅νμ³μ
μλͺ
μ΄ μλ λλΌμ΄λΈλ₯Ό win7μ΄νλ‘λΆν΄ μλͺ
μ μν λλΌμ΄λ²λ λͺ»μ¬λ¦¬κ² λ§μλμ κ·Έλ μ΅λλ€.
κ·Έλμ xpμΈλλκ° μλ§,보μμΌλ‘ κ±Έλ μ§λκ³ κ·Έλ€λκ±Έκ±°μμ.
κ·Έλμ μμκ°μ ν¨μμ μ¬κ·κ΅¬μ‘°λ₯Ό μμΌλ‘ μμ°νμ¬, μ°μ°μμ λ°κΎΈλ μλμ΄λΌλ νμκ° λλΌμ΄λ²λ₯Ό μμ¬λ Έμμλ κΆνμ κΉ½νμΉκΈ° μ¬μ΄ λͺμλ μ§λμ±μ΄μ,κΈ°μ μ κΈ°κ΅λΌκ³ λ΄μΌ ν©λλ€.
μλμ μ₯μ μ μλμ κ°μλ°, μΌμ’
μ ν¨μμ λ½μκ±Έλ¦° μ νμ ν μ μλ€λκ² ν΄λΉκ³Όκ°μ νμκ° λ‘μ°λ 벨 κ°λ°μλ€ μ¬μ΄μμ μ΄λμ λ μμμ λ€λ€λ₯΄λ©΄ 무μν μ λμ μλ€λ μνκ° κ°λ₯ν΄μ§λλ°, κ·Έκ²μ κ·Έλ₯ μμ€ν
μ½ ν¨μμλ€κ° μ λͺ©νλ νμκ° λ°λ‘ μλμ΄λΌκ³ λ³Ό μ μκ² μ΅λλ€.
μλμ μ₯μ μ λΉμ ν΄λ³Έλ€λ©΄ μμ€ν
μ½ ν¨μλ‘ λΉμ ν건 μλμ§λ§,
κ°λ Ή λ§μνλ %08Xμ μ΄μ©ν΄ λ¬Έμμ΄ λ°ν ν¨μλ₯Ό 16μμ λ λμ΄κ°λ©΄,
κΈ°μ‘΄μ μ§μν΄μ£Όλ λΌμ΄λΈλ¬λ¦¬μμ μμ€ν
μ½μ νκ²λλ€λ©΄, μμΈμ²λ¦¬λ₯Ό ν΄μ£Όμ΄μ νκΈ°κ² λ§λ€μ΄μ€λλ€.
μλλ κ·Έλ₯ μ κ° μλμΌλ‘ μ€λνΌλ§λ€λ λ§λ€λ€λ§ μλμκ°μ μ€ν¬λ¦½νΈλ₯Ό
κ·Έλ₯ μμ μλ£μ’ μ¬λ €λ³΄κ² μ΅λλ€.
push ebp
mov ebp,esp
sub esp,000000D8
push ebx
push esi
push edi
lea edi,[ebp-000000D8]
mov ecx,00000036
mov eax,CCCCCCCC
repe stosd
mov ecx,Dll1.dll+2302D
call Dll1.dll+114F1
lea eax,[ebp+10]
mov [ebp-08],eax
mov eax,[ebp-08]
push eax
mov ecx,[ebp+0C]
push ecx
push F //<<16μ λ¬Έμμ΄μ μ νμ κ±°λ μ¬μ΄μ¦ μ ν μΈμμ
λλ€.
mov edx,[ebp+08]
push edx
call Dll1.dll+16B9D
add esp,10
pop edi
pop esi
pop ebx
add esp,000000D8
cmp ebp,esp
call Dll1.dll+113AC
mov esp,ebp
pop ebp
ret
μ΄λλ‘ κ°λ€μ°λ©΄, μ»΄νμΌλ¬κ° λλν΄μ μμΈμ²λ¦¬μ μΌμ’
μΌλ‘ 16μμ ꡬ문μΌλ‘ ν΄λΉ λΌμ΄λΈλ¬λ¦¬μ
16μμ΄μμ λ¬Έμμ΄μ΄ λ€μ΄μ¬κ²½μ° ν΄λΉ λ¬Έμμ΄μ μ¬μ΄μ¦λ₯Ό μ½μ΄μ€κ³ , 16μκ° λμ΄κ°λ©΄ μ€λ₯λ‘ μ²μ°νλ μΈμλ₯Ό κ°λ³μ±μ΄ μλ,κ³ μ μΈμμ΄λ‘ λΆλ₯ν΄μ λ°μλ£μ΄μ£Όλ νμλ₯Ό ν΄μ€λλ€.
λ§μ½ μ΄μ체μ μ μ§μν΄μ£Όλ ν¨μλ€λ κ·Έλ λ€λ©΄ 골 λλ¦¬κ² μ£ ?
νμ§λ§ μΈμμ μ νμ ν¨μλ₯Ό λ°κΎΈλ©΄ ν΄λΉ μ νμ ν μ μκ² μ£ .
λ€λ§, μμ€ν
μ½μ νλ ν¨μλ€μ μ΄μ체μ μ λμκ°μ κ·Έλ΄κ±° λͺ»νμμμ?
ν΄λ λμ»΄μλ§ λμκ°μ§, λ€λ₯Έ μ¬μ©μ λͺ»λμκ°λ μ€μ λ‘ μμ©νκ° νλ€μ΄ μ§κ² μ§μ.
νμ§λ§ μλμ μ¬μ©νκ² λλ€λ©΄,
μ΄λ°μμΌλ‘ μμ€ν
μ½μ νλ ν¨μμ λμ΄ν΄μ£Όλ μμ°μμ
λ°κΏλκ³ μ¨μ λ°κΏ μ μμ΅λλ€.
μ΄λ‘μΈν΄ μμ€ν
μ½μ νλ μμ ν¨μλ€μ κΆνμ΄ μμμλ μ κ·Ό κ°λ₯νκ² μλμ μ₯μ μ
λλ€.
κΉλκ³ λ§ν΄μ κ± μ»€λκΊ΅ν μ¬κ·μ κ°λ‘μ±μ, μΈμ λ±μ΄λ΄λΌκ³ ν¨μλ₯Ό κ°κ³΅νλ νμμΈ ν°λΌ
κΆν γ
λμμ΄λ 컀λκΉ½ν μΉλκ² κ°λ₯ν΄μ§λλ€.
κ·Όλ°, μ무리 λ
Όλ¬Έ,λ¬Ένμ μ°Ύμλ΄λ μ΄λ¬ν νμμ κ΄ν μΈμ΄μ,μ΄κ·λ₯Ό μ°Ύμλ³Όμκ° μμμ΅λλ€.
λ³΄ν΅ μ λ΄μ§ μνκ±°λ μ.
μμ€ν
μ½μ νλν¨μλ€μ λ³Όμμλ λλ²κ±°κ° νμ μ μ΄λΌ λ§μ΄μ§μ.
μ¬νΌ μ₯μ μ λ«κΈ° μ΄λ ΅λ€λ λκ°μ μ¨λΌμΈ κ²μμ 보μμ κ±Έλ μ§λ§λ₯ λ§λ€ μλ μμΌλ©°,
λμκΆνμ κ°μ§ ν¨μλ₯Ό κ°μ μ μ΄μ§λ§ μΌλΆλΆμ μΌλ‘ κΆνκΊ΅νμΉλκ² κ°λ₯ν΄μ§λ©°,
νΉμ ν΄λΉ κΈ°λ₯μ μ€νλ € λΆνμν λΆλΆμ λΌλ²λ¦ΌμΌλ‘μ¨ μ΄μ체μ μ MSμ¬κ° μ§μν΄μ£Όλ ν¨μλ₯Ό κΈ°μ‘΄λ³΄λ€ λμ± λΉ λ₯Έ μλλ₯Ό λ΄κ² νλκ² κ°λ₯ν΄ μ§λλ€.
μ€μ λ‘ μ κ°λ³΅μ ν sleepdeκ° μ΄μ체μ μ μ§μν΄μ£Όλ sleepexλ³΄λ€ ν¨μ¬ μλ λΉ λ₯΄λκ±Έμ?
alloc(sleepdefine,188)
alloc(sleepdefine2,900)
alloc(sleepdefine3,900)
Registersymbol(sleepdefine)
sleepdefine3:
push 38
push KERNELBASE.BemFreeContract+3FE
call KERNELBASE.IsNLSDefinedString+473
mov [ebp-48],00000024
mov [ebp-44],00000001
push 07
pop ecx
xor eax,eax
lea edi,[ebp-40]
repe stosd
xor edi,edi
mov [ebp-1C],edi
cmp [ebp+0C],edi
je sleepdefine3+39
xor edx,edx
lea ecx,[ebp-48]
call dword ptr [KERNELBASE.dll+1058]
mov [ebp-04],edi
push [ebp+08]
lea eax,[ebp-24]
push eax
call KERNELBASE.IsNLSDefinedString+C81
mov esi,eax
cmp esi,edi
jne sleepdefine3+5B
mov [ebp-24],edi
mov [ebp-20],80000000
lea esi,[ebp-24]
push esi
push [ebp+0C]
call dword ptr [KERNELBASE.dll+10FC]
mov [ebp-1C],eax
cmp [ebp+0C],edi
je KERNELBASE.SleepEx+74
cmp eax,00000101
je sleepdefine3+5B
mov [ebp-04],FFFFFFFE
call sleepdefine3+96
mov eax,000000C0
cmp [ebp-1C],eax
je sleepdefine3+8C
xor eax,eax
call KERNELBASE.IsNLSDefinedString+4B8
ret 0008
xor edi,edi
cmp [ebp+0C],edi
je sleepdefine3+A4
lea ecx,[ebp-48]
call dword ptr [KERNELBASE.dll+1050]
ret
int 3
int 3
int 3
int 3
int 3
sleepdefine2:
mov edi,edi
push ebp
mov ebp,esp
push 00
push [ebp+08]
call sleepdefine3
pop ebp
ret 0004
int 3
int 3
int 3
int 3
int 3
sleepDefine:
mov edi,edi
push ebp
mov ebp,esp
pop ebp
jmp sleepdefine2............
mv.....
μ¦ μλμ κ·Έλ₯ ν¨μ 볡μ μ
λλ€.
λ§ κ·Έλλ‘ κΆνμ΄ μμμλ 컀λλ¨μ μ°μ΄λ ν¨μλ€μ λ§μλλ‘ λ³΅μ κ°λ₯νλ©°,
μ₯μ
μ΄ κ°λ₯ν΄μ§λ νμλ₯Ό νλ κ±Έ μ¬κ·μ ꡬ쑰λ₯Ό μ΄μ©ν ν¨μνΈμΆμ μ·¨μ½μ±μ μ΄μ©ν,κΈ°μ μ
κΈ°μλΌκ³ 보μμΌ ν©λλ€.
μ΄μκ°μ κ°μ ν¨μμλν μμ²μΌλ‘ μ νμ κ±Έμ΄λ μμ€ν
μ½μ λ°κΏμ²λ¨Ήλ νμκ° κΆνμ΄ μμμλ κΊ΅νμΉλκ² κ°λ₯ν μ΄μ λ ν¨μμ μ¬κ·κ΅¬μ‘°μ μμ΅λλ€.
ν¨μλ€μ ν λ² μ°μ΄λ©΄,λ€λ₯Έ ν¨μμ μν΄νΈνλ©° μΈμλ₯Ό μμ²μ νλ¬ν΄λ¬λΌλ κ°μ μ μΈ μμ²μ ν©λλ€.
κ·Έλ¦¬κ³ ν΄λΉ ν¨μλ,λΉμ·ν μμμ μμΌλ©΄ νλμ ν¨μλ‘ μ¬λ¬κ°μ μμ²μ ν μ μκΈ°μ,
μ¬μ€μ ν΄λΉ ν¨μλ₯Ό μ°λ €λ©΄, κ½€λ λ§μ λΌμ΄λΈλ¬λ¦¬μ,κΆνμ λ¬Έμ μ μ©μ©λ§€λ,μ΄λ¬ν μμΈμ²λ¦¬ κ³Όμ μμ μ 보λ₯Ό μ΄λμ λ κ°κ³΅ν΄λ¬λΌλ μμ²μ νλ λ¨μν ν¨μλ₯Ό μμ°μ ν΅νμ¬ λ μμν¨μμ μμ€ν
μ½μ ν¨μλ‘ λ°κΏλ¨Ήλκ² κ°λ₯ν΄ μ§λλ€.
μ¦ κ°λ¨ν©λλ€.
κΆνμ΄ μμμλ, 컀λκΆνμ κ°μ μ μΈ μν₯μΌλ‘ μΌλΆλΆμ΄κΈ°λ νμ§λ§ λ³μ‘°, λ½μ νλ©΄μ,
κΆνκΉ½ν, κ΄΄λ¬Ό κ΅μ,무μν λΌμ΄λΈλ¬λ¦¬, κΈ°λ₯μ μΈ μ μκ² κ°λ₯νκ²μ΄
μμκ°μ μλμ΄λΌλ νμλ₯Ό ν΅νμ¬ κ°λ₯ν΄μ§λλ€.
μ
md5μ’ μ°μ§λ§
crc32μμ μ’ νμμλ μΈμ λΆλΆ λΌλ²λ¦¬κ³ κ°λ³κ² λ°λκ±Έλ‘ λ μμ¦μΌλ‘ μ©λ체ν¬λ,μμ λ μ§ μμ΄μ μ
md5λ무 무거μ..
λ μμ‘±Xλ μμ O
μ΄κΈμ΄ κ²κ°λ°μ΄λ κ΄λ ¨μλκ±°μΌ? κ·Έλ₯ κΆκΈν΄μμ§λ¬Έ
κΈ°λ³Έμ§μμ΄ λΆμ‘±ν΄μ λμ€μ νλ² λ λ΄μΌκ² λ€
μ³ ν΄μ»€μΈκ°?
νν΄κ°€λ‘
리λ²μ± μλ μ·¨μ½μ μλ - dc App