NoLOcKs
March 22nd, 2007, 08:08
From VoxQuietis´s essay "How to make V5.x license files with the V6.x SDK"
We learned that can to recoverer vkey 1..4 plus XORed seeds 1 and 2. So i disassembled the function lc_init. Now go the question: Where I get this data into file dissambled ?
Suggests are wellcome !
.text:1000E850 public lc_init
.text:1000E850 lc_init proc near
.text:1000E850
.text:1000E850
.text:1000E850 var_1A0 = dword ptr -1A0h
.text:1000E850 var_19C = dword ptr -19Ch
.text:1000E850 var_198 = dword ptr -198h
.text:1000E850 var_194 = dword ptr -194h
.text:1000E850 var_190 = dword ptr -190h
.text:1000E850 arg_0 = dword ptr 4
.text:1000E850 arg_4 = dword ptr 8
.text:1000E850 arg_8 = dword ptr 0Ch
.text:1000E850 arg_C = dword ptr 10h
.text:1000E850
.text:1000E850 sub esp, 1A0h
.text:1000E856 mov [esp+1A0h+var_198], 1
.text:1000E85E push ebx
.text:1000E85F push esi
.text:1000E860 push edi
.text:1000E861 xor esi, esi
.text:1000E863 mov [esp+1ACh+var_194], esi
.text:1000E867 push ebp
.text:1000E868 mov [esp+1B0h+var_1A0], esi
.text:1000E86C cmp [esp+1B0h+arg_0], esi
.text:1000E873 jz short loc_1000E8C2
.text:1000E875 mov eax, [esp+1B0h+arg_0]
.text:1000E87C push 1Dh
.text:1000E87E push eax
.text:1000E87F call l_getattr
.text:1000E884 add esp, 8
.text:1000E887 cmp eax, 9969h
.text:1000E88C jz short loc_1000E8C2
.text:1000E88E mov eax, [esp+1B0h+arg_0]
.text:1000E895 cmp dword ptr [eax], 67h
.text:1000E898 jz short loc_1000E8C2
.text:1000E89A cmp eax, esi
.text:1000E89C jz short loc_1000E8B2
.text:1000E89E cmp dword ptr [eax+4], 0FFFFFFD8h
.text:1000E8A2 jz short loc_1000E8B2
.text:1000E8A4 mov dword ptr [eax+4], 0FFFFFFD3h
.text:1000E8AB mov dword ptr [eax+1Ch], 0B2h
.text:1000E8B2
.text:1000E8B2 loc_1000E8B2: ; CODE XREF: lc_init+4C j
.text:1000E8B2 ; lc_init+52 j
.text:1000E8B2 mov eax, 0FFFFFFD3h
.text:1000E8B7 pop ebp
.text:1000E8B8 pop edi
.text:1000E8B9 pop esi
.text:1000E8BA pop ebx
.text:1000E8BB add esp, 1A0h
.text:1000E8C1 retn
We learned that can to recoverer vkey 1..4 plus XORed seeds 1 and 2. So i disassembled the function lc_init. Now go the question: Where I get this data into file dissambled ?

Suggests are wellcome !
.text:1000E850 public lc_init
.text:1000E850 lc_init proc near
.text:1000E850
.text:1000E850
.text:1000E850 var_1A0 = dword ptr -1A0h
.text:1000E850 var_19C = dword ptr -19Ch
.text:1000E850 var_198 = dword ptr -198h
.text:1000E850 var_194 = dword ptr -194h
.text:1000E850 var_190 = dword ptr -190h
.text:1000E850 arg_0 = dword ptr 4
.text:1000E850 arg_4 = dword ptr 8
.text:1000E850 arg_8 = dword ptr 0Ch
.text:1000E850 arg_C = dword ptr 10h
.text:1000E850
.text:1000E850 sub esp, 1A0h
.text:1000E856 mov [esp+1A0h+var_198], 1
.text:1000E85E push ebx
.text:1000E85F push esi
.text:1000E860 push edi
.text:1000E861 xor esi, esi
.text:1000E863 mov [esp+1ACh+var_194], esi
.text:1000E867 push ebp
.text:1000E868 mov [esp+1B0h+var_1A0], esi
.text:1000E86C cmp [esp+1B0h+arg_0], esi
.text:1000E873 jz short loc_1000E8C2
.text:1000E875 mov eax, [esp+1B0h+arg_0]
.text:1000E87C push 1Dh
.text:1000E87E push eax
.text:1000E87F call l_getattr
.text:1000E884 add esp, 8
.text:1000E887 cmp eax, 9969h
.text:1000E88C jz short loc_1000E8C2
.text:1000E88E mov eax, [esp+1B0h+arg_0]
.text:1000E895 cmp dword ptr [eax], 67h
.text:1000E898 jz short loc_1000E8C2
.text:1000E89A cmp eax, esi
.text:1000E89C jz short loc_1000E8B2
.text:1000E89E cmp dword ptr [eax+4], 0FFFFFFD8h
.text:1000E8A2 jz short loc_1000E8B2
.text:1000E8A4 mov dword ptr [eax+4], 0FFFFFFD3h
.text:1000E8AB mov dword ptr [eax+1Ch], 0B2h
.text:1000E8B2
.text:1000E8B2 loc_1000E8B2: ; CODE XREF: lc_init+4C j
.text:1000E8B2 ; lc_init+52 j
.text:1000E8B2 mov eax, 0FFFFFFD3h
.text:1000E8B7 pop ebp
.text:1000E8B8 pop edi
.text:1000E8B9 pop esi
.text:1000E8BA pop ebx
.text:1000E8BB add esp, 1A0h
.text:1000E8C1 retn