8000 unicorn-angr: init at 2.0.1.post1, python313Packages.unicorn-angr: init at 2.0.1.post1 by fabaff · Pull Request #388155 · NixOS/nixpkgs · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

unicorn-angr: 8000 init at 2.0.1.post1, python313Packages.unicorn-angr: init at 2.0.1.post1 #388155

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 10, 2025

Conversation

fabaff
Copy link
Member
@fabaff fabaff commented Mar 8, 2025

angr requires a specific version of unicorn. In the past we had an override but overrides in Python module are the very last resort to fix an issue.

Needed for #385864

Will no longer be needed after angr/angr#5161

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@fabaff
Copy link
Member Author
fabaff commented Mar 8, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 388155


x86_64-linux

✅ 5 packages built:
  • python312Packages.unicorn-angr
  • python312Packages.unicorn-angr.dist
  • python313Packages.unicorn-angr
  • python313Packages.unicorn-angr.dist
  • unicorn-angr

@fabaff
Copy link
Member Author
fabaff commented Mar 8, 2025
WARNING  | 2025-03-08 22:03:44,279 | angr.state_plugins.unicorn_engine | Unicorn is not installed. Support disabled.
WARNING  | 2025-03-08 22:03:44,283 | angr.state_plugins.unicorn_engine | failed loading "angr_native.so", unicorn support disabled ('NoneType' object has no attribute 'unicorn')

@fabaff fabaff mentioned this pull request Mar 8, 2025
@fabaff
Copy link
Member Author
fabaff commented Mar 9, 2025
[nix-shell:~/angr-test]$ python keygenme.py 
WARNING  | 2025-03-09 01:22:32,814 | angr.exploration_techniques.explorer | Using unicorn with find/avoid conditions that are a lambda (not a number, set, tuple or list)
WARNING  | 2025-03-09 01:22:32,814 | angr.exploration_techniques.explorer | Unicorn may step over states that match the condition (find or avoid) without stopping.
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | The program is accessing memory with an unspecified value. This could indicate unwanted behavior.
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | angr will cope with this by generating an unconstrained symbolic variable and continuing. You can resolve this by:
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | 1) setting a value to the initial state
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | 2) adding the state option ZERO_FILL_UNCONSTRAINED_{MEMORY,REGISTERS}, to make unknown regions hold null
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | 3) adding the state option SYMBOL_FILL_UNCONSTRAINED_{MEMORY,REGISTERS}, to suppress these messages.
WARNING  | 2025-03-09 01:22:32,878 | angr.storage.memory_mixins.default_filler_mixin | Filling memory at 0x7fff0000 with 76 unconstrained bytes referenced from 0x500010 (strlen+0x0 in extern-address space (0x10))
We found at least 103930336094014804597256773575451361601 keys! The Recording Industry Association of Space Penguins says their entire galaxy is now bankrupt, so we might as well have 100 of their keys:
b'jJYI-HP-64X-a2A4'
b'iJYI-HP-78x-a2A4'
[...]

@fabaff fabaff merged commit bbd37fb into NixOS:master Mar 10, 2025
27 checks passed
@fabaff fabaff deleted the unicorn-angr branch March 10, 2025 16:49
ogdru pushed a commit to ph/guix that referenced this pull request Jun 7, 2025
This older version of unicorn is required by python-angr. Without
it, python-angr does not pass check [0]. angr upstream is aware of
the problem but does not yet support newer versions of unicorn [1].
Other distributions, like Nix, solve this by packaging the older
version of unicorn specifically for angr [2], let's do the same!

* gnu/packages/emulators.scm (unicorn-2.0): New variable.

[0]: https://issues.guix.gnu.org/78132
[1]: angr/angr#4921
[2]: NixOS/nixpkgs#388155

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0