I'm trying to execute a function in a running (old) Win32 Borland application (Window has class OLW_WINDOW). By using OllyDbg I've found out that the function has one parameter which is a memory address. One variable/value used by the function is stored at an offset of that address. My idea is to find that memory address (which is at an constant offset in a memory block), change the variable/value to what I want and then execute the function. To use WriteProcessMemory and CreateRemoteThread to execute is okey, but the problem is how to find the memory address/block? When opening "Memory map" in OllyDbg the memory block has no owner, section or contains. Is it possible to get a list of memory blocks created by a specified thread? Or could I get it from the application somehow? Btw: the function is normally executed when a button is clicked and the variable/value I want to set is a database ID listed (by name) in a listview (or equivalent).
Execute remote function with memory address as parameter
460 Views Asked by Oyvind E At
1
There are 1 best solutions below
Related Questions in WINDOWS
- how to play a sounds in c# forms?
- Echo behaviour of Microsoft Windows Telnet Client
- Getting error while running spark-shell on my system; pyspark is running fine
- DirectX 9 With No SDK Installed - How To Translate a D3DMATRIX?
- Gradle 8.7 cannot find installed JDK 22 in IntelliJ
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Cannot load modules/mod_dav_svn.so into server
- Issue with launching application after updating ElectronJs to version 28.0.0 on Windows and Linux
- 32-bit applications do not display some files in Windows 10
- 'bun' is not recognized as an internal or external command
- mkssecreenshotmgr taking a screenshot
- Next js installation in windows 7 os
- Can't resize a partition using Mini Tool?
- Is there any way to set a printer as default according with Active Directory Policy Security Group and PC hostname?
- Electron Printing not working on Windows (Works on Mac)
Related Questions in MEMORY
- 9 Digit Addresses in Hexadecimal System in MacOS
- Memory location changing from 0 to 1 consistently on Mac
- Would event listeners prevent garbage collecting objects referenced in outer function scopes?
- tensorrt inference problem: CPU memory leak
- How to estimate the memory size of a binary voxelized geometry?
- Java Memory UTF-16 Vs UTF-8
- Spring Boot application container memory footprint (Java 21)
- Low memory Windows CE
- How to throw an error when a program acesses a block of memory created by you that has been deallocated by a call of free?
- Golang bufio.Scanner: token too long
- Get the address and size of a loaded shared object on memory from C
- In Redis Databases how do we need to calculate the table size
- ClickHouse Materialized View consuming a lot of Memory and CPU
- How to reduce memory usage for large matrix calculations?
- How to use memray with Gunicorn or flask dev server?
Related Questions in OLLYDBG
- What does MOV EAX,DWORD PTR DS:[ESI+EBP*8] do?
- Finding static addresses in .exe file
- binwalk in reversing switch
- What are the differences between OllyDbg and WinDbg?
- Why are the cpu-registers in OllyDbg not sorted alphabetically?
- Unpacking WinUpack 0.39 with Ollydbg 1.10
- Assembly stack index address
- windows process memory layout
- ollydbg change unicode string bulk method
- error when trying to move the first byte from a string into a register
- find out what instructions write to this memory address olly dbg cheat engine
- x64dbg jump arrows disappears when scrolling the page
- Editing assembly in WinDbg
- Manually setting breakpoints in WinDBG
- OllyDbg doesn't work in Windows 7 x64
Related Questions in CREATEREMOTETHREAD
- How to load a DLL on disk into remote process via Golang?
- Intercept LoadLibrary calls by current process after DLL injection
- C++ / WinAPI: How do I get a value from a function in the injected x64 DLL?
- CreateRemoteThread() fails with Access Denied (0xc00000005)
- Calling a function in another process with parameters using CreateRemoteThread
- FreeLibrary not unhooking DLL
- How to fix "LPVOID: unknown size" error while using the CreateRemoteThread API?
- CreateRemoteThread fails on Windows7 64bit for 32bit applications
- CreateRemoteThread succeeded, but LoadLibrary failed for some target app
- Why does injecting code caves with thread injection crash my target win32 EXE?
- Python (ctypes) CreateRemoteThread causes the process to crash
- CreateRemoteThread does not work with DLL
- DLL code injection with remote Thread: Where to store DLL filename/location in target process address space?
- C++ : Dll injection. Why CreateRemoteThread() fail on Notepad?
- DLL injection via CreateRemoteThread?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The best thing to do is just call the function.
As an example here is a function which prints output to a console:
To call it, we would find the address of this function in the target binary. Let's say it's found at 0xDEADC0DE.
We would form a typedef for a function pointer:
We would create an instance of that function pointer type
To call the function we would simply do:
Likewise for your project, you would input whatever argument you required.