
    @OOfg                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ dZd	Zd
Zdej                   fdZdej                   defdZdefdZy)    N)ZipFile)x509)serialization)certs)ctx)CONF_BASENAMEzid=mitmproxycert
name=MITMProxy cert
version=v1
versionCode=1
author=mitmproxy
description=Adds the mitmproxy certificate to the system store
template=3aL  
MODID=mitmproxycert
AUTOMOUNT=true
PROPFILE=false
POSTFSDATA=false
LATESTARTSERVICE=false

print_modname() {
  ui_print "*******************************"
  ui_print "    MITMProxy cert installer   "
  ui_print "*******************************"
}

REPLACE="
"

set_permissions() {
  set_perm_recursive  $MODPATH  0  0  0755  0644
}
a  
#!/sbin/sh

#################
# Initialization
#################

umask 022

# echo before loading util_functions
ui_print() { echo "$1"; }

require_new_magisk() {
  ui_print "*******************************"
  ui_print " Please install Magisk v20.4+! "
  ui_print "*******************************"
  exit 1
}

OUTFD=$2
ZIPFILE=$3

mount /data 2>/dev/null
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk

install_module
exit 0
returnc                     t         j                  j                  t        j                  j
                        } t        j                  j                  | t        t        j                  j                  t        j                  j                  r)t        j                  j                  j                  d      nd       }|j                  j                  S )Nutf8)pathbasenamekey_size
passphrase)osr   
expanduserr   optionsconfdirr   	CertStore
from_storer   r   cert_passphraseencode
default_ca_cert)certstore_path	certstores     W/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/utils/magisk.pyget_ca_from_filesr   J   s    WW''(;(;<N**%%;;&& ;;..55f= + I %%%    cac                     t        j                  | j                  j                               j	                         }|d   |d   dz  z  |d   dz  z  |d   dz  z  }t        |      dd  S )Nr                     )hashlibmd5subjectpublic_bytesdigesthex)r   	full_hashshos      r   subject_hash_oldr/   X   sk    BJJ3356==?I
A,)A,!+
,	!0B
CiPQlVXFX
XCs8AB<r   r   c                 "   t               }|j                  t        j                  j                        }t        | d      5 }|j                  dt        |       d|       |j                  dt               |j                  dt               |j                  dd       |j                  dt               |j                  d	d
       |j                  dd       |j                  dd       |j                  dd       d d d        y # 1 sw Y   y xY w)Nwzsystem/etc/security/cacerts/z.0zmodule.propz	config.shz*META-INF/com/google/android/updater-scriptz#MAGISKz)META-INF/com/google/android/update-binaryzcommon/file_contexts_imagez'/magisk(/.*)? u:object_r:system_file:s0zcommon/post-fs-data.shzMODDIR=${0%/*}zcommon/service.shzcommon/system.prop )r   r*   r   EncodingDERr   writestrr/   MODULE_PROP_TEXTCONFIG_SH_TEXTUPDATE_BINARY_TEXT)r   r   der_certzipps       r   write_magisk_moduler;   _   s     
	B}5599:H	s	 0t45Eb5I4J"MxXm%56k>2BINACUV(*S	
 	.0@A)+;<*B/0 0 0s    B<DD)r'   r   zipfiler   cryptographyr   cryptography.hazmat.primitivesr   	mitmproxyr   r   mitmproxy.optionsr   r6   r7   r8   Certificater   strr/   r;    r   r   <module>rD      sl     	   8   + * @&4++ &)) c 0c 0r   