mirror of
https://github.com/acidicoala/SmokeAPI.git
synced 2026-01-25 05:52:51 -05:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e72bc29635 | ||
|
|
593c0cb4bc | ||
|
|
d3fd17779c | ||
|
|
f5b8c0c89f | ||
|
|
8decbafb53 | ||
|
|
7ab9895b58 | ||
|
|
c75bbcf636 | ||
|
|
c409ff3202 | ||
|
|
8a6c8d0fba | ||
|
|
7781636335 | ||
|
|
e0ba771d52 | ||
|
|
b0a4ea0f24 | ||
|
|
c5f8a37702 | ||
|
|
50b7792375 | ||
|
|
bdbd02087c | ||
|
|
f30aee0da9 | ||
|
|
b4a9e8fd79 |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -4,7 +4,7 @@ on: push
|
||||
jobs:
|
||||
ci:
|
||||
name: CI
|
||||
uses: acidicoala/KoalaBox/.github/workflows/build-and-package.yml@1bdfeefa9933092a747c46679b3d872470ef4998
|
||||
uses: acidicoala/KoalaBox/.github/workflows/build-and-package.yml@a2838977f0b6a2933814e301e0a69ad53fdc6bce
|
||||
permissions:
|
||||
contents: write
|
||||
with:
|
||||
|
||||
1
.idea/dictionaries/project.xml
generated
1
.idea/dictionaries/project.xml
generated
@@ -16,6 +16,7 @@
|
||||
<w>koality</w>
|
||||
<w>koaloader</w>
|
||||
<w>libgtk</w>
|
||||
<w>phnt</w>
|
||||
<w>polyhook</w>
|
||||
<w>simplecpp</w>
|
||||
<w>steamapps</w>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.24)
|
||||
|
||||
project(SmokeAPI VERSION 3.1.3)
|
||||
project(SmokeAPI VERSION 3.1.5)
|
||||
|
||||
include(KoalaBox/cmake/KoalaBox.cmake)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
@@ -39,7 +39,6 @@ set(SMOKE_API_SOURCES
|
||||
src/steam_api/virtuals/isteamhttp.cpp
|
||||
src/steam_api/virtuals/isteaminventory.cpp
|
||||
src/steam_api/virtuals/isteamuser.cpp
|
||||
src/steam_api/virtuals/isteamutils.cpp
|
||||
src/steam_api/virtuals/steam_api_virtuals.hpp
|
||||
src/steam_api/steam_client.hpp
|
||||
src/steam_api/steam_client.cpp
|
||||
@@ -110,19 +109,35 @@ if(WIN32)
|
||||
INPUT_SOURCES_DIR ""
|
||||
DLL_FILES_GLOB "${CMAKE_CURRENT_SOURCE_DIR}/res/steamworks/*/binaries/${STEAM_API_MODULE}.dll"
|
||||
)
|
||||
configure_linker_exports(
|
||||
TARGET SmokeAPI
|
||||
HEADER_NAME "linker_exports_for_version.h"
|
||||
FORWARDED_DLL "C:/Windows/System32/version.dll"
|
||||
INPUT_SOURCES_DIR ""
|
||||
DLL_FILES_GLOB "C:/Windows/System32/version.dll"
|
||||
|
||||
set(HEADER_CONTENT "#pragma once\n\n")
|
||||
|
||||
foreach(WIN_DLL version winhttp winmm)
|
||||
set(HEADER_NAME "linker_exports_for_${WIN_DLL}.h")
|
||||
configure_linker_exports(
|
||||
TARGET SmokeAPI
|
||||
HEADER_NAME "${HEADER_NAME}"
|
||||
FORWARDED_DLL "C:/Windows/System32/${WIN_DLL}.dll"
|
||||
INPUT_SOURCES_DIR ""
|
||||
DLL_FILES_GLOB "C:/Windows/System32/${WIN_DLL}.dll"
|
||||
)
|
||||
|
||||
set(HEADER_CONTENT "${HEADER_CONTENT}#include <${HEADER_NAME}>\n")
|
||||
endforeach()
|
||||
|
||||
file(GENERATE
|
||||
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/generated/linker_exports_for_windows_dlls.h"
|
||||
CONTENT "${HEADER_CONTENT}"
|
||||
)
|
||||
|
||||
# Ignore linker warnings regarding COM-related private exports
|
||||
set_target_properties(SmokeAPI PROPERTIES LINK_FLAGS "/ignore:4104")
|
||||
else()
|
||||
# configure_linker_exports(
|
||||
# TARGET SmokeAPI
|
||||
# HEADER_NAME "libsteam_api_exports.cpp"
|
||||
# FORWARDED_DLL "${STEAM_API_MODULE}_o.so"
|
||||
# DLL_FILES_GLOB "${CMAKE_CURRENT_SOURCE_DIR}/res/steamworks/*/binaries/${LINUX_DIR}/${STEAM_API_MODULE}.so"
|
||||
# INPUT_SOURCES_DIR ""
|
||||
# )
|
||||
# configure_linker_exports(
|
||||
# TARGET SmokeAPI
|
||||
# HEADER_NAME "libsteam_api_exports.cpp"
|
||||
# FORWARDED_DLL "${STEAM_API_MODULE}_o.so"
|
||||
# DLL_FILES_GLOB "${CMAKE_CURRENT_SOURCE_DIR}/res/steamworks/*/binaries/${LINUX_DIR}/${STEAM_API_MODULE}.so"
|
||||
# INPUT_SOURCES_DIR ""
|
||||
# )
|
||||
endif()
|
||||
|
||||
2
KoalaBox
2
KoalaBox
Submodule KoalaBox updated: a658f5b179...c8d3ce1a73
28
README.md
28
README.md
@@ -33,7 +33,8 @@ Therefore, **you have to first research the game's topic**, to see if it support
|
||||
|
||||
Additionally, there are several points to bear in mind when it comes to unlocking DLCs with SmokeAPI:
|
||||
|
||||
* SmokeAPI most definitely will not work with games that use 3rd party DRM, such as games from Ubisoft, Rockstar, etc.* SmokeAPI is unlikely to unlock anything in Free-To-Play games since they typically store all player data on the corresponding game server and hence all the checks are server-side.
|
||||
* SmokeAPI most definitely will not work with games that use 3rd party DRM, such as games from Ubisoft, Rockstar, etc.* SmokeAPI most likely will not work with games that use Denuvo SecureDLC.
|
||||
* SmokeAPI is unlikely to unlock anything in Free-To-Play games since they typically store all player data on the corresponding game server and hence all the checks are server-side.
|
||||
* SmokeAPI will not work with games that employ additional ownership protection or if the game is using alternative DLC verification mechanism.
|
||||
* SmokeAPI is unlikely to work with games that use an anti-cheat, since they typically detect any DLL/EXE that has been tampered with. Sometimes it is possible to disable an anti-cheat, but that typically entails the loss of online capabilities. Search in the respective game topic for more information about how to disable anti-cheat.
|
||||
* Some games include DLC files in their base game, regardless of whether you own the DLC or not. However, some games download additional DLC files only after a user has bought the corresponding DLC. In this case, not only will you need to install SmokeAPI, but you also have to get the additional DLC files from somewhere else and put them into the game folder. Up-to-date DLC files often can be found in corresponding game topics.
|
||||
@@ -82,25 +83,25 @@ If that didn't work, refer to the _Troubleshooting_ section below.
|
||||
### 🪝 Hook mode
|
||||
|
||||
- Download the [latest SmokeAPI release zip].
|
||||
- From this downloaded zip extract `SmokeAPI32.dll` or `SmokeAPI64.dll`, depending on a game's bitness.
|
||||
- Rename the unzipped DLL to `version.dll`.
|
||||
- Place this `version.dll` next to the game's `.exe` file.
|
||||
- From this downloaded zip extract `smoke_api32.dll` or `smoke_api64.dll`, depending on a game's bitness.
|
||||
- Rename the unzipped DLL to `version.dll` or `winhttp.dll` or `winmm.dll`.
|
||||
- Place this `version.dll` or `winhttp.dll` or `winmm.dll` next to the game's `.exe` file.
|
||||
|
||||
#### 🪝 Hook mode with Koaloader
|
||||
|
||||
If a game doesn't load
|
||||
`version.dll`, you can use an alternative injector to load SmokeAPI into the game process.
|
||||
If a game doesn't load `version.dll` or `winhttp.dll` or `winmm.dll`, you can use an alternative injector to load
|
||||
SmokeAPI into the game process.
|
||||
One such injector is [Koaloader], which supports different DLLs that a typical game might load.
|
||||
For example, assuming that the game loads `winmm.dll`:
|
||||
For example, assuming that the game loads `d3d11.dll`:
|
||||
|
||||
- Install Koaloader:
|
||||
- Download the [latest Koaloader release zip].
|
||||
- From this downloaded zip extract `winmm.dll` from `winmm-32` or `winmm-64`, depending on a game's bitness.
|
||||
- Place `winmm.dll` next to the game's `.exe` file.
|
||||
- From this downloaded zip extract `d3d11.dll` from `d3d11-32` or `d3d11-64`, depending on a game's bitness.
|
||||
- Place `d3d11.dll` next to the game's `.exe` file.
|
||||
- Install SmokeAPI
|
||||
- Download the [latest SmokeAPI release zip].
|
||||
- From this downloaded zip extract `SmokeAPI32.dll` or `SmokeAPI64.dll`, depending on a game's bitness.
|
||||
- Place `SmokeAPI32.dll` or `SmokeAPI64.dll` next to the game's `.exe` file.
|
||||
- From this downloaded zip extract `smoke_api32.dll` or `smoke_api64.dll`, depending on a game's bitness.
|
||||
- Place `smoke_api32.dll` or `smoke_api64.dll` next to the game's `.exe` file.
|
||||
|
||||
#### 🪝 Hook mode with Special K
|
||||
|
||||
@@ -111,7 +112,7 @@ In such cases, it might be worth trying [Special K], which can inject SmokeAPI a
|
||||
|
||||
- Find a `steam_api.dll` or `steam_api64.dll` file in game directory, and rename it to `steam_api_o.dll` or `steam_api64_o.dll`.
|
||||
- Download the [latest SmokeAPI release zip].
|
||||
- From this downloaded zip extract `SmokeAPI32.dll` or `SmokeAPI64.dll`, depending on a game's bitness.
|
||||
- From this downloaded zip extract `smoke_api32.dll` or `smoke_api64.dll`, depending on a game's bitness.
|
||||
- Rename this extracted DLL to `steam_api.dll` or `steam_api64.dll`, depending on a game's bitness.
|
||||
- Place this renamed unlocker DLL next to the `steam_api_o.dll` or `steam_api64_o.dll` file.
|
||||
|
||||
@@ -171,7 +172,7 @@ Below you can find an example config where nearly every option has been customiz
|
||||
|
||||
```json
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.2/res/SmokeAPI.schema.json",
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.5/res/SmokeAPI.schema.json",
|
||||
"$version": 4,
|
||||
"logging": true,
|
||||
"log_steam_http": true,
|
||||
@@ -309,6 +310,7 @@ This project makes use of the following open source projects:
|
||||
- [pantor/inja](https://github.com/pantor/inja)
|
||||
- [bshoshany/thread-pool](https://github.com/bshoshany/thread-pool)
|
||||
- [batterycenter/embed](https://github.com/batterycenter/embed)
|
||||
- [serge1/ELFIO](https://github.com/serge1/ELFIO)
|
||||
|
||||
## 📄 License
|
||||
|
||||
|
||||
@@ -54,5 +54,6 @@ They will be added to the list of missing DLC IDs to facilitate config-less oper
|
||||
{% block extra_oss_libs %}
|
||||
- [bshoshany/thread-pool](https://github.com/bshoshany/thread-pool)
|
||||
- [batterycenter/embed](https://github.com/batterycenter/embed)
|
||||
- [serge1/ELFIO](https://github.com/serge1/ELFIO)
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.2/res/SmokeAPI.schema.json",
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.5/res/SmokeAPI.schema.json",
|
||||
"$version": 4,
|
||||
"logging": true,
|
||||
"log_steam_http": false,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.2/res/SmokeAPI.schema.json",
|
||||
"$id": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.5/res/SmokeAPI.schema.json",
|
||||
"title": "SmokeAPI configuration",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@@ -120,7 +120,7 @@
|
||||
},
|
||||
"examples": [
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.2/res/SmokeAPI.schema.json",
|
||||
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v3.1.5/res/SmokeAPI.schema.json",
|
||||
"$version": 4,
|
||||
"logging": true,
|
||||
"log_steam_http": true,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#define STEAM_API_MODULE "${STEAM_API_MODULE}"
|
||||
#define STEAMCLIENT_DLL "${STEAMCLIENT_DLL}"
|
||||
#define STEAMCLIENT_DLL "${STEAMCLIENT_DLL}"
|
||||
|
||||
BIN
res/steamworks/106/binaries/linux32/libsteam_api.so
Normal file
BIN
res/steamworks/106/binaries/linux32/libsteam_api.so
Normal file
Binary file not shown.
BIN
res/steamworks/107/binaries/linux32/libsteam_api.so
Normal file
BIN
res/steamworks/107/binaries/linux32/libsteam_api.so
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user