archive: add 5 repo prompt(s) [skip ci]

This commit is contained in:
github-actions[bot]
2026-02-24 13:51:50 +00:00
parent 2314e7bf30
commit 512d22f10a
8 changed files with 110866 additions and 0 deletions
+510
View File
@@ -0,0 +1,510 @@
Project Path: arc_adde88_SkyEngine_874iu5jq
Source Tree:
```txt
arc_adde88_SkyEngine_874iu5jq
├── README.md
├── lua
│ └── SkyEngine
│ ├── Core.lua
│ └── SkyEngine.toc
└── src
├── Memory.h
├── SkyEngine.cpp
├── SkyEngine.sln
├── SkyEngine.vcxproj
└── SkyEngine.vcxproj.filters
```
`README.md`:
```md
# Wow Lua Unlocker
World of Warcraft Lua Unlocker for Live WoW 7.x to 8.x and Classic<br>
Website: https://winifix.github.io/<br>
# Credits
l0l1dk - the logic shared with me, originally written in D-Lang.<br>
# How it works
It just resets the "lua-tainted" address to 0 thousands/millions of times per second<br>
so all wow "protected lua" functions end up being called without issues 99% of the time,<br>
they are fooled into believing they not protected functions so run.<br>
# Will it work on Classic wow?
As of now yes, but that may change at anytime
# Can it be detected?
Yes<br>
# Will it be detected?
Maybe<br>
```
`lua/SkyEngine/Core.lua`:
```lua
local function CanCast(spellName)
local start, duration, enabled, modRate = GetSpellCooldown(spellName)
local remainingTime = (start + duration - GetTime() - select(4, GetNetStats()) / 1000)
if remainingTime < 0 then
remainingTime = 0
end
local isUsable, notEnoughMana = IsUsableSpell(spellName)
if notEnoughMana then return false end
if not isUsable then return false end
return remainingTime == 0
end
local function CastSpell(spellName, target)
if not UnitExists(target) then return end
if not UnitCastingInfo('player') and CanCast(spellName) then
secured = false
while not secured do
RunScript([[
for index = 1, 500 do
if not issecure() then
return
end
end
CastSpellByName("]] .. spellName .. [[", "]] .. target .. [[")
secured = true
]])
if secured then
print('Cast: ' .. spellName .. ' on ' .. target)
end
end
if StaticPopup1:IsVisible() then StaticPopup1:Hide() end
end
function Rotation()
if IsMounted() then return end
if not HasBuff('Flash Heal', 'player') then CastSpell('Flash Heal', 'player') end
end
C_Timer.NewTicker(0.5, Rotation)
```
`lua/SkyEngine/SkyEngine.toc`:
```toc
## Interface: 80200
## Title: |cFFDDA0DDSkyEngine
## Notes: Helper
## Core Loader
Core.lua
```
`src/Memory.h`:
```h
#pragma once
#include <iostream>
#include <string>
#include <Windows.h>
#include <TlHelp32.h>
using std::cout;
using std::endl;
using std::string;
// datatype for a module in memory (dll, regular exe)
struct module
{
DWORD_PTR BaseAddress;
DWORD Size;
};
class Memory
{
public:
module TargetModule; // Hold target module
HANDLE TargetProcess; // for target process
DWORD TargetId; // for target process
// For getting a handle to a process
HANDLE GetProcess(const char* processName)
{
WCHAR wProcessName[MAX_PATH] = { 0 };
mbstowcs(wProcessName, processName, strlen(processName));
HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
PROCESSENTRY32 entry;
entry.dwSize = sizeof(entry);
do
if (!_wcsicmp(entry.szExeFile, wProcessName)) {
TargetId = entry.th32ProcessID;
CloseHandle(handle);
TargetProcess = OpenProcess(PROCESS_ALL_ACCESS, false, TargetId);
return TargetProcess;
}
while (Process32Next(handle, &entry));
return false;
}
// For getting information about the executing module
module GetModule(const char* moduleName) {
WCHAR wModuleName[MAX_PATH] = { 0 };
mbstowcs(wModuleName, moduleName, strlen(moduleName));
HANDLE hmodule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, TargetId);
MODULEENTRY32 mEntry;
mEntry.dwSize = sizeof(mEntry);
do
{
if (!_wcsicmp(mEntry.szModule, wModuleName)) {
CloseHandle(hmodule);
TargetModule = { (DWORD_PTR)mEntry.hModule, mEntry.modBaseSize };
return TargetModule;
}
} while (Module32Next(hmodule, &mEntry));
module mod = { (DWORD_PTR)false, (DWORD)false };
return mod;
}
// Basic WPM wrapper, easier to use.
template <typename var>
bool WriteMemory(DWORD_PTR Address, var Value) {
return WriteProcessMemory(TargetProcess, (LPVOID)Address, &Value, sizeof(var), 0);
}
// Basic RPM wrapper, easier to use.
template <typename var>
var ReadMemory(DWORD_PTR Address) {
var value;
ReadProcessMemory(TargetProcess, (LPCVOID)Address, &value, sizeof(var), NULL);
return value;
}
// for comparing a region in memory, needed in finding a signature
bool MemoryCompare(const BYTE* bData, const BYTE* bMask, const char* szMask) {
for (; *szMask; ++szMask, ++bData, ++bMask) {
if (*szMask == 'x' && *bData != *bMask) {
return false;
}
}
return (*szMask == NULL);
}
// for finding a signature/pattern in memory of another process
DWORD_PTR FindSignature(DWORD_PTR start, DWORD size, const char* sig, const char* mask)
{
BYTE* data = new BYTE[size];
SIZE_T bytesRead;
ReadProcessMemory(TargetProcess, (LPVOID)start, data, size, &bytesRead);
for (DWORD i = 0; i < size; i++)
{
if (MemoryCompare((const BYTE*)(data + i), (const BYTE*)sig, mask)) {
return start + i;
}
}
delete[] data;
return NULL;
}
};
```
`src/SkyEngine.cpp`:
```cpp
#include <iostream>
#include <string>
#include <Windows.h>
#include "Memory.h"
int main()
{
SetConsoleTitle(L"SkyEngine");
printf("Developed by - WiNiFiX#0204 (Jul 2019)\n");
Memory memory;
if (memory.GetProcess("Wow.exe"))
{
printf("WoW Process Id : %i\n", memory.TargetId);
auto mod = memory.GetModule("Wow.exe");
printf("WoW Base Address : 0x%llX\n", mod.BaseAddress);
auto address = memory.FindSignature(mod.BaseAddress, mod.Size, "\x4C\x8B\x0D\x00\x00\x00\x00\x45\x33\xC0\x48\x8B\xCE", "xxx????xxxxxx");
printf("WoW Sig Address : 0x%llX\n", address);
auto TaintedAddress = address + memory.ReadMemory<DWORD>(address + 0x3) + 0x7;
printf("Lua_TaintedPtrOffset : 0x%llX\n", TaintedAddress - mod.BaseAddress); // will be values close to: 0x2CB8B88; //0x2C93B48; //0x2C94BA8;
DWORD_PTR lastLuaTaintedPtr = 0;
long count = 0;
printf("Lua is now unlocked...\n");
while (true)
{
memory.WriteMemory<DWORD_PTR>(TaintedAddress, 0);
Sleep(1);
}
}
printf("Please launch wow then re-open this unlocker\n");
for (auto c = 5; c > 0; c--)
{
printf("Closing in %i\n", c);
Sleep(1000);
}
}
```
`src/SkyEngine.sln`:
```sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29020.237
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SkyEngine", "SkyEngine.vcxproj", "{E15B5422-A159-4F53-B55F-61140454CC63}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x64.ActiveCfg = Debug|x64
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x64.Build.0 = Debug|x64
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x86.ActiveCfg = Debug|Win32
{E15B5422-A159-4F53-B55F-61140454CC63}.Debug|x86.Build.0 = Debug|Win32
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x64.ActiveCfg = Release|x64
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x64.Build.0 = Release|x64
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x86.ActiveCfg = Release|Win32
{E15B5422-A159-4F53-B55F-61140454CC63}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B682911A-B446-47BF-BB6F-6ABBE80675CF}
EndGlobalSection
EndGlobal
```
`src/SkyEngine.vcxproj`:
```vcxproj
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{E15B5422-A159-4F53-B55F-61140454CC63}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>SkyEngine</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)\Release\</OutDir>
<IntDir>$(SolutionDir)\Debug\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="SkyEngine.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Memory.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
```
`src/SkyEngine.vcxproj.filters`:
```filters
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SkyEngine.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Memory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
```
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff