X‘moe Project » 日志
【真 Clover Day's文本提取】加你妹的密
2014-5-11 21:35 /
之前的那个说错了,那个是FileName的hash【找文件用的
这个才是文件解密的函数。
最后的程序我懒得写了,主要是Xortable的长度是4096*8Bit...【SB啊
然后我一时间没想出挖这个Table的简易方法,于是我就暂时搁置了233
【目前是用String来计算的orz
[7D8100]初始化为0,记录上一个xor的BYTE,然后再错项求xor生成真正的key。
至于开头的“mdf\0”这个Signature实际上没看看见在哪里用过,之后也应该有一个未知的DWORD=。=
题外话,这里为什么会出现adobe啊233
这个才是文件解密的函数。
最后的程序我懒得写了,主要是Xortable的长度是4096*8Bit...【SB啊
然后我一时间没想出挖这个Table的简易方法,于是我就暂时搁置了233
【目前是用String来计算的orz
[7D8100]初始化为0,记录上一个xor的BYTE,然后再错项求xor生成真正的key。
至于开头的“mdf\0”这个Signature实际上没看看见在哪里用过,之后也应该有一个未知的DWORD=。=
005ED9AC /$ 53 PUSH EBX
005ED9AD |. 56 PUSH ESI
005ED9AE |. 57 PUSH EDI
005ED9AF |. 55 PUSH EBP
005ED9B0 |. BE 8CFA7000 MOV ESI,cloverda.0070FA8C ; FilePointer
005ED9B5 |. 8BF8 MOV EDI,EAX ;
005ED9B7 |. 33C9 XOR ECX,ECX ;ECX = 0,dwPos = 0
005ED9B9 |. 8BC7 MOV EAX,EDI ;iPos2 = EDI
005ED9BB |. 3BD1 CMP EDX,ECX
005ED9BD |. 7E 24 JLE SHORT cloverda.005ED9E3
005ED9BF |> 8A18 /MOV BL,BYTE PTR DS:[EAX] ;char *temp = iPos2 //XOR Table,Key1
005ED9C1 |. 301D 00817D00 |XOR BYTE PTR DS:[7D8100],BL ;char temp2 ^= *(temp+iPos2) //temp2不变化的,Key2
005ED9C7 |. 8A1D 00817D00 |MOV BL,BYTE PTR DS:[7D8100] ;temp = temp2
005ED9CD |. 8B2E |MOV EBP,DWORD PTR DS:[ESI] ;DWORD dwPos = DS:[ESI]
005ED9CF |. 309D 006F7D00 |XOR BYTE PTR SS:[EBP+7D6F00],BL ;*(pFile+dwPos) ^= temp;
005ED9D5 |. FF06 |INC DWORD PTR DS:[ESI] ;iPos ++
005ED9D7 |. 8126 FF0F0000 |AND DWORD PTR DS:[ESI],0FFF ;iPos %= 0xFFF //4096*8Bit...F**K
005ED9DD |. 41 |INC ECX ;dwPos++
005ED9DE |. 40 |INC EAX ;iPos2++
005ED9DF |. 3BD1 |CMP EDX,ECX ;EDX = FileSize, while(dwPos < FileSize)
005ED9E1 |.^7F DC \JG SHORT cloverda.005ED9BF
005ED9E3 |> 33C0 XOR EAX,EAX
005ED9E5 |. 8A07 MOV AL,BYTE PTR DS:[EDI]
005ED9E7 |. 83E0 01 AND EAX,1
005ED9EA |. 0106 ADD DWORD PTR DS:[ESI],EAX
005ED9EC |. 8126 FF0F0000 AND DWORD PTR DS:[ESI],0FFF
005ED9F2 |. 5D POP EBP
005ED9F3 |. 5F POP EDI
005ED9F4 |. 5E POP ESI
005ED9F5 |. 5B POP EBX
005ED9F6 \. C3 RETN
题外话,这里为什么会出现adobe啊233
0065D224 /$ 55 PUSH EBP
0065D225 |. 8BEC MOV EBP,ESP
0065D227 |. 83C4 F4 ADD ESP,-0C
0065D22A |. 83F9 0C CMP ECX,0C
0065D22D |. 53 PUSH EBX
0065D22E |. 8BD8 MOV EBX,EAX
0065D230 |. 56 PUSH ESI
0065D231 |. 0F82 A2000000 JB cloverda.0065D2D9
0065D237 |. 803A 41 CMP BYTE PTR DS:[EDX],41
0065D23A |. 0F85 99000000 JNZ cloverda.0065D2D9
0065D240 |. 807A 01 64 CMP BYTE PTR DS:[EDX+1],64
0065D244 |. 0F85 8F000000 JNZ cloverda.0065D2D9
0065D24A |. 807A 02 6F CMP BYTE PTR DS:[EDX+2],6F
0065D24E |. 0F85 85000000 JNZ cloverda.0065D2D9
0065D254 |. 807A 03 62 CMP BYTE PTR DS:[EDX+3],62
0065D258 |. 75 7F JNZ SHORT cloverda.0065D2D9
0065D25A |. 807A 04 65 CMP BYTE PTR DS:[EDX+4],65
0065D25E |. 75 79 JNZ SHORT cloverda.0065D2D9
0065D260 |. 33C0 XOR EAX,EAX
0065D262 |. 33C9 XOR ECX,ECX
0065D264 |. 8A42 05 MOV AL,BYTE PTR DS:[EDX+5]
0065D267 |. 8A4A 06 MOV CL,BYTE PTR DS:[EDX+6]
0065D26A |. C1E0 08 SHL EAX,8
0065D26D |. 03C1 ADD EAX,ECX
0065D26F |. 33C9 XOR ECX,ECX
0065D271 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0065D274 |. 33C0 XOR EAX,EAX
0065D276 |. 8A42 07 MOV AL,BYTE PTR DS:[EDX+7]
0065D279 |. 8A4A 08 MOV CL,BYTE PTR DS:[EDX+8]
0065D27C |. C1E0 08 SHL EAX,8
0065D27F |. 03C1 ADD EAX,ECX
0065D281 |. 33C9 XOR ECX,ECX
0065D283 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
0065D286 |. 33C0 XOR EAX,EAX
0065D288 |. 8A42 09 MOV AL,BYTE PTR DS:[EDX+9]
0065D28B |. 8A4A 0A MOV CL,BYTE PTR DS:[EDX+A]
0065D28E |. C1E0 08 SHL EAX,8
0065D291 |. 03C1 ADD EAX,ECX
0065D293 |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
0065D296 |. 0FB672 0B MOVZX ESI,BYTE PTR DS:[EDX+B]
0065D29A |. 8B03 MOV EAX,DWORD PTR DS:[EBX]
0065D29C |. 83C0 18 ADD EAX,18
0065D29F |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0065D2A2 |. 8910 MOV DWORD PTR DS:[EAX],EDX
0065D2A4 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
0065D2A7 |. 8948 04 MOV DWORD PTR DS:[EAX+4],ECX
0065D2AA |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
0065D2AD |. 8950 08 MOV DWORD PTR DS:[EAX+8],EDX
0065D2B0 |. 8970 0C MOV DWORD PTR DS:[EAX+C],ESI
0065D2B3 |. 8B03 MOV EAX,DWORD PTR DS:[EBX]
0065D2B5 |. C740 14 4C0000>MOV DWORD PTR DS:[EAX+14],4C
0065D2BC |. BA 01000000 MOV EDX,1
0065D2C1 |. 8BC3 MOV EAX,EBX
0065D2C3 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0065D2C5 |. FF51 04 CALL DWORD PTR DS:[ECX+4]
0065D2C8 |. C683 F8000000 >MOV BYTE PTR DS:[EBX+F8],1
0065D2CF |. 8BC6 MOV EAX,ESI
0065D2D1 |. 8883 F9000000 MOV BYTE PTR DS:[EBX+F9],AL
0065D2D7 |. EB 1B JMP SHORT cloverda.0065D2F4
0065D2D9 |> 8B03 MOV EAX,DWORD PTR DS:[EBX]
0065D2DB |. BA 01000000 MOV EDX,1
0065D2E0 |. C740 14 4E0000>MOV DWORD PTR DS:[EAX+14],4E
0065D2E7 |. 034D 08 ADD ECX,DWORD PTR SS:[EBP+8]
0065D2EA |. 8948 18 MOV DWORD PTR DS:[EAX+18],ECX
0065D2ED |. 8BC3 MOV EAX,EBX
0065D2EF |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
0065D2F1 |. FF51 04 CALL DWORD PTR DS:[ECX+4]
0065D2F4 |> 5E POP ESI
0065D2F5 |. 5B POP EBX
0065D2F6 |. 8BE5 MOV ESP,EBP
0065D2F8 |. 5D POP EBP
0065D2F9 \. C2 0400 RETN 4