谁会易语言,帮忙翻译一下,下是源代码,翻译成C语言。

Function DeCodeRegistryFile(nSize:Integer;pBuf:Integer):Integer;
var
v65,v48,v50:WORD;
v45,v46,v47,v94,v95,v67,v96,v68,v70,v56,v98:Integer;
v66,v53,v57:Byte;
v49,v69,v52,v54:DWORD;
v51,v55,v58:Pointer;
pCharAry:array[0..49] of WideChar;
Result:=0;
if ((pBuf=0) or (nSize<4)) then exit;
if ((nSize<6) or (PByte(pBuf)^<>0x54) or (PByte(pBuf+1)^<>0x44)) then
Result:=$E0630004;
exit;
v65 := PWORD(pBuf+4)^;
v47:=pBuf+6;
v46:=nSize-6;
v45:= 0;
v94:= 0;
v95:= v65;
if v65>0 then
while(True) do
if v46<7 then Break;
v66:= (PBYTE(v47))^;
v67 := v47 + 1;
PByte(@v96)^:=v66;
v48 := PWORD(v67)^;
v50 := PWORD(v67)^;
v49 := v46;
v68 := v46 - 3;
v69:=PWORD(v67)^+4;
v51:=Pointer(v67+2);
(PDWORD(@nSize))^:=v68;
if ( v68 < v69 ) then
Break;
if (v48+ PDWORD((PChar(v51)+v48))^+7>v49) then
Break;
v53:= BYTE(v48) xor HIBYTE(v48);
v52 := 0;
if v50<>0 then
repeat
PBYTE(DWORD(v51)+v52)^:= v53 xor (not PBYTE(DWORD(v51)+v52)^);
Inc(v52);
until v52 >= v50;
FillChar(pCharAry,sizeof(pCharAry),#0);
CopyMemory(@pCharAry,PWideChar(v51),v50);
Form1.Memo1.Lines.Add(pCharAry);
v54 := PDWORD(DWORD(v51) + v50)^;
v70 := -4 - v50 + nSize;
v55 := Pointer(DWORD(v51) + v50 + 4);
PDWORD(@nSize)^:= -4 - v50 + nSize;
if ( v70 < v54 ) then
break;
v57 := v96;
v56 := 0;
v58 := v55;
pBuf := 0;
if ((BYTE(v96)= 9) or (BYTE(v96)= 8) or (BYTE(v96)=16)) then
if v54>0 then
repeat
PBYTE(DWORD(v55)+v56)^:= Byte(v54) xor (not PBYTE(DWORD(v55)+v56)^);
Inc(v56);
until v56 >= v54;
FillChar(pCharAry,sizeof(pCharAry),#0);
CopyMemory(@pCharAry,PWideChar(v55),v54);
Form1.Memo1.Lines.Add(pCharAry);
v98 := -1;
v57 := v96;
v56 := 0;
(PDWORD(@nSize))^:=nSize-v54;
v47:=Integer(DWORD(v55)+v54);
case v57 of
$B:
DeCodeRegistryFile(v54,Integer(v58));
Inc(v94);
if v94>10 then Break;
这不管他是什么语言了,关键是怎么转化为C语言?

第1个回答  2012-07-16
这?好像不是易语言吧!
第2个回答  2012-07-16
这是VB语言 有没搞错追问

猜的。没学过这个语言,看到是网上贴的。

第3个回答  2012-07-17
大哥,你是标题党么?这什么跟什么、