Jump to content

Smart Crypt Decryptor 1.5.2.2


SageBR

Recommended Posts

 

 Sharing is caring

Creditos:

Citar

Forum MaxCheaters
wongerlt,Celestine 

Este é um tópico semelhante, apenas com ele você pode descriptografar os arquivos da versão 1.5.2.2.
Tudo igual, apenas o código-fonte diferente:

main.cpp

Citar

 

#include <string>
#include <iostream>
#include <fstream>
#include <map>
#include "hook.h"

typedef BOOL(WINAPI *_ReadFile) (HANDLE hFile, char *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
_ReadFile true_ReadFile;

typedef HANDLE(WINAPI *_CreateFileW) (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
_CreateFileW true_CreateFileW;


std::map<int, DWORD> Handles;

void fileputcontents(const std::string& name, char* content, DWORD size, bool append = false) {
    std::ofstream outfile;
    if (append)
        outfile.open(name, std::ios::app | std::ios::binary);
    else
        outfile.open(name, std::ios::binary);
    outfile.write(content, size);
}

int file = 0;
BOOL WINAPI new_ReadFile(HANDLE hFile, char *lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) {

    bool result = true_ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped);
    std::map<int, DWORD>::iterator it = it = Handles.find((int)hFile);
    if (it != Handles.end()) {
        std::string filename;
        file++;
        filename = "decrypted_file.txt";
        if (file == 1) {
            fileputcontents(filename, lpBuffer, nNumberOfBytesToRead);    
        }
        else {    
            fileputcontents(filename, lpBuffer, nNumberOfBytesToRead, true);
        }
    }
    
    return result;

}

HANDLE WINAPI new_CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) {

    HANDLE true_handle = true_CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
    if (wcsstr(lpFileName, L"SysString-e.dat") != 0) {
        std::map<int, DWORD>::iterator iter = Handles.find((int)true_handle);
        Handles.insert(std::make_pair((int)true_handle, (DWORD)0));
    }
    else {
        std::map<int, DWORD>::iterator iter = Handles.find((int)true_handle);
        if (iter != Handles.end())
            Handles.erase(iter);
    }
    return true_handle;

}

bool SetHooks(void)
{
    FARPROC addr;

    HANDLE hEngine = LoadLibraryA("engine.dll");
    if ((addr = GetProcAddress(LoadLibraryA("kernel32.dll"), "ReadFile")) == 0)
        return false;
        true_ReadFile = (_ReadFile)splice((unsigned char*)addr, new_ReadFile);

    if ((addr = GetProcAddress(LoadLibraryA("kernel32.dll"), "CreateFileW")) == 0)
        return false;
        true_CreateFileW = (_CreateFileW)splice((unsigned char*)addr, new_CreateFileW);
        return true;

}

int load(void)
{
    return 0;
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{

    if (fdwReason == DLL_PROCESS_ATTACH)
    {
        if (!SetHooks()) {
            return false;
        }
    }
    return true;
}

 

hook.h
https://pastebin.com/V90efrHJ

hook.cpp
https://pastebin.com/LG92sS4b

1. Parte CFF Explorer: no arquivo ogg.dll.
https://prnt.sc/sl91ylUn1B18
https://prnt.sc/NkkBPbailjZH

 SmartDecrypt.dll deve ser antes npkscrypt.dll

 

Compiled Version: vs2017 (v141 xp)

https://drive.google.com/file/d/1J4_OQS0dq5UD119xHi06Ve5028Ht-IWg/view?usp=sharing

Se você quiser descriptografar o exemplo interface.u/xdat/ou outro arquivo, basta renomeá-lo para SysString-e.dat e executar l2.exe (você receberá um erro, basta clicar em ok), afinal na pasta do sistema deve aparecer decrypted_file.txt. (este arquivo será criptografado com l2encrypt normal (413/111 e etc.)

 

Edited by SageBR
  • Thanks 1
Link to comment
Share on other sites





×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.