Skip to content

Instantly share code, notes, and snippets.

View nicolas17's full-sized avatar

Nicolás Alvarez nicolas17

  • Buenos Aires, Argentina
View GitHub Profile
View archiveteam-stats.py
# SPDX-FileCopyrightText: 2023 Nicolás Alvarez <nicolas.alvarez@gmail.com>
#
# SPDX-License-Identifier: MIT
import requests
import time
import sys
import datetime
sess = requests.session()
View otas.json
[
{
"type": "ota",
"prerequisiteBuild": "20G5070a",
"deviceMap": [
"iPad7,4"
],
"url": "https://updates.cdn-apple.com/2023SummerSeed/patches/042-36984/458DD0C0-49B8-40F7-9D0D-D9A82C76DFDA/com_apple_MobileAsset_SoftwareUpdate/69f1a7b082026702574e20f83ea4e2115ecd6ae7.zip",
"active": true,
"hashes": {
@nicolas17
nicolas17 / gist:559bec0d8e636f93f62cca844ee94ada
Last active December 13, 2023 11:08
Apple IDS payload keys
View gist:559bec0d8e636f93f62cca844ee94ada
c: command
cc: commandContext
v: version
P: payload
N: bulkedPayload
fP: fanoutPayload
aP: additionalPayload
Pm: payloadMetadata
i: messageId
U: messageUUID
@nicolas17
nicolas17 / yellow.asm
Last active April 18, 2023 03:57
hello-world iOS app
View yellow.asm
.global _main
.extern _putchar
.align 4
_main:
// prolog; save fp,lr,x19
stp x29, x30, [sp, #-0x20]!
str x19, [sp, #0x10]
View addipsw.py
#!/usr/bin/python3
# SPDX-FileCopyrightText: 2022 Nicolás Alvarez <nicolas.alvarez@gmail.com>
#
# SPDX-License-Identifier: MIT
import os
import sys
import json
import re
View storage.md

3 people have 6x16TB, 96TB each, total raw storage is 288TB across 18 disks

Configuration Usable storage Resilience
Each person does RAID-6
The same data is stored by all people
4x16TB = 64TB Any 7 disks can be lost (worst case 2 people lose 3 disks each and lose the RAID, third person loses 2 disks and can still recover).
If we're lucky, max 14 disks can be lost (two people lose all 6 disks, third person loses 2 disks).
Any person has all data locally without needing other nodes.
Each person does RAID-5
The same data is stored by all people
5x16TB = 80TB Any 5 disks can be lost (worst case 2 people lose 2 disks each and lose the RAID, third person loses 1 disk and can still recover).
If we're lucky, max 13 disks can be lost (two people lose all 6 disks, third person loses 1 disk).
Any person has all data locally without needing other nodes.
Spread files across all disks/peopleUse 6-of-18 parity 6x16TB = 96TB Any 12 disks can be lost, but n
@nicolas17
nicolas17 / gist:07df9344adef593f289ee2123c8990d5
Created August 3, 2022 19:06
Apple's DMCA against tweets linking to ipsw.dev
View gist:07df9344adef593f289ee2123c8990d5
Copyright owner:
> Apple Inc.
Name:
> Louis Ferrari
Company:
> Kilpatrick Townsend Stockton LLP
Job title:
> Case Manager
Email:
> appleip@kilpatricktownsend.com
@nicolas17
nicolas17 / README.md
Last active April 15, 2021 22:04
Verify your git-bisect run script
View README.md

When using git bisect run ./test.sh it's not uncommon to get the condition in test.sh wrong. This can cause a lot of wasted time as you only notice the mistake hours later when bisect finishes and points at the wrong commit.

This Python script runs the test script against the commits you already marked as good or bad in the bisect session (either with 'git bisect good/bad' or as part of the 'git bisect start' command) and ensures your test script returns the correct status code.

@nicolas17
nicolas17 / CVE-2021-3449.md
Last active March 29, 2021 18:14
Exploit for CVE-2021-3449 (OpenSSL null ptr deref)
View CVE-2021-3449.md

Download openssl-1.1.1j (1.1.1k probably works too but I didn't test).

Apply this patch (or manually edit the one line):

diff -ur openssl-1.1.1j/ssl/statem/extensions_clnt.c openssl-1.1.1j-patched/ssl/statem/extensions_clnt.c
--- openssl-1.1.1j/ssl/statem/extensions_clnt.c 2021-02-16 12:24:01.000000000 -0300
+++ openssl-1.1.1j-patched/ssl/statem/extensions_clnt.c 2021-03-25 14:56:40.072257668 -0300
@@ -272,7 +272,7 @@
         return EXT_RETURN_NOT_SENT;
 
@nicolas17
nicolas17 / boostpp_math.c
Created November 4, 2020 18:05
Cursed boost.pp math
View boostpp_math.c
// SPDX-FileCopyrightText: 2020 Nicolás Alvarez <nicolas.alvarez@gmail.com>
//
// SPDX-License-Identifier: MIT
#include <boost/preprocessor.hpp>
// Utilities to convert from numbers (bytes) or words (highbyte,lowbyte pairs)
// into nibbles.
// a -> (a1,a0)