diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 812529f8..33bb9385 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,8 +9,8 @@ on: workflow_dispatch: env: - DOTNET_RUNTIME: net8.0 - SETUP_DOTNET_VERSION: 8.0.x + DOTNET_RUNTIME: net10.0 + SETUP_DOTNET_VERSION: 10.0.x BEAENGINE_TAG: v5.3.0 diff --git a/De4DotCommon.props b/De4DotCommon.props index 84907e07..9e2e999f 100644 --- a/De4DotCommon.props +++ b/De4DotCommon.props @@ -5,7 +5,7 @@ true net48 - net8.0 + net10.0 strict 12.0 true diff --git a/Dockerfile b/Dockerfile index ef73dac5..479f9eaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,23 +26,23 @@ RUN mkdir -p /app && \ if [ -n "$SO_FILE" ]; then cp "$SO_FILE" /app/libBeaEngine.so; else echo "Error: libBeaEngine.so not found!" && exit 1; fi # ============================================================================== -# STAGE 2: Build de4dotEx (.NET 8.0 Cross-Platform Release) +# STAGE 2: Build de4dotEx (.NET 10.0 Cross-Platform Release) # ============================================================================== -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS dotnet-builder +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS dotnet-builder WORKDIR /src # Copy all files to build COPY . . -# Publish both de4dot and the de4dot.mcp server targeting net8.0 -RUN dotnet publish -c Release -f net8.0 -o /app/publish/de4dot de4dot/de4dot.csproj -RUN dotnet publish -c Release -f net8.0 -o /app/publish/mcp de4dot.mcp/de4dot.mcp.csproj +# Publish both de4dot and the de4dot.mcp server targeting net10.0 +RUN dotnet publish -c Release -f net10.0 -o /app/publish/de4dot de4dot/de4dot.csproj +RUN dotnet publish -c Release -f net10.0 -o /app/publish/mcp de4dot.mcp/de4dot.mcp.csproj RUN rm -rf /app/publish/**/*.pdb /app/publish/**/*.xml # ============================================================================== -# STAGE 3: Final Runtime Image (.NET 8.0 on Ubuntu / Runtime) +# STAGE 3: Final Runtime Image (.NET 10.0 on Ubuntu / Runtime) # ============================================================================== -FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime +FROM mcr.microsoft.com/dotnet/runtime:10.0 AS runtime WORKDIR /app # Install native dependencies required for execution (e.g. globalization, bash) diff --git a/build.ps1 b/build.ps1 index a0259d58..65686410 100644 --- a/build.ps1 +++ b/build.ps1 @@ -4,10 +4,10 @@ dotnet build -c Release -f net48 de4dot.netframework.sln if ($LASTEXITCODE) { exit $LASTEXITCODE } Remove-Item Release\net48\*.pdb, Release\net48\*.xml, Release\net48\Test.Rename.* -dotnet publish -c Release -f net8.0 -o publish-net8.0 de4dot +dotnet publish -c Release -f net10.0 -o publish-net10.0 de4dot if ($LASTEXITCODE) { exit $LASTEXITCODE } -Remove-Item publish-net8.0\*.pdb, publish-net8.0\*.xml +Remove-Item publish-net10.0\*.pdb, publish-net10.0\*.xml -dotnet publish -c Release -f net8.0 -o publish-net8.0-mcp de4dot.mcp +dotnet publish -c Release -f net10.0 -o publish-net10.0-mcp de4dot.mcp if ($LASTEXITCODE) { exit $LASTEXITCODE } -Remove-Item publish-net8.0-mcp\*.pdb, publish-net8.0-mcp\*.xml +Remove-Item publish-net10.0-mcp\*.pdb, publish-net10.0-mcp\*.xml diff --git a/de4dot.mcp/de4dot.mcp.csproj b/de4dot.mcp/de4dot.mcp.csproj index 98a14868..eb989ba0 100644 --- a/de4dot.mcp/de4dot.mcp.csproj +++ b/de4dot.mcp/de4dot.mcp.csproj @@ -4,8 +4,8 @@ Exe - - net8.0 + + net10.0 diff --git a/dotnet-deobfuscate/SKILL.md b/dotnet-deobfuscate/SKILL.md index a2954e24..c3394f0b 100644 --- a/dotnet-deobfuscate/SKILL.md +++ b/dotnet-deobfuscate/SKILL.md @@ -77,7 +77,7 @@ Command for registering inside your MCP client config (`claude_desktop_config.js "mcpServers": { "de4dotex": { "command": "dotnet", - "args": ["/absolute/path/to/publish-net8.0-mcp/de4dot.mcp.dll"] + "args": ["/absolute/path/to/publish-net10.0-mcp/de4dot.mcp.dll"] } } ``` diff --git a/test.ps1 b/test.ps1 index 1e224670..c6d07dbd 100644 --- a/test.ps1 +++ b/test.ps1 @@ -4,7 +4,7 @@ mkdir obj -Force | Out-Null # C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64 $env:PATH="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64;$env:PATH" -$de4dotExec="Release\net8.0\win-x64\de4dot.exe" +$de4dotExec="Release\net10.0\win-x64\de4dot.exe" function Test($item) { @@ -22,4 +22,4 @@ function Test($item) Test("tests\samples\inlining\inline_static_method.il") Test("tests\samples\inlining\inline_static_generic_method.il") Test("tests\samples\inlining\inline_static_method_br_target.il") -Test("tests\samples\inlining\inline_static_method_new.il") \ No newline at end of file +Test("tests\samples\inlining\inline_static_method_new.il")