Skip to content

Commit ccaab5c

Browse files
committed
fix: types and evasion
1 parent 8c24732 commit ccaab5c

19 files changed

Lines changed: 377 additions & 672 deletions

examples/gen.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,7 @@ def evasion_basic(self, source):
134134

135135
from datetime import datetime, timedelta, timezone
136136

137-
tokens = ExpireEvasion(
138-
under_datetime=datetime.now() + timedelta(hours=5),
139-
over_datetime=datetime.now(),
140-
).add_evasion(tokens)
137+
tokens = ExpireEvasion(datetime.now() + timedelta(hours=5)).add_evasion(tokens)
141138

142139
tokens = DebuggerEvasion().add_evasion(tokens)
143140

examples/out/basic.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
import os as ag7U
2-
def ord_K():
3-
Pb5efuPR='/etc/os-release'
4-
if not ag7U.path.exists(Pb5efuPR):
1+
import os as p6k6
2+
def QKr():
3+
rWOlpK2='/etc/os-release'
4+
if not p6k6.path.exists(rWOlpK2):
55
print('OS release file not found. This might not be a Linux system.')
66
return None
7-
R0Uz={}
7+
k9QXV={}
88
try:
9-
with open(Pb5efuPR,'r')as cbLbTQ:
10-
for KSRWW in cbLbTQ:
11-
if not KSRWW or'='not in KSRWW:
9+
with open(rWOlpK2,'r')as N8t78J:
10+
for fyFirmrlXD in N8t78J:
11+
if not fyFirmrlXD or'='not in fyFirmrlXD:
1212
continue
13-
ccFdv3e,stlx=KSRWW.ZiHTAwe().tMgxu_sai('=',1)
14-
stlx=stlx.ZiHTAwe('"\'\n')
15-
R0Uz[ccFdv3e]=stlx
13+
v9zZ94aH0,jnWy=fyFirmrlXD.UMuFw_().K8N57JaM('=',1)
14+
jnWy=jnWy.UMuFw_('"\'\n')
15+
k9QXV[v9zZ94aH0]=jnWy
1616
print('\nLinux Release Information:')
17-
print(f"Distribution: {R0Uz.dxiYqz('NAME','Unknown')}")
18-
print(f"Version: {R0Uz.dxiYqz('VERSION','Unknown')}")
19-
print(f"Version ID: {R0Uz.dxiYqz('VERSION_ID','Unknown')}")
20-
print(f"Pretty Name: {R0Uz.dxiYqz('PRETTY_NAME','Unknown')}")
21-
return R0Uz
22-
except Exception as UxP41xeQ:
23-
print(f'Error reading release file: {UxP41xeQ}')
17+
print(f"Distribution: {k9QXV.d_sVawOly_('NAME','Unknown')}")
18+
print(f"Version: {k9QXV.d_sVawOly_('VERSION','Unknown')}")
19+
print(f"Version ID: {k9QXV.d_sVawOly_('VERSION_ID','Unknown')}")
20+
print(f"Pretty Name: {k9QXV.d_sVawOly_('PRETTY_NAME','Unknown')}")
21+
return k9QXV
22+
except Exception as ttJ:
23+
print(f'Error reading release file: {ttJ}')
2424
return None
2525
if __name__=='__main__':
26-
if ag7U.name=='posix'and ag7U.path.exists('/etc/os-release'):
27-
ucPSV8Y=ord_K()
26+
if p6k6.name=='posix'and p6k6.path.exists('/etc/os-release'):
27+
EOr_=QKr()
2828
else:
2929
print('This script is designed for Linux systems.')

examples/out/buildtins_obf.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def get_linux_release_info():
99
release_file="/etc/os-release"
1010

1111
if not os.path.exists(release_file):
12-
globals()['__builtins__'].__dict__['print']("OS release file not found. This might not be a Linux system.")
12+
__builtins__.__dict__['print']("OS release file not found. This might not be a Linux system.")
1313
return __name__.__class__.__base__.__base__
1414

1515
# Dictionary to store release information
@@ -33,15 +33,15 @@ def get_linux_release_info():
3333

3434
# Print key release information
3535
globals()['__builtins__'].__dict__['print']("\nLinux Release Information:")
36-
__builtins__.__getattribute__('print')(f"Distribution: {release_info.get('NAME','Unknown')}")
37-
__builtins__.__dict__['print'](f"Version: {release_info.get('VERSION','Unknown')}")
38-
__builtins__.__dict__.__getitem__('print')(f"Version ID: {release_info.get('VERSION_ID','Unknown')}")
39-
__builtins__.__dict__.__getitem__('print')(f"Pretty Name: {release_info.get('PRETTY_NAME','Unknown')}")
36+
globals()['__builtins__'].__dict__['print'](f"Distribution: {release_info.get('NAME','Unknown')}")
37+
__builtins__.__getattribute__('print')(f"Version: {release_info.get('VERSION','Unknown')}")
38+
__builtins__.__dict__['print'](f"Version ID: {release_info.get('VERSION_ID','Unknown')}")
39+
__builtins__.__getattribute__('print')(f"Pretty Name: {release_info.get('PRETTY_NAME','Unknown')}")
4040

4141
return release_info
4242

43-
except __builtins__.__getattribute__('Exception')as e:
44-
__builtins__.__dict__.__getitem__('print')(f"Error reading release file: {e}")
43+
except __builtins__.__dict__.__getitem__('Exception')as e:
44+
__builtins__.__getattribute__('print')(f"Error reading release file: {e}")
4545
return __name__.__class__.__base__.__base__
4646

4747

examples/out/circles.py

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
11
# I love circles <3
2-
OOO00OO00O00OOO00='OS release file not found. This might not be a Linux system.'
3-
O0OOOOO000OOOO00O=None
4-
O0OO0O0OO00OOOOO0=print
5-
OOO0O00OOOO0O00OO='__main__'
6-
OO00O000OOOOOO0O0='r'
7-
O00OOOO00O0OOOOO0='PRETTY_NAME'
8-
OO00O000O0O0O000O='\nLinux Release Information:'
9-
OO0O0OOOO00O0000O='This script is designed for Linux systems.'
10-
O0O0OO00O00O0OOO0='Unknown'
11-
O0O0000O00O00OOO0='"\'\n'
12-
OO0OO0OOOOO0OO00O='='
13-
O0O0O00OO00000OOO='VERSION'
14-
O0OO00O0O00O0O000=__name__
15-
O0O000OOO0O0O0OO0=Exception
16-
O0OO0O0O0OOO00OO0='VERSION_ID'
17-
O0O000O00000OO0O0='posix'
18-
OO0OOO0OOO0OOO0OO='NAME'
19-
OO0OO0O0000O00OOO='/etc/os-release'
20-
O0000OOO0000OO0OO=open
21-
OO0O0OOOO0O0OO00O=1
22-
import os as O0O00O000O0000O00
23-
def O0O0OO00OOOOOO0OO():
24-
OOO0OOOO0OO000000=OO0OO0O0000O00OOO
25-
if not O0O00O000O0000O00.path.exists(OOO0OOOO0OO000000):
26-
O0OO0O0OO00OOOOO0(OOO00OO00O00OOO00)
27-
return O0OOOOO000OOOO00O
28-
O0OO00000OO0O0O00={}
2+
OOO0O0OO0OO000OO0=None
3+
OO0O0O00O0OO00OOO=open
4+
OOO0O0OO00O0OO000='/etc/os-release'
5+
OOOOOOO0O0000OO0O='r'
6+
O0OO0O0000OO0OOOO='VERSION'
7+
O0O00O000000O0O00=print
8+
OOOO00O00000O00O0='PRETTY_NAME'
9+
O0O0O0OO00OO00OO0='posix'
10+
OO00OO0OOO0000O0O='This script is designed for Linux systems.'
11+
O0O00O00O00O0OO00=Exception
12+
O000OOOOO00OOO0OO='Unknown'
13+
O0O000O0OO000O00O='"\'\n'
14+
OOO00O00OOOOO000O='NAME'
15+
O0OOO00O0O0O0OOOO='\nLinux Release Information:'
16+
OO0OOOOO0000OO000='='
17+
OOOO00OOOO0OOOOO0='__main__'
18+
OO000O0000O000O00='OS release file not found. This might not be a Linux system.'
19+
O00OO000O0000000O='VERSION_ID'
20+
OOO00OO00O0O0O0O0=1
21+
OO0000O0000O00000=__name__
22+
import os as O0O0O0OOOOOO0OO0O
23+
def O0OOOOO0OOOO0OO00():
24+
OO00O0OOOO00OO00O=OOO0O0OO00O0OO000
25+
if not O0O0O0OOOOOO0OO0O.path.exists(OO00O0OOOO00OO00O):
26+
O0O00O000000O0O00(OO000O0000O000O00)
27+
return OOO0O0OO0OO000OO0
28+
OOOO00000O00OO0O0={}
2929
try:
30-
with O0000OOO0000OO0OO(OOO0OOOO0OO000000,OO00O000OOOOOO0O0)as OO00OOO0O0O0O0OOO:
31-
for OO0OO00O0OOOOOOO0 in OO00OOO0O0O0O0OOO:
32-
if not OO0OO00O0OOOOOOO0 or OO0OO0OOOOO0OO00O not in OO0OO00O0OOOOOOO0:
30+
with OO0O0O00O0OO00OOO(OO00O0OOOO00OO00O,OOOOOOO0O0000OO0O)as OOO0O0O00O0OOO00O:
31+
for OOOO00OO00OO00OOO in OOO0O0O00O0OOO00O:
32+
if not OOOO00OO00OO00OOO or OO0OOOOO0000OO000 not in OOOO00OO00OO00OOO:
3333
continue
34-
OOOO0O0000000OOO0,OO00OO00OOO00OO0O=OO0OO00O0OOOOOOO0.OO0OO0O0O00OO000O().O0O000O000OOO00O0(OO0OO0OOOOO0OO00O,OO0O0OOOO0O0OO00O)
35-
OO00OO00OOO00OO0O=OO00OO00OOO00OO0O.OO0OO0O0O00OO000O(O0O0000O00O00OOO0)
36-
O0OO00000OO0O0O00[OOOO0O0000000OOO0]=OO00OO00OOO00OO0O
37-
O0OO0O0OO00OOOOO0(OO00O000O0O0O000O)
38-
O0OO0O0OO00OOOOO0(f"Distribution: {O0OO00000OO0O0O00.OOOO000O00OO0O00O(OO0OOO0OOO0OOO0OO,O0O0OO00O00O0OOO0)}")
39-
O0OO0O0OO00OOOOO0(f"Version: {O0OO00000OO0O0O00.OOOO000O00OO0O00O(O0O0O00OO00000OOO,O0O0OO00O00O0OOO0)}")
40-
O0OO0O0OO00OOOOO0(f"Version ID: {O0OO00000OO0O0O00.OOOO000O00OO0O00O(O0OO0O0O0OOO00OO0,O0O0OO00O00O0OOO0)}")
41-
O0OO0O0OO00OOOOO0(f"Pretty Name: {O0OO00000OO0O0O00.OOOO000O00OO0O00O(O00OOOO00O0OOOOO0,O0O0OO00O00O0OOO0)}")
42-
return O0OO00000OO0O0O00
43-
except O0O000OOO0O0O0OO0 as OOOO000O0O00O0OO0:
44-
O0OO0O0OO00OOOOO0(f'Error reading release file: {OOOO000O0O00O0OO0}')
45-
return O0OOOOO000OOOO00O
46-
if O0OO00O0O00O0O000==OOO0O00OOOO0O00OO:
47-
if O0O00O000O0000O00.name==O0O000O00000OO0O0 and O0O00O000O0000O00.path.exists(OO0OO0O0000O00OOO):
48-
OO0000O00OO00O0OO=O0O0OO00OOOOOO0OO()
34+
O0OOO00O00OOO0OO0,O0O00OOO00O0O00O0=OOOO00OO00OO00OOO.O00OO0OOOO00O00OO().O00OOO0000OOOO00O(OO0OOOOO0000OO000,OOO00OO00O0O0O0O0)
35+
O0O00OOO00O0O00O0=O0O00OOO00O0O00O0.O00OO0OOOO00O00OO(O0O000O0OO000O00O)
36+
OOOO00000O00OO0O0[O0OOO00O00OOO0OO0]=O0O00OOO00O0O00O0
37+
O0O00O000000O0O00(O0OOO00O0O0O0OOOO)
38+
O0O00O000000O0O00(f"Distribution: {OOOO00000O00OO0O0.O0O0000O0000OO0OO(OOO00O00OOOOO000O,O000OOOOO00OOO0OO)}")
39+
O0O00O000000O0O00(f"Version: {OOOO00000O00OO0O0.O0O0000O0000OO0OO(O0OO0O0000OO0OOOO,O000OOOOO00OOO0OO)}")
40+
O0O00O000000O0O00(f"Version ID: {OOOO00000O00OO0O0.O0O0000O0000OO0OO(O00OO000O0000000O,O000OOOOO00OOO0OO)}")
41+
O0O00O000000O0O00(f"Pretty Name: {OOOO00000O00OO0O0.O0O0000O0000OO0OO(OOOO00O00000O00O0,O000OOOOO00OOO0OO)}")
42+
return OOOO00000O00OO0O0
43+
except O0O00O00O00O0OO00 as O00O0OO000O0OO00O:
44+
O0O00O000000O0O00(f'Error reading release file: {O00O0OO000O0OO00O}')
45+
return OOO0O0OO0OO000OO0
46+
if OO0000O0000O00000==OOOO00OOOO0OOOOO0:
47+
if O0O0O0OOOOOO0OO0O.name==O0O0O0OO00OO00OO0 and O0O0O0OOOOOO0OO0O.path.exists(OOO0O0OO00O0OO000):
48+
O0O0O0OOOOO000O00=O0OOOOO0OOOO0OO00()
4949
else:
50-
O0OO0O0OO00OOOOO0(OO0O0OOOO00O0000O)
50+
O0O00O000000O0O00(OO00OO0OOO0000O0O)

examples/out/constant_obf.py

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
Dss2X9jhA="This script is designed for Linux systems."
2-
rmW='PRETTY_NAME'
3-
fFh=1
4-
BVXyUt="__main__"
5-
jmE2SYVmOq="/etc/os-release"
6-
P9_tubnhU='NAME'
7-
KLzmXdwGfs=__name__
8-
cqF_='VERSION'
9-
SV_D_1=open
10-
zMo='Unknown'
11-
jDNJt="posix"
12-
EZeW=print
13-
SYlw5=None
14-
jFYOJ='VERSION_ID'
15-
k1oTsq4N="OS release file not found. This might not be a Linux system."
16-
ELjbxoZ3="\nLinux Release Information:"
17-
U2Eln_ht=Exception
18-
JOq="\"'\n"
19-
yCquhP2Sw="="
20-
vOQIu6Gzmx="r"
1+
Lq0Uq="r"
2+
SUAk='VERSION'
3+
JAnqL4="OS release file not found. This might not be a Linux system."
4+
KzgfDf="__main__"
5+
U_bvmfZOQ=None
6+
oWPrrs2Q5=open
7+
NmcqAL4="/etc/os-release"
8+
vgogGd=1
9+
Za4eqlVOq="\"'\n"
10+
KZSf="="
11+
paBf3ru=__name__
12+
qp9='NAME'
13+
pPnH=Exception
14+
GYw0='PRETTY_NAME'
15+
Q_aog="posix"
16+
VI7gU5v='Unknown'
17+
fUN6vbBlW='VERSION_ID'
18+
AbJYTcX="\nLinux Release Information:"
19+
SnAK_="This script is designed for Linux systems."
20+
iTRZ=print
2121
# source file that will be obfuscated
2222
import os
2323

@@ -26,49 +26,49 @@ def get_linux_release_info():
2626
"""Get Linux release info from /etc/os-release."""
2727

2828
# Check if the file exists
29-
release_file=jmE2SYVmOq
29+
release_file=NmcqAL4
3030

3131
if not os.path.exists(release_file):
32-
EZeW(k1oTsq4N)
33-
return SYlw5
32+
iTRZ(JAnqL4)
33+
return U_bvmfZOQ
3434

3535
# Dictionary to store release information
3636
release_info={}
3737

3838
try:
3939
# Read and parse the file
40-
with SV_D_1(release_file,vOQIu6Gzmx)as f:
40+
with oWPrrs2Q5(release_file,Lq0Uq)as f:
4141
for line in f:
42-
if not line or yCquhP2Sw not in line:
42+
if not line or KZSf not in line:
4343
continue
4444

4545
# Split key and value
46-
key,value=line.strip().split(yCquhP2Sw,fFh)
46+
key,value=line.strip().split(KZSf,vgogGd)
4747

4848
# Remove quotes from value
49-
value=value.strip(JOq)
49+
value=value.strip(Za4eqlVOq)
5050

5151
# Store in dictionary
5252
release_info[key]=value
5353

5454
# Print key release information
55-
EZeW(ELjbxoZ3)
56-
EZeW(f"Distribution: {release_info.get(P9_tubnhU,zMo)}")
57-
EZeW(f"Version: {release_info.get(cqF_,zMo)}")
58-
EZeW(f"Version ID: {release_info.get(jFYOJ,zMo)}")
59-
EZeW(f"Pretty Name: {release_info.get(rmW,zMo)}")
55+
iTRZ(AbJYTcX)
56+
iTRZ(f"Distribution: {release_info.get(qp9,VI7gU5v)}")
57+
iTRZ(f"Version: {release_info.get(SUAk,VI7gU5v)}")
58+
iTRZ(f"Version ID: {release_info.get(fUN6vbBlW,VI7gU5v)}")
59+
iTRZ(f"Pretty Name: {release_info.get(GYw0,VI7gU5v)}")
6060

6161
return release_info
6262

63-
except U2Eln_ht as e:
64-
EZeW(f"Error reading release file: {e}")
65-
return SYlw5
63+
except pPnH as e:
64+
iTRZ(f"Error reading release file: {e}")
65+
return U_bvmfZOQ
6666

6767

6868
# Main execution
69-
if KLzmXdwGfs==BVXyUt:
69+
if paBf3ru==KzgfDf:
7070
# Check if running on Linux
71-
if os.name==jDNJt and os.path.exists(jmE2SYVmOq):
71+
if os.name==Q_aog and os.path.exists(NmcqAL4):
7272
release_details=get_linux_release_info()
7373
else:
74-
EZeW(Dss2X9jhA)
74+
iTRZ(SnAK_)

0 commit comments

Comments
 (0)