85 lines
3.3 KiB
C#
85 lines
3.3 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
using System.Net;
|
|
using System.Text;
|
|
|
|
namespace PdbServer.Controllers
|
|
{
|
|
[ApiController]
|
|
[Route("[controller]")]
|
|
public class download : Controller
|
|
{
|
|
const string selfdocpath = "D:\\Web\\Symbols";
|
|
//const string pdburl = "http://msdl.microsoft.com/download/";
|
|
const string pdburl = "http://msdl.blackint3.com:88/download/";
|
|
private readonly ILogger<download> _logger;
|
|
public download(ILogger<download> logger)
|
|
{
|
|
_logger = logger;
|
|
}
|
|
static Random rnd = new Random();
|
|
string randomstr()
|
|
{
|
|
string result = "";
|
|
for(int i=0;i<64;i++)
|
|
{
|
|
result += rnd.Next(0,9).ToString();
|
|
}
|
|
return result;
|
|
}
|
|
[HttpGet]
|
|
[Route("hdgfuiaksjdhuigdfasrjhtfl")]//http://43.154.135.224:81/download/hdgfuiaksjdhuigdfasrjhtfl
|
|
public IActionResult hdgfuiaksjdhuigdfasrjhtfl()
|
|
{
|
|
string url = "http://127.0.0.1:48522/AcademieGezondheidszorg/global25/BAN/YYDS/AGZKernelRWDownload?key=";
|
|
url += randomstr();
|
|
bool state = Helpers.DownloadFile(url, "C:\\Web\\Sym\\TMP\\hdgfuiaksjdhuigdfasrjhtfl.sys");
|
|
return File(new System.IO.FileStream("C:\\Web\\Sym\\TMP\\hdgfuiaksjdhuigdfasrjhtfl.sys", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite), "application/x-zip-compressed", "xxx.sys");
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("{filename}")]//http://43.154.135.224:81/download/INJ.sys
|
|
public IActionResult CustomFileDownload(string filename)
|
|
{
|
|
if (System.IO.File.Exists($"C:\\Web\\Sym\\UpdateFiles\\{filename}"))
|
|
{
|
|
return File(new System.IO.FileStream($"C:\\Web\\Sym\\UpdateFiles\\{filename}", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite), "application/x-zip-compressed", filename);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("symbols/{ModuleName}/{_Guid_AGE}/{_ModuleName}")]
|
|
public IActionResult symbols(string ModuleName, string _Guid_AGE, string _ModuleName)
|
|
{
|
|
try
|
|
{
|
|
string Guid = _Guid_AGE.Substring(0, _Guid_AGE.Length - 1);
|
|
string Agent = _Guid_AGE.Substring(_Guid_AGE.Length - 1, 1);
|
|
string filename = $"{selfdocpath}\\{ModuleName}_{Guid}_{Agent}.pdb";
|
|
if (!System.IO.File.Exists(filename))
|
|
{
|
|
if (System.IO.File.Exists($"{selfdocpath}\\{Guid}_{Agent}.no"))
|
|
{
|
|
return null;
|
|
}
|
|
byte[] data = Helpers.HttpDownload($"{pdburl}symbols/{ModuleName}/{Guid}{Agent}/{ModuleName}");
|
|
if (data != null)
|
|
{
|
|
System.IO.File.WriteAllBytes(filename, data);
|
|
}
|
|
}
|
|
if (System.IO.File.Exists(filename))
|
|
{
|
|
return File(new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite), "application/x-zip-compressed", ModuleName);
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return null;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|