Awesome
memory-server
Next Generation Browser-based Process Memory Analyser.
All data is bundled in one binary.
Usage
iOS
Run
with a Jailbroken iPhone
Place your PC and iphone in the same network.
Place memory-server and Entitlements.plist in /usr/bin.
Connect to the iphone via ssh.
cd /usr/bin
ldid -SEntitlements.plist memory-server
./memory-server
The httpserver starts at port 3030
.
without a Jailbroken iPhone
Set up the same way as FridaGadget to force loading of libmemory_server.dylib.
Connect to the network from Browser as usual.
Log output is written to NSLog.
Connect from browser
Connect to memory-server from a browser on your PC.
http://{iPhone's ip}:3030/index.html
The following top page will be displayed.
<img width="500" alt="img1" src="https://github.com/user-attachments/assets/2998770f-fcf7-4cdf-9272-5e76753029e4">Setting
Enter the ip of the iPhone in the 「IP Address」 field and press the 「Connect」 button.
Next, select a process and press the 「Open Process」 button.
<img width="500" alt="img2" src="https://github.com/DoranekoSystems/memory-server/assets/96031346/4aa7bf02-c97a-4e1b-97da-8778e6017550">Memory Scan
<img width="500" alt="img3" src="https://github.com/user-attachments/assets/78bdac66-7ed4-440d-b5af-0e7e23f74f0b">Debugger
Only watchpoints are supported in the iOS environment.
<img width="500" alt="img4" src="https://github.com/user-attachments/assets/957910ec-0506-4951-b68b-1476764a3ae1">File Explorer
The feature allows viewing and downloading files on the device
<img width="500" alt="img4" src="https://github.com/user-attachments/assets/9873a16a-57f4-42a5-8244-2cdeaf1278a2">Android
Run
with a Rooted Android
Network connection is identical to iphone.
cd /data/local/tmp
su
./memory-server
without a Rooted Android
Set up the same way as FridaGadget to force loading of libmemory_server.so.
This method allows the android device to operate on its own.
Build
Running the GitHub Actions Workflow Manually
To build the project using GitHub Actions, follow these steps:
-
Fork this repo
-
Go to the "Actions" tab in your forked repository.
-
In the left sidebar, click on the "Build" workflow.
-
Above the list of workflow runs, click on "Run workflow".
-
In the dialog box that appears:
- Select the branch you want to run the workflow on (usually "main").
- Enter a version tag for this build (e.g., "v1.0.0").
-
Click "Run workflow" to start the build process.
-
The workflow will start running, and you can monitor its progress in the Actions tab.
-
Once the workflow completes successfully, you can download the built artifacts:
- Go to the completed workflow run.
- Scroll down to the "Artifacts" section.
- Click on the artifact names to download:
memory-server-ios-arm64-[version]
memory-server-android-arm64-[version]
Note: Make sure you have the necessary permissions in your forked repository to run workflows and access artifacts.
Manual build
For more information, please visit Wiki