Adware - Ricordo i tempi d'oro di AdwCleaner ma MalwareBytes ora ha perso terreno

Mac OS X e le sue Applicazioni

Moderatore: ModiMaccanici

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5477
Località: Stockholm, SE

Top

Il mac viene comunicato solo al primo router ma può essere letto localmente, di conseguenza chi ti vende una app può usarla per leggere il mac.
Poiché Android gira su Linux basta un comando ifconfig che gira senza privilegi per conoscere il mac.
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
paolinoweb
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: gio, 19 nov 2020 21:40
Messaggi: 3824
Località: Genova

Top

Hammarby ha scritto:
lun, 30 ott 2023 19:13
Il mac viene comunicato solo al primo router ma può essere letto localmente, di conseguenza chi ti vende una app può usarla per leggere il mac.
Poiché Android gira su Linux basta un comando ifconfig che gira senza privilegi per conoscere il mac.
Non ti ho seguto del tutto con ifconfig... ma ti sottopongo questo....

Questa è la patch in python che ho aperto con text edit per visualizzarla . ho sostituito il nome con TTTT... per chi ti vende quell'app....
ti cambia ID, ma poi lo rilevano dopo un po'... io rilancio a terminale questa patch e ID nuovo...
ho tentato di leggere i comandi, ma non capisco cosa fa se non randomizzare un ID, cambiarlo, cambiare dei binari, serial, da "mostra pacchetto" content > TTTT che è quello che si lancia alla fin fine.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import platform
import random
import re
import string
import sys

print('''
--------------------------------
ID Changer for MAC OS
--------------------------------
''')

if sys.version[0:1] != "2":
print("This script can be run only on Python27.")
sys.exit()

if platform.system() != "Darwin":
print("This script can be run only on MAC OS.")
sys.exit()

if os.geteuid() != 0:
print("This script must be run form root.")
sys.exit()

if "SUDO_USER" in os.environ:
USERNAME = os.environ["SUDO_USER"]
if USERNAME == "root":
print("Can not find user name. Run this script via sudo from regular user")
sys.exit()
else:
print("Can not find user name. Run this script via sudo from regular user")
sys.exit()

HOMEDIRLIB = "/Users/" + USERNAME + "/library/preferences/"
GLOBALLIB = "/library/preferences/"

CONFIGS = []


# Find config files

def listdir_fullpath(d):
return [os.path.join(d, f) for f in os.listdir(d)]


for file in listdir_fullpath(HOMEDIRLIB):
if 'TTTT' in file.lower():
CONFIGS.append(file)

for file in listdir_fullpath(GLOBALLIB):
if 'TTTT' in file.lower():
CONFIGS.append(file)

if not CONFIGS:
print('''
There is no TTTT configs found.
Maybe you have deleted it manualy or never run TTTT after installation.
Nothing to delete.
''')
else:
# Delete config files
print("Configs found:\n")
for file in CONFIGS: print(file)
print('''
This files will be DELETED permanently.
All TTTT settings will be lost
''')
raw_input("Press Enter to continue or CTR+C to abort...")

for file in CONFIGS:
try:
os.remove(file)
except:
print("Cannot delete config files. Permission denied?")
sys.exit()
print("Done.")

# Find binaryes

TMBINARYES = [
'/Applications/TTTT.app/Contents/MacOS/TTTT',
'/Applications/TTTT.app/Contents/MacOS/TTTT_Service',
'/Applications/TTTT.app/Contents/MacOS/TTTT_Desktop_Proxy'
]

for file in TMBINARYES:
if os.path.exists(file):
pass
else:
print("File not found: " + file)
print ("Install TTTT correctly")
sys.exit()


# Patch files

def idpatch(fpath, platf, serial):
file = open(fpath, 'r+b')
binary = file.read()
PlatformPattern = "IOPlatformExpert.{6}"
SerialPattern = "IOPlatformSerialNumber%s%s%s"

binary = re.sub(PlatformPattern, platf, binary)
binary = re.sub(SerialPattern % (chr(0), "[0-9a-zA-Z]{8,8}", chr(0)), SerialPattern % (chr(0), serial, chr(0)), binary)

file = open(fpath, 'wb').write(binary)
return True


def random_generator(size=8, chars=string.ascii_uppercase + string.ascii_lowercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))


RANDOMSERIAL = random_generator(8)
RANDOMPLATFORM = "IOPlatformExpert" + random_generator(6)

for file in TMBINARYES:
try:
idpatch(file, RANDOMPLATFORM, RANDOMSERIAL)
except:
print("Error: can not patch file " + file)
sys.exit()

print("PlatformDevice: " + RANDOMPLATFORM)
print("PlatformSerial: " + RANDOMSERIAL)

os.system("sudo codesign -f -s - /Applications/TTTT.app/")

print('''
ID changed sucessfully.
!!! Restart computer before using TTTT !!!!
''')
Macbook Air 2020 M1
8 GB Ram 256 GB SSD

iPhone SE 2° gen 2020 64 GB Red

Apple Tv, 3° gen 2012

Non provo rammarico per quello che sono stato ma per quello che non potrò più essere.

Avatar utente
Hammarby
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 5477
Località: Stockholm, SE

Top

Se non metti gli spazi il python non si legge.
Vedo che ha un paio di routines che cambiano una sottostringa nei files distribuiti dal programma stesso e che prima rimuove tutti i files delle preferenze.
Resta da vedere cosa fanno questi programmi, immagino che dopo l'aggiornamento facciano una "call home" comunicando il nuovo valore randon che verrà a questo punto memorizzato nel server.
Sarebbe interessante dare un'occhiata ai vari programmi TTT

La rutine che fa la patch del file dovrebbe essere scritta in questo modo

Codice: Seleziona tutto


# Importa tutte queste librerie (vedi le librerie di python)
import os
import platform
import random
import re
import string
import sys

# Patch files

def idpatch(fpath, platf, serial):  	# Fai la patch del file fpath della piattaforma platf con il numero seriale serial
	file = open(fpath, 'r+b')		# apri il file fpath in modo binario, solo lettura
	binary = file.read()			# leggi tutto il file dentro binary
	PlatformPattern = "IOPlatformExpert.{6}"				# Stringa di ricerca 1
	SerialPattern = "IOPlatformSerialNumber%s%s%s"		# String di ricerca 2

	binary = re.sub(PlatformPattern, platf, binary)			# con la libreria re (https://docs.python.org/3/library/re.html) cerca la prima stringa e la toglie dal file binary
	binary = re.sub(SerialPattern % (chr(0), "[0-9a-zA-Z]{8,8}", chr(0)), SerialPattern % (chr(0), serial, chr(0)), binary)	# Cerca la seconda stringa e la sostutisce con serial

	file = open(fpath, 'wb').write(binary)		# Riscrive il file
	return True
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes

Avatar utente
paolinoweb
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: gio, 19 nov 2020 21:40
Messaggi: 3824
Località: Genova

Top

Hammarby ha scritto:
mar, 31 ott 2023 17:56
Se non metti gli spazi il python non si legge.
Vedo che ha un paio di routines che cambiano una sottostringa nei files distribuiti dal programma stesso e che prima rimuove tutti i files delle preferenze.
Resta da vedere cosa fanno questi programmi, immagino che dopo l'aggiornamento facciano una "call home" comunicando il nuovo valore randon che verrà a questo punto memorizzato nel server.
Sarebbe interessante dare un'occhiata ai vari programmi TTT
La rutine che fa la patch del file dovrebbe essere scritta in questo modo
vedo che hai ristretto la patch, senza i commenti e senza le conferme. si dovrebbe funzionare. Bravo!

C'è solo questa patch per TTT, ce ne sono decine e decine, uguali, tutte in python, tutte hanno lo stesso nome "RESET ID TTT" . cambia la versione dell'app nelle varie patch .py
da github si trovano, ma trovare questa funzionante, sono arrivato ad un sito cinese o japan, che sia... non c'era verso che funzionanessero... ne avevo una riga impressionante.

Ad un certo punto mi sono ritrovato con due scelte.. acquisto o usare macchina virtuale. Ho usato le VM :D
Macbook Air 2020 M1
8 GB Ram 256 GB SSD

iPhone SE 2° gen 2020 64 GB Red

Apple Tv, 3° gen 2012

Non provo rammarico per quello che sono stato ma per quello che non potrò più essere.

Avatar utente
Casp3r_Whit3ghost
Stato: Non connesso
Maccanico assiduo
Maccanico assiduo
Avatar utente
Iscritto il: gio, 04 giu 2020 11:08
Messaggi: 177
Località: Bologna

Top

Bello, appassiona anche me Python.

Pero Io non uso piu TeamViewer, mi é scaduto da un bel pezzo.
@joseterra la questione dovrebbe essere risolta ma vi aggiorno appena possible.

Vi dico di piu ho risentito anche faxus perche tutti I topic facevano riferimento a lui ma...non l'ho sentito in forma e sta resettando Tutto il mondo informatico...non ne vuole piu sapere.
Dispiace.
Il segreto della felicità sta nell'antico adagio "Diventa ciò che sei".
(ALAN WATTS)

Avatar utente
Pingus
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: sab, 13 ott 2018 16:56
Messaggi: 2663

Top

Casp3r_Whit3ghost ha scritto:
gio, 02 nov 2023 14:39
ho risentito anche faxus
Ci sentiamo/scriviamo ogni tanto per parlare di giardino, orto, ortaggi, piante, etc… 😅

Avatar utente
Pingus
Stato: Non connesso
Unix Expert
Unix Expert
Avatar utente
Iscritto il: sab, 13 ott 2018 16:56
Messaggi: 2663

Top

Casp3r_Whit3ghost ha scritto:
gio, 02 nov 2023 14:39
sta resettando Tutto il mondo informatico...non ne vuole piu sapere
Anch'io non vedo l'ora! Lo capisco.

Avatar utente
paolinoweb
Stato: Non connesso
Expert
Expert
Avatar utente
Iscritto il: gio, 19 nov 2020 21:40
Messaggi: 3824
Località: Genova

Top

Casp3r_Whit3ghost ha scritto:
gio, 02 nov 2023 14:39
Bello, appassiona anche me Python.

Pero Io non uso piu TeamViewer, mi é scaduto da un bel pezzo.
Basta che installi python 2.7, poi puoi usare il codice che ho postato, lo copi su texedit, texmate, editor di testo che ti piace
lo salvi con estensione .py ...... dove al posto di TTT devi mettere il nome di cui sopra, con la T maisucola. :wink:
installi, chiudi subito, apri terminale e digiti

Codice: Seleziona tutto

sudo python2.7 [percorso file- nome file.py]
io scrivo sudo python2.7 e trascino il file in terminale.

riavvia subito mac. al riavvio sei a posto.

P.S. questo post ha lo scopo informativo di utilizzo di python con l'utilizzo di un programma che permette di capire il funzionamento di questo linguaggio di programmazione,
ma non di modificare il programma per scopi non autorizzati dai termini e condizioni del programma.
Dopo aver capito come funziona lo script e il linguaggio python, si disinstalla il programma in questione e si utilizza con i termini e condizioni che ha.
Macbook Air 2020 M1
8 GB Ram 256 GB SSD

iPhone SE 2° gen 2020 64 GB Red

Apple Tv, 3° gen 2012

Non provo rammarico per quello che sono stato ma per quello che non potrò più essere.

Rispondi

Torna a “Software”

Chi c’è in linea

Visitano il forum: Apple [Bot] e 11 ospiti