old htb folders
This commit is contained in:
2023-08-29 21:53:22 +02:00
parent 62ab804867
commit 82b0759f1e
21891 changed files with 6277643 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
#include <stdio.h>
#include <stdlib.h>
int encrypt(char a, int r1, int r2){
int t;
r1 = r1 & 0xff;
r2 = r2 & 7;
printf("encrypt(%x, %x, %x)\n",a,r1,r2);
t = a ^ r1;
printf("t: %x\n",t);
return ((t << r2)|(t >> (8-r2)));
}
int decrypt(int a, int r1, int r2){
int t;
r1 = r1 & 0xff;
r2 = r2 & 7;
a = a&0xff;
// printf("decrypt(%x, %x, %x)\n",a,r1,r2);
t = ((a << (8-r2))|(a >>r2)) & 0xff;
// printf("t: %x\n",t);
return t ^ r1;
}
int main(void) {
uint seed;
int r1,r2, enc, dec;
FILE *enc_file;
size_t size;
// seed = 0x63d17786;
// srand(seed);
// r1 = rand();
// r2 = rand();
// //printf("%x", r);
enc_file = fopen("flag.enc.bak","rb");
fseek(enc_file,0L,SEEK_END);
size = ftell(enc_file)-4;
char buffer[size+1];
printf("size: %x\n", size);
fseek(enc_file,0L,SEEK_SET);
fread(&seed, 4, 1, enc_file);
srand(seed);
printf("seed: %x\n", seed);
// buffer = malloc(2);
// fseek(enc_file, 0, SEEK_END);
// size = ftell(enc_file);
// fseek(enc_file, sizeof(seed), SEEK_SET);
// fread(buffer, 1, 1, enc_file);
fread(&buffer, size, 1, enc_file);
fclose(enc_file);
printf("buffer: ");
for (int i = 0; i < size; i++){
printf("%2x",buffer[i]&0xff);
}
printf("\n");
for (int i = 0; i < size; i++){
r1 = rand();
r2 = rand();
// // enc = encrypt('A',r1,r2);
// // printf("enc: %x\n", enc);
dec = decrypt(buffer[i],r1,r2);
printf("%c", dec);
}
return 0;
}

View File

@@ -0,0 +1,7 @@
from ctypes import *
cdll.LoadLibrary("libc.so.6")
libc = CDLL("libc.so.6")
seed = 0x62b1355a
libc.srand(seed)
print(hex(libc.rand()&0xff))
print(hex(libc.rand()&0x7))

View File

@@ -0,0 +1,34 @@
import struct
# Open the file for reading in binary mode
with open("flag.enc", "rb") as f:
# Read the first 4 bytes, which represent the seed
seed_bytes = f.read(4)
# Unpack the seed as a 32-bit unsigned integer
seed = struct.unpack("I", seed_bytes)[0]
# Read the rest of the file contents
enc_data = f.read()
print(f"seed: {seed}, hex: {hex(seed)}")
print(f"enc_data: {enc_data}")
# Use the seed to seed the random number generator
import random
random.seed(seed)
# Allocate a buffer for the decrypted data
dec_data = bytearray(len(enc_data))
# Perform the decryption
for i in range(len(enc_data)):
# XOR with a random byte
dec_data[i] = enc_data[i] ^ random.getrandbits(8)
# Perform the inverse bit-shift operation
shift = random.randint(0,7)
dec_data[i] = ((dec_data[i] >> shift) | (dec_data[i] << (8 - shift))) % 256
print(f"flag: {dec_data}")
# Write the decrypted data to a file
# with open("flag.dec", "wb") as f:
# f.write(dec_data)

View File

@@ -0,0 +1 @@
ABCD

View File

@@ -0,0 +1 @@
D :]=KN錝 <20><11>ツサcャ*<2A>/rdj・<

View File

@@ -0,0 +1 @@
tрcАН▒и