Skip to content

Commit

Permalink
feat: automate openssl offset header file generation
Browse files Browse the repository at this point in the history
  • Loading branch information
blaisewang committed Oct 19, 2022
1 parent 8afd9c0 commit 2549976
Show file tree
Hide file tree
Showing 30 changed files with 972 additions and 160 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ kern/bpf/x86/vmlinux.h

bin/*
/.check*
/deps/*
7 changes: 2 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,8 @@ BPF_NOCORE_TAG = $(subst .,_,$(KERN_RELEASE)).$(subst .,_,$(VERSION))
# BPF Source file
#

TARGETS := kern/openssl_1.1.1a
TARGETS += kern/openssl_1.1.1b-c
TARGETS += kern/openssl_1.1.1d-i
TARGETS += kern/openssl_1.1.1j-q
TARGETS += kern/boringssl_1.1.1
TARGETS := $(foreach var,$(shell echo {a..r}),kern/openssl_1_1_1$(var))
TARGETS += kern/boringssl_1_1_1
TARGETS += kern/bash
TARGETS += kern/gnutls
TARGETS += kern/nspr
Expand Down
5 changes: 2 additions & 3 deletions kern/boringssl_1.1.1_kern.c → kern/boringssl_1_1_1_kern.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@
// ssl->exporter_master_secret 在 ssl_st 中的偏移量
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3BC // 956

#endif

#include "openssl.h"
#include "boringssl_masterkey.h"


#endif
48 changes: 0 additions & 48 deletions kern/openssl_1.1.1j-q_kern.c

This file was deleted.

37 changes: 32 additions & 5 deletions kern/openssl_1.1.1a_kern.c → kern/openssl_1_1_1a_kern.c
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_A_H
#define ECAPTURE_OPENSSL_1_1_1_A_H
#ifndef ECAPTURE_OPENSSL_1_1_1_A_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_A_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1a 20 Nov 2018, OPENSSL_VERSION_NUMBER:269488159 */
/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1a 20 Nov 2018, OPENSSL_VERSION_NUMBER: 269488159 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x510

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x174

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1b4

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2b4

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2f4

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3b4

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

#include "openssl.h"
#include "openssl_masterkey.h"
37 changes: 32 additions & 5 deletions kern/openssl_1.1.1b-c_kern.c → kern/openssl_1_1_1b_kern.c
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_B_C_H
#define ECAPTURE_OPENSSL_1_1_1_B_C_H
#ifndef ECAPTURE_OPENSSL_1_1_1_B_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_B_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1b 26 Feb 2019, OPENSSL_VERSION_NUMBER:269488175 */
/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1b 26 Feb 2019, OPENSSL_VERSION_NUMBER: 269488175 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x508

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x174

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1b4

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2b4

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2f4

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3b4

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

#include "openssl.h"
#include "openssl_masterkey.h"
49 changes: 49 additions & 0 deletions kern/openssl_1_1_1c_kern.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_C_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_C_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1c 28 May 2019, OPENSSL_VERSION_NUMBER: 269488191 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x508

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x174

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1b4

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2b4

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2f4

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3b4

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

37 changes: 32 additions & 5 deletions kern/openssl_1.1.1d-i_kern.c → kern/openssl_1_1_1d_kern.c
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_D_I_H
#define ECAPTURE_OPENSSL_1_1_1_D_I_H
#ifndef ECAPTURE_OPENSSL_1_1_1_D_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_D_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1d 10 Sep 2019, OPENSSL_VERSION_NUMBER:269488207 */
/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1d 10 Sep 2019, OPENSSL_VERSION_NUMBER: 269488207 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x510

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x17c

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1bc

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2bc

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2fc

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3bc

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

#include "openssl.h"
#include "openssl_masterkey.h"
49 changes: 49 additions & 0 deletions kern/openssl_1_1_1e_kern.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_E_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_E_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1e 17 Mar 2020, OPENSSL_VERSION_NUMBER: 269488223 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x510

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x17c

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1bc

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2bc

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2fc

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3bc

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

49 changes: 49 additions & 0 deletions kern/openssl_1_1_1f_kern.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#ifndef ECAPTURE_OPENSSL_1_1_1_F_KERN_H
#define ECAPTURE_OPENSSL_1_1_1_F_KERN_H

/* OPENSSL_VERSION_TEXT: OpenSSL 1.1.1f 31 Mar 2020, OPENSSL_VERSION_NUMBER: 269488239 */

// ssl_st->version
#define SSL_ST_VERSION 0x0

// ssl_st->session
#define SSL_ST_SESSION 0x510

// ssl_st->s3
#define SSL_ST_S3 0xa8

// ssl_session_st->master_key
#define SSL_SESSION_ST_MASTER_KEY 0x50

// ssl3_state_st->client_random
#define SSL3_STATE_ST_CLIENT_RANDOM 0xb8

// ssl_session_st->cipher
#define SSL_SESSION_ST_CIPHER 0x1f8

// ssl_session_st->cipher_id
#define SSL_SESSION_ST_CIPHER_ID 0x200

// ssl_cipher_st->id
#define SSL_CIPHER_ST_ID 0x18

// ssl_st->handshake_secret
#define SSL_ST_HANDSHAKE_SECRET 0x17c

// ssl_st->master_secret
#define SSL_ST_MASTER_SECRET 0x1bc

// ssl_st->server_finished_hash
#define SSL_ST_SERVER_FINISHED_HASH 0x2bc

// ssl_st->handshake_traffic_hash
#define SSL_ST_HANDSHAKE_TRAFFIC_HASH 0x2fc

// ssl_st->exporter_master_secret
#define SSL_ST_EXPORTER_MASTER_SECRET 0x3bc

#include "openssl.h"
#include "openssl_masterkey.h"

#endif

Loading

0 comments on commit 2549976

Please sign in to comment.