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) { |