CrackingCrack on Requestneed help in changing text strings in file

27 May 2010, 16:10

I need to translate text in
http://rapidshare.com/files/392171574/english.lpd.html

File is probably packed, but I don't know how to unpack it...

Rating 0 Comments 2
7omislav
0
7omislav 29 May 2010, 19:54 #
I have come to this

Public Function Decrypt(sText) '12C5320
loc_012C5320: push ebp
loc_012C5321: mov ebp, esp
loc_012C5323: sub esp, 0000000Ch
loc_012C5326: push 00442F16h ; MSVBVM60.DLL.__vbaExceptHandler
loc_012C532B: mov eax, fs:[00h]
loc_012C5331: push eax
loc_012C5332: mov fs:[00000000h], esp
loc_012C5339: sub esp, 00000090h
loc_012C533F: push ebx
loc_012C5340: push esi
loc_012C5341: push edi
loc_012C5342: mov var_C, esp
loc_012C5345: mov var_8, 00439480h
loc_012C534C: xor esi, esi
loc_012C534E: mov var_4, esi
loc_012C5351: mov eax, arg_8
loc_012C5354: push eax
loc_012C5355: mov ecx, [eax]
loc_012C5357: call [ecx+04h]
loc_012C535A: mov eax, sText
loc_012C535D: mov edx, arg_10
loc_012C5360: mov var_1C, esi
loc_012C5363: mov var_20, esi
loc_012C5366: mov ecx, [eax]
loc_012C5368: mov var_24, esi
loc_012C536B: push ecx
loc_012C536C: mov var_34, esi
loc_012C536F: mov var_44, esi
loc_012C5372: mov var_54, esi
loc_012C5375: mov var_64, esi
loc_012C5378: mov var_74, esi
loc_012C537B: mov var_94, esi
loc_012C5381: mov [edx], esi
loc_012C5383: call [00401048h] ; Len(arg_1)
loc_012C5389: mov edi, MSVBVM60.DLL.__vbaStrMove
loc_012C538F: mov ebx, MSVBVM60.DLL.__vbaStrVarMove
loc_012C5395: mov var_9C, eax
loc_012C539B: mov esi, 00000001h
loc_012C53A0: cmp si, var_9C
loc_012C53A7: mov edx, var_20
loc_012C53AA: jnle 012C5466h
loc_012C53B0: mov eax, sText
loc_012C53B3: mov var_8C, edx
loc_012C53B9: movsx edx, si
loc_012C53BC: lea ecx, var_34
loc_012C53BF: mov var_6C, eax
loc_012C53C2: push ecx
loc_012C53C3: lea eax, var_74
loc_012C53C6: push edx
loc_012C53C7: lea ecx, var_44
loc_012C53CA: push eax
loc_012C53CB: push ecx
loc_012C53CC: mov var_94, 00000008h
loc_012C53D6: mov var_2C, 00000001h
loc_012C53DD: mov var_34, 00000002h
loc_012C53E4: mov var_74, 00004008h
loc_012C53EB: call [004011CCh] ; arg_1 = Mid$(arg_2, arg_3, arg_4)
loc_012C53F1: lea edx, var_44
loc_012C53F4: lea eax, var_24
loc_012C53F7: push edx
loc_012C53F8: push eax
loc_012C53F9: call MSVBVM60.DLL.__vbaStrVarVal
loc_012C53FF: push eax
loc_012C5400: call [00401078h] ; Asc(arg_1)
loc_012C5406: sub eax, 00000005h
loc_012C5409: lea edx, var_54
loc_012C540C: movsx ecx, ax
loc_012C540F: push ecx
loc_012C5410: push edx
loc_012C5411: call [004012E8h] ; arg_1 = arg_3 & Chr(arg_2)
loc_012C5417: lea eax, var_94
loc_012C541D: lea ecx, var_54
loc_012C5420: push eax
loc_012C5421: lea edx, var_64
loc_012C5424: push ecx
loc_012C5425: push edx
loc_012C5426: call MSVBVM60.DLL.__vbaVarCat
loc_012C542C: push eax
loc_012C542D: call ebx
loc_012C542F: mov edx, eax
loc_012C5431: lea ecx, var_20
loc_012C5434: call edi
loc_012C5436: lea ecx, var_24
loc_012C5439: call MSVBVM60.DLL.__vbaFreeStr
loc_012C543F: lea eax, var_64
loc_012C5442: lea ecx, var_54
loc_012C5445: push eax
loc_012C5446: lea edx, var_44
loc_012C5449: push ecx
loc_012C544A: lea eax, var_34
loc_012C544D: push edx
loc_012C544E: push eax
loc_012C544F: push 00000004h
loc_012C5451: call MSVBVM60.DLL.__vbaFreeVarList
loc_012C5457: mov eax, 00000001h
loc_012C545C: add esp, 00000014h
loc_012C545F: add esi, eax
loc_012C5461: jmp 012C53A0h
loc_012C5466: lea ecx, var_1C
loc_012C5469: call MSVBVM60.DLL.__vbaStrCopy
loc_012C546F: push 012C54B4h
loc_012C5474: jmp 12C54AAh
loc_012C5476: test byte ptr var_4, 04h
loc_012C547A: jz 12C5485h
loc_012C547C: lea ecx, var_1C
loc_012C547F: call MSVBVM60.DLL.__vbaFreeStr
loc_012C5485: lea ecx, var_24
loc_012C5488: call MSVBVM60.DLL.__vbaFreeStr
loc_012C548E: lea ecx, var_64
loc_012C5491: lea edx, var_54
loc_012C5494: push ecx
loc_012C5495: lea eax, var_44
loc_012C5498: push edx
loc_012C5499: lea ecx, var_34
loc_012C549C: push eax
loc_012C549D: push ecx
loc_012C549E: push 00000004h
loc_012C54A0: call MSVBVM60.DLL.__vbaFreeVarList
loc_012C54A6: add esp, 00000014h
loc_012C54A9: ret
End Function

Ive got no experience with assembler so any help is velcomed...
itsho2
0
itsho2 18 Jun 2010, 06:14 #
that's a bit complicated.
since (i guess that) you not only want to decrypt and translate but also to ENCRYPT translated text it and put it back into the file.

try to debug step by step and see what's changing in cpu registers. and understand the process of decrypting

or, try to upload the software that reads from the lpd file.
Reply

You have to login or register to post comments.

7omislav
7omislav
0 ♠ 0 ♣
Tweet:


Bookmark and Share