Commit Graph

949 Commits

Author SHA1 Message Date
momo5502
bfb9760d29 Fix unicorn read hook 2025-04-05 15:58:34 +02:00
momo5502
3978eeed2a Finish execution hook support 2025-04-05 15:28:14 +02:00
momo5502
efe5a21e57 Switch to icicle fork 2025-04-05 14:50:11 +02:00
momo5502
638ad2c7a4 Support read and write hooks 2025-04-05 12:51:37 +02:00
momo5502
349526a54a Simplify hooking interface 2025-04-05 11:59:49 +02:00
momo5502
a336bdf2af Simplify violation hook API 2025-04-05 10:01:28 +02:00
momo5502
0fbb7a2e0d Revert "Disable exceptions for now"
This reverts commit 3391780c2f.
2025-04-05 09:28:01 +02:00
momo5502
3de9043299 Revert "Disable icicle tests"
This reverts commit dd7a80a9f0.
2025-04-05 09:23:38 +02:00
Maurice Heumann
3391780c2f Disable exceptions for now 2025-04-05 09:23:30 +02:00
Maurice Heumann
8935a3d56e Integrate icicle into CI (#179)
But disable it for now
2025-04-05 09:23:01 +02:00
momo5502
dd7a80a9f0 Disable icicle tests 2025-04-05 09:03:41 +02:00
momo5502
d191f8e667 Optimize MMIO handling 2025-04-05 09:03:41 +02:00
momo5502
b696117424 Add safety checks 2025-04-05 09:03:41 +02:00
momo5502
102676b51c Unify environment variables 2025-04-05 09:03:41 +02:00
Maurice Heumann
d6a419d5f6 Add Ghidra processor specification 2025-04-04 15:35:10 +02:00
Maurice Heumann
8de5c7be3a Run icicle tests 2025-04-04 15:34:58 +02:00
Maurice Heumann
6b6d2d29f7 Merge icicle progress (#178) 2025-04-04 13:34:26 +02:00
Maurice Heumann
24df7c65c2 Support accurate instruction counts 2025-04-04 13:13:09 +02:00
Maurice Heumann
204159f137 Support violation hooks 2025-04-02 08:21:37 +02:00
momo5502
f5b77ffa67 Tests 2025-04-02 07:03:01 +02:00
momo5502
84268bc7e3 More icicle progress 2025-04-02 06:28:01 +02:00
momo5502
ec235202fb Prepare instruction hook injection 2025-04-01 20:54:08 +02:00
momo5502
5846d2c0b9 Generalize hook store 2025-04-01 20:54:08 +02:00
momo5502
bdf5d60fd9 Implement serialization 2025-04-01 20:54:08 +02:00
Maurice Heumann
31464c1c68 Bump deps/googletest from 2ae29b5 to 52204f7 (#177)
Bumps [deps/googletest](https://github.com/google/googletest) from
`2ae29b5` to `52204f7`.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="52204f78f9"><code>52204f7</code></a>
Remove obsolete references to LinuxThreads.</li>
<li>See full diff in <a
href="2ae29b52fd...52204f78f9">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-04-01 20:18:29 +02:00
Maurice Heumann
960db24193 Bump reactivecircus/android-emulator-runner from 2.33.0 to 2.34.0 (#176)
Bumps
[reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner)
from 2.33.0 to 2.34.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/reactivecircus/android-emulator-runner/releases">reactivecircus/android-emulator-runner's
releases</a>.</em></p>
<blockquote>
<h2>v2.34.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Allow arbitrary value for <code>api-level</code> such as
<code>Baklava</code> and <code>35-ext15</code>. by <a
href="https://github.com/TimoPtr"><code>@​TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Add option to specify <code>system-image-api-level</code> to use a
system image with a different API level than the platform. by <a
href="https://github.com/TimoPtr"><code>@​TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Support automotive and desktop targets:
<code>android-automotive</code>,
<code>android-automotive-playstore</code>, <code>android-desktop</code>.
by <a href="https://github.com/TimoPtr"><code>@​TimoPtr</code></a> in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">ReactiveCircus/android-emulator-runner#428</a></li>
<li>Add <code>Baklava</code> support by <a
href="https://github.com/yujincheng08"><code>@​yujincheng08</code></a>
in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/424">ReactiveCircus/android-emulator-runner#424</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/TimoPtr"><code>@​TimoPtr</code></a> made
their first contribution in <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">ReactiveCircus/android-emulator-runner#428</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ReactiveCircus/android-emulator-runner/compare/v2.33.0...v2.34.0">https://github.com/ReactiveCircus/android-emulator-runner/compare/v2.33.0...v2.34.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md">reactivecircus/android-emulator-runner's
changelog</a>.</em></p>
<blockquote>
<h2>v2.34.0</h2>
<ul>
<li>Allow arbitrary value for <code>api-level</code> such as
<code>Baklava</code> and <code>35-ext15</code>. - <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">428</a></li>
<li>Add option to specify <code>system-image-api-level</code> to use a
system image with a different API level than the platform. - <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">428</a></li>
<li>Support automotive and desktop targets:
<code>android-automotive</code>,
<code>android-automotive-playstore</code>, <code>android-desktop</code>.
- <a
href="https://redirect.github.com/ReactiveCircus/android-emulator-runner/pull/428">428</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1dcd009011"><code>1dcd009</code></a>
Merge branch 'main' into release/v2</li>
<li><a
href="2548f9f3fc"><code>2548f9f</code></a>
Prepare for release 2.34.0.</li>
<li><a
href="595a4563df"><code>595a456</code></a>
Update README.md and CHANGELOG.md.</li>
<li><a
href="a173d65200"><code>a173d65</code></a>
Support API levels for SDK extensions and add missing targets for
automotive ...</li>
<li><a
href="50d5b10c01"><code>50d5b10</code></a>
Add <code>Baklava</code> support (<a
href="https://redirect.github.com/reactivecircus/android-emulator-runner/issues/424">#424</a>)</li>
<li>See full diff in <a
href="https://github.com/reactivecircus/android-emulator-runner/compare/v2.33.0...v2.34.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=reactivecircus/android-emulator-runner&package-manager=github_actions&previous-version=2.33.0&new-version=2.34.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-04-01 20:08:46 +02:00
dependabot[bot]
ae00e664e1 Bump deps/googletest from 2ae29b5 to 52204f7
Bumps [deps/googletest](https://github.com/google/googletest) from `2ae29b5` to `52204f7`.
- [Release notes](https://github.com/google/googletest/releases)
- [Commits](2ae29b52fd...52204f78f9)

---
updated-dependencies:
- dependency-name: deps/googletest
  dependency-version: 52204f78f94d7512df1f0f3bea1d47437a2c3a58
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 17:54:04 +00:00
dependabot[bot]
30f752cc15 Bump reactivecircus/android-emulator-runner from 2.33.0 to 2.34.0
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases)
- [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md)
- [Commits](https://github.com/reactivecircus/android-emulator-runner/compare/v2.33.0...v2.34.0)

---
updated-dependencies:
- dependency-name: reactivecircus/android-emulator-runner
  dependency-version: 2.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 17:48:31 +00:00
Maurice Heumann
c0e2ef1a89 First step towards supporting icicle-emu (#175)
This PR aims to provide initial support for icicle-emu.
It's not done yet, but things are making progress.
As it contains interface adjustments and fixes for unicorn, merging the
current state makes sense.
2025-04-01 19:22:48 +02:00
momo5502
1cdf280fcf Support disabling rust code 2025-04-01 18:49:41 +02:00
momo5502
7d5555e985 Fix unicorn and switch back to it as default emulator 2025-04-01 18:37:00 +02:00
momo5502
afd9344e97 Extract registers 2025-04-01 18:34:29 +02:00
momo5502
fd018c46b4 Support saving and restoring registers 2025-04-01 18:23:24 +02:00
Maurice Heumann
7222c0fc1d Add icicle mmio support 2025-04-01 15:40:53 +02:00
momo5502
54b5bdc531 Small fix 2025-04-01 09:27:07 +02:00
momo5502
3e6c8ed84c Adjust icicle config 2025-03-29 11:39:13 +01:00
momo5502
b215699360 Fix syscall execution 2025-03-29 11:31:30 +01:00
momo5502
2a74303cdc Support syscall hooks 2025-03-29 10:44:41 +01:00
momo5502
637ed75b8c GDT fixes 2025-03-29 10:44:41 +01:00
momo5502
af6492be6d Unify setting segment base 2025-03-29 10:44:41 +01:00
Maurice Heumann
dec66f051d Test 2025-03-29 10:44:41 +01:00
Maurice Heumann
ab144de125 Prepare register support 2025-03-29 10:44:41 +01:00
momo5502
da6ba1a329 Support reading and writing memory 2025-03-29 10:44:41 +01:00
momo5502
65d0da70a0 Fix rust cmake 2025-03-29 10:44:41 +01:00
Maurice Heumann
63f54df78c Icicle progress 2025-03-29 10:44:41 +01:00
momo5502
985dd49059 Fix cargo builds 2025-03-29 10:44:41 +01:00
momo5502
32ebda5fe7 Support android 2025-03-29 10:44:41 +01:00
momo5502
448e11b737 Support iOS 2025-03-29 10:44:41 +01:00
momo5502
6fb7450e0f Add rust code and cmake integration 2025-03-29 10:44:41 +01:00
momo5502
e0b0630171 Small cleanup 2025-03-29 10:44:31 +01:00