This is a draft.
macOS doesn’t have many of the advanced Linux or UNIX features that have come about in the past 20 years. So getting a proper chroot environment up and running takes a little more work.
| // INCOMPLETE | |
| // This command will give you list of available FFMPEG formats and their default Mime types | |
| // ffmpeg -formats -hide_banner | tail -n +5 | cut -c5- | cut -d' ' -f1 | xargs -i{} ffmpeg -hide_banner -h demuxer={} | pcregrep -o2 -o4 -M '(Muxer (\w+) )|(Mime type:( .*).)' | |
| // And then parse the output with regex to JSON format in JavaScript for example: | |
| // str.match(/(.*)\n (.*)/gm).map(m => `"${m.replace(/\n /, '": "')}"`).join(',\n'); | |
| // Combine the output with MDN - Common MIME types | |
| // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types | |
| // And with IANA: |
| #ifndef SAFE_QUEUE | |
| #define SAFE_QUEUE | |
| #include <condition_variable> | |
| #include <mutex> | |
| #include <queue> | |
| // A threadsafe-queue. | |
| template <class T> | |
| class SafeQueue |
| name: Example iOS Build | |
| on: | |
| push: | |
| branches: | |
| - development | |
| jobs: | |
| build-ios: | |
| runs-on: macos-latest |
| # Patch libg.so to remove Frida server checks | |
| import lief | |
| MOV_R0_ERROR = [0x4f, 0xf0, 0xff, 0x30] # MOV.W R0, #-1 | |
| PATCHES = [ | |
| # bind() syscall | |
| (0x0BE000 - 2, MOV_R0_ERROR), # MOV R0, #-1 | |
| (0x0bb2e2 - 2, MOV_R0_ERROR), # MOV R0, #-1 | |
| (0x2518f6 - 2, MOV_R0_ERROR), # MOV R0, #-1 | |
| ] |
| class RgbConversion(val rs: RenderScript, private val feedSize: Size, private val hasRotate: Boolean = true) { | |
| private var mInputAllocation: Allocation? = null | |
| private var mOutputAllocation: Allocation? = null | |
| private var mRotatedAllocation: Allocation? = null | |
| private val yuvToRgb = ScriptIntrinsicYuvToRGB.create(rs, Element.U8_4(rs)) | |
| private val rotator = ScriptC_rotator(rs) | |
| var bufferCallback: ((ByteBuffer) -> Unit)? = null | |
| val inputSurface: Surface | |
| get() = mInputAllocation!!.surface |
| // ... | |
| import io.flutter.app.FlutterActivity; | |
| import io.flutter.plugin.common.MethodCall; | |
| import io.flutter.plugin.common.MethodChannel; | |
| import io.flutter.plugin.common.MethodChannel.MethodCallHandler; | |
| import io.flutter.plugin.common.MethodChannel.Result; | |
| // ... | |
| public class MainActivity extends FlutterActivity { |
| OVERVIEW: LLVM 'Clang' Compiler: http://clang.llvm.org | |
| USAGE: clang -cc1 [options] <inputs> | |
| OPTIONS: | |
| -add-plugin <name> Use the named plugin action in addition to the default action | |
| -analyze-function <value> | |
| Run analysis on specific function | |
| -analyzer-checker-help Display the list of analyzer checkers that are available | |
| -analyzer-checker <value> |
| // | |
| // BlockBasedSelector.h | |
| // | |
| // Created by Charlton Provatas on 11/2/17. | |
| // Copyright © 2017 CharltonProvatas. All rights reserved. | |
| // | |
| #import <Foundation/Foundation.h> | |
| @interface BlockBasedSelector : NSObject |
| #!/bin/sh | |
| set -e | |
| JAVA_HOME='/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home' | |
| cd /tmp | |
| cat > input_tmp.java <<EOF | |
| public class input_tmp { | |
| public static void main(String[] args) { |