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
455 Views Asked by Oyvind E At
1
There are 1 best solutions below
Related Questions in WINDOWS
- Get Maximum Log Size
- Debugging Windows Services while starting
- Possible consequences of duplicate ProgId for different classes
- How to chain BCryptEncrypt and BCryptDecrypt calls using AES in GCM mode?
- mingw-64 conflicting declarations when cross-compiling
- I run an EXE program from a Windows Service but I can't see form C#?
- Why is PowerShell "not recognized" when installing Chocolatey?
- How to check if Windows device is phone or tablet/pc?
- How to add directories to Cygwin gcc default search path
- Can't install anything with pip2 on Windows 7 due to UnicodeDecodeError
- Active directory and linux nslcd binding without extending the AD schema
- How To Prevent Over Scrolling in Scroll Viewer Windows Phone 8.1
- Unicode error from pip install
- Where is the 'EnablePinning' property in the ribbon framework's recent items?
- How can I implement the same models and data across ASP.NET and Windows Apps
Related Questions in MEMORY
- DataTable does not release memory
- Impala Resource Estimation for queries with Group by
- Is there any way to get a lru list in Linux kernel?
- C# console application - Unhandled exception while finding the Available and free Ram space.Getting exact answer in windows forms application
- Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in PHP
- C# equivalent of Java Memory mapping methods
- How to figure out the optimal fetch size for the select query
- Creating two arrays with malloc on the same line
- Using parse.com and having allocation memory issue
- error reading variable: cannot access memory at address
- CentOS memory availability
- Correct idiom for freeing repr(C) structs using Drop trait
- Find Ram/Memory manufacturer in Linux?
- Profiling memory usage on App Engine
- Access Violation: 0xC0000005, why is this happening?
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
- C++ : Dll injection. Why CreateRemoteThread() fail on Notepad?
- FreeLibrary not unhooking DLL
- Execute remote function with memory address as parameter
- CreateRemoteThread() fails with Access Denied (0xc00000005)
- Passing multiple parameters using CreateRemoteThread in C#
- Dll injection not working in suspended process
- CreateRemoteThread says file doesn't exist, but it DOES exist
- Stop or Detection dll injection loadlibrary
- Calling a function in another process with parameters using CreateRemoteThread
- Would ASLR cause friction for the address with DLL injection?
- Remote thread is failing on call to LoadLibrary with error 87
- DLL injection via CreateRemoteThread?
- DLL code injection with remote Thread: Where to store DLL filename/location in target process address space?
- CreateRemoteThread does not work with DLL
- How to fix "LPVOID: unknown size" error while using the CreateRemoteThread API?
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.