• Introduction
  • BoxedApp SDK
  • BoxedApp Packer
  • BoxedApp Packer API
Show / Hide Table of Contents
  • Introduction
  • Which Product to Choose
  • System Requirements
  • Basics
    • Virtual Environment
      • Virtual Environment
      • Attached Processes
      • How Attachment Works
      • Virtual Process
      • Shared Memory
    • Virtual File System
    • Virtual Registry
  • BoxedApp SDK
    • Introduction
    • Virtual Files
      • Creating Virtual Files
    • API
      • Functions
        • BoxedAppSDK_Init
        • BoxedAppSDK_EnableDebugLog
        • BoxedAppSDK_SetLogFile
        • BoxedAppSDK_WriteLog
        • BoxedAppSDK_EnableOption
        • BoxedAppSDK_IsOptionEnabled
        • BoxedAppSDK_RemoteProcess_EnableOption
        • BoxedAppSDK_RemoteProcess_IsOptionEnabled
        • BoxedAppSDK_CreateVirtualFile
        • BoxedAppSDK_CreateVirtualFileBasedOnIStream
        • BoxedAppSDK_CreateVirtualFileBasedOnBuffer
        • BoxedAppSDK_CreateVirtualDirectory
        • BoxedAppSDK_DeleteFileFromVirtualFileSystem
        • BoxedAppSDK_CreateVirtualRegKey
        • BoxedAppSDK_EnumVirtualRegKeys
        • BoxedAppSDK_RegisterCOMLibraryInVirtualRegistry
        • BoxedAppSDK_RegisterCOMServerInVirtualRegistry
        • BoxedAppSDK_AttachToProcess
        • BoxedAppSDK_DetachFromProcess
        • BoxedAppSDK_HookFunction
        • BoxedAppSDK_GetOriginalFunction
        • BoxedAppSDK_EnableHook
        • BoxedAppSDK_UnhookFunction
        • BoxedAppSDK_RemoteProcess_LoadLibrary
        • BoxedAppSDK_SharedMem_Alloc
        • BoxedAppSDK_SharedMem_Free
        • BoxedAppSDK_SharedMem_Lock
        • BoxedAppSDK_SharedMem_Unlock
        • BoxedAppSDK_SharedMem_CreateStreamOnSharedMem
      • Options
    • Use Cases
      • Using COM / ActiveX Object without Registering It in the Registry
      • Loading DLL from Memory
      • Starting Application Directly from Memory
      • Intercepting Functions
    • License
  • BoxedApp Packer
    • Introduction
    • Plugins
    • Virtual Files
    • Virtual Registry
    • Command Line Overriding
    • License
  • BoxedApp Packer API
    • Introduction
    • API
      • Functions
        • BxPackerApi_CreateProject
      • Interfaces
        • IBxProject
          • Methods
            • put_InputPath
            • get_InputPath
            • put_OutputPath
            • get_OutputPath
            • put_ShareVirtualEnvironmentWithChildProcesses
            • get_ShareVirtualEnvironmentWithChildProcesses
            • put_EnableDebugLog
            • get_EnableDebugLog
            • put_EnableVirtualRegistry
            • get_EnableVirtualRegistry
            • put_HideVirtualFileFromFileDialog
            • get_HideVirtualFileFromFileDialog
            • put_AllChangesAreVirtual
            • get_AllChangesAreVirtual
            • put_SetIcon
            • get_SetIcon
            • put_IconPath
            • get_IconPath
            • put_EnableSplashScreen
            • get_EnableSplashScreen
            • put_SplashScreenPath
            • get_SplashScreenPath
    • License

Loading DLL from Memory

Suppose that a third-party component is available exclusively as a DLL. Nevertheless, we need to get a single exe file at the output. There are several reasons for that:

  • We may need to conceal the fact of using the DLL.
  • Or we may need to protect the DLL from tampering by hackers.

With BoxedApp SDK, developer creates a virtual file (for example, using the function BoxedAppSDK_CreateVirtualFile) and writes the contents of the DLL file to that file. It can obtain data from any source: Internet, LAN, database or application resources. Finally, the data can be generated on the fly.

Now you can download the library using the LoadLibrary function, and the application will run just as if the DLL file actually existed on the disk.

Back to top BoxedApp SDK | BoxedApp Packer | BoxedApp Packer API | Download | Buy | Contact us | Copyright © Softanics | Generated by DocFX