Comments (8)
How about this:
What if we made an api-examples.md file where we tag examples of how each section of the api gets used in real CTF problems.
Then, when people add examples from CTFs the tag which angr "capabilities" they took advantage of when they solved the challenge.
I think this will be a really useful compliment to the api documentation and book.
from angr-doc.
I have categorized the examples into the following categories:
- constrain_symbol (set up symbol, add constraints, set target address and run)
- file_system (some sort of file system operation was needed)
- hook (function hooking was needed)
- obfuscation
- pwn
- simple (load binary, set target address, run)
- misc
It was a helpful learning exercise, but if this is still something you all are looking for I'd be happy to push my changes.
from angr-doc.
An example might belong to more than one category. Is it a tagging-based organization?
from angr-doc.
Not really, I just moved the examples around into folders. Examples were placed into the most specific folder that I could see them being placed into. So for instance: all the examples in the "Constrain Symbol" directory could also be placed in the simple directory but not vice versa.
You can check it out here:https://github.com/Kingloko/angr-doc/tree/master/examples
I'd love to discuss a tagging system thou, how would you envision that working?
from angr-doc.
The best way to do this probably isn't by changing the file organization but rather to have categories in the actual examples page in the docs that serve as the "tags". right now the organization is really coarse, and could be split into something a lot more granular.
(I do agree that the filesystem organization kind of sucks right now but probably the way to fix that is by binary origin, not example purpose)
from angr-doc.
What's more, I went through a while back and actually cut down on the number of examples we actually describe in the main examples page (https://github.com/angr/angr-doc/blob/master/docs/examples.md), moving a lot of redundant ones to a "more examples" page (https://github.com/angr/angr-doc/blob/master/docs/more-examples.md). We might want to split that latter page into README.md files in their respective example folders, and have a tagged list of them at the bottom of examples.md
.
There's probably a mathematical proof that the type of optimal example organization we're going for is undecidable, though.
from angr-doc.
This issue has been marked as stale
because it has no recent activity. Please comment or add the pinned
tag to prevent this issue from being closed.
from angr-doc.
This issue has been closed due to inactivity.
from angr-doc.
Related Issues (20)
- Unexpected behaviour between different versions while analyzing "beginner" binary HOT 1
- [help] why no solutions?
- why input length must multiply 4 in examples/b01lersctf2020_little_engine HOT 1
- Question: BVS, bytes, ASCII, constraints HOT 3
- Resolve automatically HOT 15
- Remove references to Layer7 and other Surveyor solves HOT 1
- CFG Emulated "None type" Node HOT 2
- Swapped find and avoid on sim_mgr.explore when using argv claripy HOT 1
- where can i find the source code of the folder "example"? HOT 1
- little_engine example not working for me HOT 9
- Error/inconsistency handling arm code between angr versions
- Add concatenating constraints to cheatsheet HOT 2
- insomnihack fail to find a symbolic buffer HOT 2
- `test_apidoc.test_lint_docstrings` fails under python 3.8 HOT 5
- `test_examples.test_defcon2016quals_baby_re` is timing out in CI HOT 3
- Testing the java_androidnative1 example failed with error HOT 3
- Move API docs to project repos. HOT 5
- Install information is out of date and sometimes incorrect HOT 1
- Migrate gitbook docs to api docs HOT 1
- driller's approach page cannot find HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angr-doc.