metick / dmalibrary Goto Github PK
View Code? Open in Web Editor NEWSimple but extensive library for DMA users, made for gamehacking
License: MIT License
Simple but extensive library for DMA users, made for gamehacking
License: MIT License
Seems like the keyboard sometimes doesn't want to initialize and a restart normally fixes it but was curious if it's possible to fix it. I think the offsets might change sometimes which causes the issue but unsure.
Hello i want to use the cr3 fix and got the needed dlls for it however i dont know where to but them as if i put them into the libs folder it still tells me it cant find them ?
I compile the code but I don't get the DMALibrary.lib
23H2 22631.3810
offset 0x3690 changed to 0x36a8
Tested 0x36a8 works
Winver: 22631.2861
InputManager -> gafAsyncKeyStateExport.
The code to get the user_session_state
doesn't seem to be working, as evidenced by the fact that it doesn't read the correct value during the second step.
The following code is a demo of the code I split when I was conducting my research.
It reads 4 pid's 4 uses seems to be the same, do you have any suggestions?
Thank you for your work.
Hello, could you please provide an example of Shellcode?
Here is my code, but it doesn't work.
uint64_t addr = 5406482976; mem.Write(caves[0], shellcode); shell->call_function(reinterpret_cast<void*>(caves[0]), (void*)addr, "game.exe"); cout << mem.Read<uint64_t>(caves[0] + address_offset) << endl; if (mem.Read<uint64_t>(caves[0] + address_offset) > 0)
In having trouble optimizing the read speed with scatter read. For example if i use scatter read for view matrix, it updates the viewpoint after 1second or so. Instead with normal reads i get it all correct and it updates correctly but obviously i get lower fps.
Could it be that i have to use -norefresh or change refresh settings ?
Or am i using scatter read wrong?
Heres the code where i get the problem:
double a;
double b;
double c;
mem.AddScatterReadRequest(ScatterHandle, cameraRotationPtr, &a, sizeof(double));
mem.AddScatterReadRequest(ScatterHandle, cameraRotationPtr + Offsets::BOffset, &b, sizeof(double));
mem.AddScatterReadRequest(ScatterHandle, cameraRotationPtr + Offsets::COffset, &c, sizeof(double));
mem.ExecuteReadScatter(ScatterHandle, ProcId);
I ran into this issue and notice all DMA sources I've examined don't verify the VMMDLL_MemReadEx
the read byte count.
The reads can definitely fail. For instance I was using the VMMDLL_FLAG_NOPAGING
trying to read from a process image.
In turned out that it was failing because the memory pages were not paged in.
VMMDLL_MemReadEx
returned true
but was only reading part of the memory.
I only found this out by verifying pcbReadOpt
actually read count during troubleshooting.
Notice here for the VMMDLL_MemRead
function in the MemProcFS source:
https://github.com/ufrisk/MemProcFS/blob/master/vmm/vmmdll.c#L745
There is such a check && (dwRead == cb)
So a suggestion if you want to catch potential problems, you could add these && (dwRead == cb)
type checks to calls like:
https://github.com/Metick/DMALibrary/blob/Master/DMALibrary/Memory/Memory.cpp#L663
how to used shellcode search
Fixed cr3 display successfully but module DLL still couldn't get base address
I'm looking for some assistance in using the pattern scanning for this library.
When looking at the documentation for the function is seems that it requires being used like so.
offsets::GNAMES = mem.FindSignature("48 8D 0D ?? ?? ?? ?? 8B FA 75 0F", 0x9074D30, 0xaf8c000);
But when scanning the pattern and knowing that the good address is 0x9274D40
the function returns NULL. I see in the comment you used single ? not ?? for your sigs but i've tried both with no success?
Do you have any ideas of what im doing wrong. Ofc I've already init the process
Console output
loading libraries...
Successfully loaded libraries!
inizializing...
dumping memory map to file...
Dumped memory map!
FPGA ID: 4
DEVICE ID: 8960
success!
[+] VMMDLL_ConfigGet ID = 4 VERSION = 0.0
CR3 fixed
[+] Found Base Address for DungeonCrawler.exe at 0x00007FF6301D0000
[+] Found Base Size for DungeonCrawler.exe at 0x000000000AF8C000
Process information of DungeonCrawler.exe
PID: 37316
Base Address: 0x7ff6301d0000
Base Size: 0xaf8c000
Unable to get the GNames
Code:
int main(std::string args[])
{
if (!mem.Init("DungeonCrawler.exe", true, false))
{
std::cout << "Failed to initilize DMA" << std::endl;
return 1;
}
offsets::GNAMES = mem.FindSignature("48 8D 0D ? ? ? ? 8B FA 75 0F", 0x9074D30, 0xAD692D0);
if (offsets::GNAMES != NULL) {
printf("We got something thats not null for GNames 0x%llx",offsets::GNAMES);
}
else {
printf("Unable to get the GNames");
}
}
Hi, thanks for sharing library. Is there a way to read screen size via DMA?
Thanks
I got BSOD everytime when tried to use call_function or just rewrite IAT/EAT function for further hooking
Thank you.
I know the problem now, please close this issue directly. Thank you! Just replace it with memory reading. I'll use VMMLL_readEX instead
Originally posted by @subeoy1 in #25 (comment)
Brother, how did you solve it?
The cumulative update preview for Windows 11 Version 23H2 (KB5041587) appears to have encountered an issue that failed to initialize keyboard.
When I try to read the item name from the inventory, I can't retrieve it. However, after accessing the pointer once using CE, I can successfully read the name via DMA. How should I handle this situation?
typedef BOOLEAN(*ExDestroyHandleProc)(PVOID HandleTable, HANDLE Handle, PVOID HandleTableEntry);
SysCall<ExDestroyHandleProc>(NULL,NULL,NULL);
ERROR
How to use Shell to call functions in games
function reinterpret_cast<void* (__fastcall*)(void*, const char*)> (0x7Fxxxxxxxxxx)(domain, name)
Getting error: Failed to initialize keyboard hotkeys through kernel
idk why
Recalling mem. init failed to initialize when restarting the exe to be read
Win11 / VS 2022
1 added leechcore.lib and vmmdll.lib to libs
folder from https://github.com/ufrisk/MemProcFS/tree/master/includes/lib32
build solution fails with c++ versions
2 changed project versions to c++ 20
wcstombs may be unsafe issue
3 Added 4996
to disable specific warnings
cannot open source file "DMALibrary/Memory/Memory.h"
Cannot open Include file "DMALibrary/Memory/Memory.h"
4 added DMALibrary-Master
to Additional Include Directories
on the Example
project
unresolved external symbol ::InitKeyboard
unresolved external symbol Memory::Memory
5 Added DMALibrary
to References
under the Example
Project
Unresolved external symbol VMMDLL_MemFree
Unresolved external symbol VMMDLL_ReadEx
... etc
I have also tried adding the DMALibrary.lib(and the others) to a lib directory in the example project. But this is where I am currently stumped, I have remade the project several times and am unable to build the example project based on the most recent version of this repo.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.