Skip to content

Instantly share code, notes, and snippets.

@sandersaares
sandersaares / CensoredPi.PiCensorship-asm.md
Created February 2, 2024 06:36
Pi censorship: C# assembly code

.NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2

; CensoredPi.PiCensorship.InPlaceBytes()
       sub       rsp,48
       xor       eax,eax
       mov       [rsp+28],rax
       vxorps    xmm4,xmm4,xmm4
       vmovdqa   xmmword ptr [rsp+30],xmm4
       mov       [rsp+40],rax
       mov       dword ptr [rsp+28],0FFFFFFFF
@sandersaares
sandersaares / censoredpi-a56a9cec0ea7851e.asm
Created February 2, 2024 06:32
Pi censorship: Rust assembly code
.text
.def @feat.00;
.scl 3;
.type 0;
.endef
.globl @feat.00
.set @feat.00, 0
.file "censoredpi.cfb30afff231d82-cgu.0"
.def _ZN10censoredpi22censor_pi_suffix_chunk17he2748b38ae5f6257E;
.scl 2;
@sandersaares
sandersaares / gist:c2946dbd47732c7e09bf1ef4d117a30d
Last active January 10, 2018 08:26
CH vagrantfile redacted
# -*- mode: ruby -*-
# vi: set ft=ruby :
vm_name = "asdf"
vswitch_name = "xxx"
data_disk_path = ""
new_password = "xxx"
mac_address = ""
cpu_cores = 2
ram_mb = 1536
@sandersaares
sandersaares / gist:2fd245b28d9170235430da6032fecf85
Created August 24, 2017 05:50
Prometheus historical data collector example
using Axinom.Toolkit;
using NLog;
using Prometheus.Advanced;
using Prometheus.Advanced.DataContracts;
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
2017/07/20 13:11:01 [INFO] Packer version: 1.0.2
2017/07/20 13:11:01 Packer Target OS/Arch: windows amd64
2017/07/20 13:11:01 Built with Go Version: go1.8.3
2017/07/20 13:11:01 Using internal plugin for amazon-ebs
2017/07/20 13:11:01 Using internal plugin for azure-arm
2017/07/20 13:11:01 Using internal plugin for docker
2017/07/20 13:11:01 Using internal plugin for null
2017/07/20 13:11:01 Using internal plugin for triton
2017/07/20 13:11:01 Using internal plugin for alicloud-ecs
2017/07/20 13:11:01 Using internal plugin for amazon-chroot
@sandersaares
sandersaares / gist:e022a24e61ec02eac6930773d81238be
Created July 12, 2017 10:35
pmap of Mono app with large virtual memory but low acutal usage
21: mono /App/xxx.exe
0000000000400000 3684K r-x-- mono-sgen
0000000000998000 4K r---- mono-sgen
0000000000999000 12K rw--- mono-sgen
000000000099c000 208K rw--- [ anon ]
00000000010db000 12004K rw--- [ anon ]
00000000402d0000 1356K rwx-- [ anon ]
0000000040e84000 64K rwx-- [ anon ]
00007fc1fc000000 1572K rw--- [ anon ]
00007fc1fc189000 63964K ----- [ anon ]
@sandersaares
sandersaares / gist:a7872745c6f4707b585d5cd12828574d
Created July 7, 2017 13:38
Vagrant unsuccessfully uses IPv6
INFO global: Vagrant version: 1.9.6
INFO global: Ruby version: 2.3.4
INFO global: RubyGems version: 2.5.2
INFO global: VAGRANT_EXECUTABLE="C:\\HashiCorp\\Vagrant\\embedded\\gems\\gems\\vagrant-1.9.6\\bin\\vagrant"
INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="C:\\HashiCorp\\Vagrant\\embedded"
INFO global: VAGRANT_INSTALLER_ENV="1"
INFO global: VAGRANT_INSTALLER_VERSION="2"
INFO global: VAGRANT_LOG="debug"
INFO global: VAGRANT_OLD_ENV_="ExitCode=00000000"
INFO global: VAGRANT_OLD_ENV_ALLUSERSPROFILE="C:\\ProgramData"
@sandersaares
sandersaares / gist:f97798ca3dd647f4d28ad757b43280e1
Created June 14, 2017 07:46
Shell provisioner occasionally instantly fails with "The box is not able to report an address for WinRM to connect to yet."
==> default: Running cleanup tasks for 'trigger' provisioner...
==> default: Stopping the machine...
==> default: Deleting the machine...
INFO global: Vagrant version: 1.9.5
INFO global: Ruby version: 2.2.5
INFO global: RubyGems version: 2.4.5.1
INFO global: VAGRANT_EXECUTABLE="C:\\HashiCorp\\Vagrant\\embedded\\gems\\gems\\vagrant-1.9.5\\bin\\vagrant"
INFO global: VAGRANT_INSTALLER_EMBEDDED_DIR="C:\\HashiCorp\\Vagrant\\embedded"
INFO global: VAGRANT_INSTALLER_ENV="1"
INFO global: VAGRANT_INSTALLER_VERSION="2"
@sandersaares
sandersaares / gist:43e3b6136a5aa48395cafbc98b5cc245
Created May 23, 2017 05:34
Packer debug log for file provisioner failure
2017/05/23 08:24:09 [INFO] Packer version: 1.0.0
2017/05/23 08:24:09 Packer Target OS/Arch: windows amd64
2017/05/23 08:24:09 Built with Go Version: go1.8
2017/05/23 08:24:09 Using internal plugin for googlecompute
2017/05/23 08:24:09 Using internal plugin for hyperv-iso
2017/05/23 08:24:09 Using internal plugin for vmware-vmx
2017/05/23 08:24:09 Using internal plugin for digitalocean
2017/05/23 08:24:09 Using internal plugin for docker
2017/05/23 08:24:09 Using internal plugin for cloudstack
2017/05/23 08:24:09 Using internal plugin for null
@sandersaares
sandersaares / RegisterComFor64Bit.cs
Last active October 16, 2015 06:48
Registering 32-bit COM objects for access from a 64-bit process
private static void RegisterComObjectsFor64BitProcesses()
{
var comObjectsToRegister = new List<string>
{
Constants.WmrmKeysComObjectKeyName,
Constants.WmrmHeaderComObjectKeyName,
Constants.WmrmProtectComObjectKeyName
};
foreach (var comObject in comObjectsToRegister)