#!/bin/bash | |
# script name: install_waydroid.sh | |
# description: Install Waydroid on unsupported Debian based distro caused by incompatible python3-gbinder package | |
# related to : https://github.com/waydroid/waydroid/issues/214#issuecomment-1120926304 | |
# author : Wachid Adi Nugroho <wachidadinugroho.maya@gmail.com> | |
# date : 2022-07-07 | |
export distro=$(grep -oP '(?<=^NAME=).*' /etc/os-release) | |
if [[ -f /usr/bin/dpkg ]]; |
For some reason IDA executes FreeLibrary() to the plugin immediately after getting its PLUGIN structure's address, so later invocations of the plugin lead to calls to nowhere (that was supposed to be python3.dll). Simply patching the location of the FreeLibrary() call fixes the issue. The location is easy to find: go by cross-references to a place where the call to FreeLibrary is followed by a reference to the string "%s: incompatible plugin version..." and NOP it away.
This is inspired by A half-hour to learn Rust and Zig in 30 minutes.
Your first Go program as a classical "Hello World" is pretty simple:
First we create a workspace for our project:
Setup etcdctl using the instructions at https://github.com/etcd-io/etcd/releases/tag/v3.4.13 (changed path to /usr/local/bin
):
Note: if you want to match th etcdctl binaries with the embedded k3s etcd version, please run the curl command for getting the version first and adjust ETCD_VER
below accordingly:
curl -L --cacert /var/lib/rancher/k3s/server/tls/etcd/server-ca.crt --cert /var/lib/rancher/k3s/server/tls/etcd/server-client.crt --key /var/lib/rancher/k3s/server/tls/etcd/server-client.key https://127.0.0.1:2379/version
/* | |
typedef struct { | |
int size; | |
char* data; | |
} test_struct; | |
void some_func(test_struct **s); |
package myreflect | |
import ( | |
"fmt" | |
"reflect" | |
) | |
// Invoke - firstResult, err := invoke(AnyStructInterface, MethodName, Params...) | |
func Invoke(any interface{}, name string, args ...interface{}) (reflect.Value, error) { | |
method := reflect.ValueOf(any).MethodByName(name) |
package main | |
import ( | |
"fmt" | |
"log" | |
"math/rand" | |
"net/http" | |
"time" | |
"github.com/prometheus/client_golang/prometheus" |
package logging | |
import ( | |
"github.com/rs/zerolog" | |
"github.com/rs/zerolog/log" | |
"gopkg.in/natefinch/lumberjack.v2" | |
"os" | |
"path" | |
"io" | |
) |