0
\$\begingroup\$

I am attempting to confirm whether an SKSE plugin file in .dll format can be re-opened, edited, and recompiled to work with the latest SKSE.

My attempts thus far, as guided by the Nexus and other Skyrim modding forums, have all failed to produce editable code, much less an updated SKSE plugin.

I understand that to open the .dll as a C++/C# project, it requires an installation of Visual Studio, as well as the 2015 toolset.

I am asking here so I can get a baseline understanding of what editing .dll files requires, and more particularly how to do so when the .dll is intended for use in an SKSE mod.

I know this is a little broad, but I am honestly a bit confused where to begin, even as a programmer with past experience in C based languages. I've just never worked with .dll files before.

So far I have tried using VS2019 to open the old .dll plugin I want to update with the correct toolset installed, yet the file did not seem to be editable or possible to compile, even with the old VS install I hunted to find a legitimate download for. The file just seems, well, empty.

Any suggestions where to start are appreciated. I have searched high and low on the internet, but have found little on the subject that is targeted at what I am attempting to do, and what is seems outdated or for SSE instead of Skyrim LE.

Thanks in advance!

\$\endgroup\$
0

2 Answers 2

3
\$\begingroup\$

DLL files have been compiled into a format that your CPU can directly execute. Since Legendary Edition is a 32-bit app, that format is probably x86-32 machine code (along with some extra junk that tells Windows how to load the DLL into a program's address space). But regardless of your architecture, it is certainly not C. You can't usefully open a DLL in Visual Studio, or any IDE. You would need to decompile it, which will likely produce extremely messy and difficult to understand source code, or ask the author for the original source code, and then recompile against SKSE64.

\$\endgroup\$
0
\$\begingroup\$

By the way, you can edit DLL even if sources are not available. The process is called "reverse engineering" and it could be accomplished by rookie if not major altering of original DLL required.

The worst scenario is that DLL is protected against reverse engineering. But in that case you still can try to find reverse engineer and give him that task - every binary can be modified, it is just the matter of time.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .