Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Chris Evans
    @perks
    Hey trying to build the art package in AOSP for oreo. I know its currently experimental, the latest commit seems to have removed the artist submodule and mmm art is complaining about that. Is this an outstanding issue or do I have to modify something in the build
    Chris Evans
    @perks
    Actually taking a look at Project-ARTist/meta#7 it seems that the techniques outlined somewhat in https://www.blackhat.com/docs/asia-15/materials/asia-15-Sabanal-Hiding-Behind-ART-wp.pdf are no longer applicable past 7.1? (At least w.r.t to the checksum checks on OAT dex files fields)
    Oliver Schranz
    @schrnz
    Hi, so concerning the build: Getting rid of the submodule happened after we last worked on oreo, so you probably only need to check out ARTist yourself at the correct location (art/compiler/optimizing/artist afaik).
    Concerning not breaking the signature: yes, this is currently not implemented for oreo. In general, we have to add oreo support again =( Chances are high that we will (again) find a solution for the checksum thing, but right now I don't think anyone is working on this =/
    Chris Evans
    @perks
    I'm doing some research into this area in my spare time -- i'd be happy to take a look at it if you want to point me towards some resources!
    ART documentation resources are... scarce haha
    Oliver Schranz
    @schrnz
    Wow that would be amazing! Sure I am happy to share anything I know about ART :D
    Ok so the problem is that we reworked quite a lot before the beta release, which means the clean way to get oreo support again is to start off from a clean AOSP oreo build and cherry-pick the ARTist patches from the 7.1 or 7 branch.
    Unfortunately, internals change so it is probably cherry-picking a commit, fixing stuff (e.g., a new intermediare representation node appeared, a constructor changed etc), and going on
    Chris Evans
    @perks
    ahh right so basically getting https://github.com/Project-ARTist/ARTist/tree/feature_oreo_support up to date with master and then using that submodule during the build process, then fixing up core art package
    Oliver Schranz
    @schrnz
    yes that should be the way to go
    Chris Evans
    @perks
    also with Project-ARTist/meta#7 is it zygote64 itself that causes regeneration of the original DEX->OAT or is it being handled by something else
    or is it the loader than goes through and verifies all this
    Oliver Schranz
    @schrnz
    Chris Evans
    @perks
    thanks! time to fire up some debugging of libart.so haha
    Oliver Schranz
    @schrnz
    what could possibly go wrong :D
    Oliver Schranz
    @schrnz
    btw did you get the "old" version of ARTist for oreo running? Or how are you debugging this?
    Chris Evans
    @perks
    well first im just using gdb on some packages ive done by hand baksmaling and repacking dex files and then using the mainline dex2oat transformation to figure out what that particular issue woulod fail
    but def looking into getting oreo runinng -- if i do ill submit a PR/issue with how i did
    Oliver Schranz
    @schrnz
    Cool, let me know if I can help. Will try to get my hands on an oreo device next week, or maybe an emulator will do as well, let's see.
    Chris Evans
    @perks
    yeah the hardware im running is stock pixel 2 which afaik starts at 8.0
    thanks!
    Lionel Horn
    @_LionelHorn_twitter
    Hello :)
    First of all, thanks to anyone who contributed to ARTist. Seems very promising.
    Is there an easy way to check instrumentation progress with more granularity than with the gui?
    Sebastian Weisgerber
    @sweisgerber-dev

    Hi @_LionelHorn_twitter

    The most detailed logs of the instrumentation process are available via adb logcat

    You can also configure the loglevel via ARTistGui's settings
    But this should not influence the LogLevel in the GUI, it's also for logcat, afaik
    Do you use the SDK or do you have a full ARTist with AOSP build setup?
    Lionel Horn
    @_LionelHorn_twitter
    I use ARTistGui on LineageOS 14.1, on Samsung herolte.
    I set the loglevel to verbose and I can see the logs in logcat.
    But nothing that would help me figure out why the instrumentation process doesn't complete.
    Sebastian Weisgerber
    @sweisgerber-dev
    Could you provide us a full log, beginning from the startup of ARTistGui until you started the instrumented apk?
    Lionel Horn
    @_LionelHorn_twitter
    I'll look what I can filter the logcat with so it's not too verbose.
    Oh wait.
    Sebastian Weisgerber
    @sweisgerber-dev
    Force Close ARTistGui and the app you try to instrument before you start the instrumentation process
    no worries, no filter needed :)
    Lionel Horn
    @_LionelHorn_twitter
    It's not going to the point of being instrumented.
    It's stalls inside ARTist gui itself and sits there for tens of minutes.
    Sebastian Weisgerber
    @sweisgerber-dev
    Also @schrnz or @parthipanramesh can say sth. regarding the log configs, I usually have an AOSP setup, where I just enable the logs I want in the code
    Lionel Horn
    @_LionelHorn_twitter
    Where do I send the logcat?
    Lionel Horn
    @_LionelHorn_twitter
    I think I managed to narrow it down.
    02-21 01:07:42.603 19318 20590 I MethodFilter: Annotationtype used for whitelisting:Lsaarland/cispa/artist/codelib/CodeLib$Inject;
    Is the last output of the instrumentation wit Stetho.
    Tracing seems to work.
    Sebastian Weisgerber
    @sweisgerber-dev
    @_LionelHorn_twitter : to pastebin or a github gist or sth. similar
    @_LionelHorn_twitter Congrats :D
    Lionel Horn
    @_LionelHorn_twitter
    Narrowed it down only ;)
    Will upload it.
    Is ARTist also capable of native instrumentation?
    Sebastian Weisgerber
    @sweisgerber-dev
    No, that's not possible
    (Native Code instrumentation)
    Oliver Schranz
    @schrnz
    yeah unfortunately the dex2oat compiler that we build upon only compiles dex bytecode to native, so we don't see native libraries at all in ARTist. You can, however, combine ARTist with sth like Frida to make it work. I didn't have the time yet to complete this, but used to work on an ARTist module that injects the Frida gadget library into arbitrary apps.