Git Product home page Git Product logo

Comments (8)

Kingloko avatar Kingloko commented on August 28, 2024 1

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.

Kingloko avatar Kingloko commented on August 28, 2024

I have categorized the examples into the following categories:

  1. constrain_symbol (set up symbol, add constraints, set target address and run)
  2. file_system (some sort of file system operation was needed)
  3. hook (function hooking was needed)
  4. obfuscation
  5. pwn
  6. simple (load binary, set target address, run)
  7. 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.

ltfish avatar ltfish commented on August 28, 2024

An example might belong to more than one category. Is it a tagging-based organization?

from angr-doc.

Kingloko avatar Kingloko commented on August 28, 2024

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.

rhelmot avatar rhelmot commented on August 28, 2024

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.

zardus avatar zardus commented on August 28, 2024

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.

github-actions avatar github-actions commented on August 28, 2024

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.

github-actions avatar github-actions commented on August 28, 2024

This issue has been closed due to inactivity.

from angr-doc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.