Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
rewerse-engineering — Reverse engineering dell'API Rewe in Go | Kitploit
Strumenti/GitHubGitHub/bytesizedmarius/rewerse-engineering
Reverse EngineeringScripting e AutomazioneSicurezza WebCrittografiaApprendimento e FormazioneSicurezza delle API
GitHubbytesizedmarius/rewerse-engineering

rewerse-engineering

Reverse engineering dell'API Rewe in Go

Vedi Repository
8254320 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

rewerse engineering

Project Logo

Un client API REWE non ufficiale in Go e Python. Implementa gli endpoint pubblicamente accessibili (non autenticati) che l'app REWE utilizza per interrogare sconti correnti (Angebote), prodotti, mercati e richiami.

Versione APK attualmente supportata: 5.18.1 (al 29.09.26)

[!CAUTION] I certificati necessari per comunicare con l'API di rewe non sono inclusi in questo repository. Devi estrarli dall'APK. La documentazione e uno script di estrazione per Windows si trovano nella directory docs.

Vedi anche rewerse-ui.

avvio rapido

Estrai i certificati dall'apk di rewe; consulta docs per le istruzioni

Usa la libreria:

  • Go: go get github.com/ByteSizedMarius/rewerse-engineering – docs
  • Python: pip install rewerse – docs

Oppure installa la CLI:

  • Scarica una release
  • Oppure installa tramite Go: go install github.com/ByteSizedMarius/rewerse-engineering/cmd@latest
  • Oppure clona e compila: go build -o rewerse ./cmd

Verifica: rewerse --help

Esempio: Recupera gli sconti correnti per un mercato:

$ rewerse discounts -market 840174

Top-Angebote in deinem Markt
	Haribo Goldbären oder Color-Rado, 0.77€
	Coca-Cola, Fanta oder Sprite, 0.99€
Obst & Gemüse
	Heidelbeeren, 1.49€
	Rispentomaten, 0.99€
...

introduzione

A marzo 2024, Rewe ha iniziato a usare Cloudflare MTLS per proteggere i propri endpoint API, il che ha reso inutilizzabili le soluzioni esistenti che permettevano, ad esempio, di recuperare gli sconti per uno specifico mercato Rewe. L'utente GitHub @torbenpfohl è stato ossessionato abbastanza persistente da capirlo, trovare il certificato e la sua password. Questo repo si basa sul suo lavoro e mira a documentare le procedure necessarie e implementare alcuni degli endpoint.

disclaimer

Questo progetto non è affiliato, approvato o sponsorizzato da REWE-ZENTRALFINANZ eG. "REWE" è un marchio registrato del rispettivo proprietario.

Questo è un client non ufficiale basato sul traffico di rete pubblicamente osservabile dall'app mobile REWE. È fornito per scopi educativi e di ricerca. L'API sottostante non è documentata e può cambiare o rompersi in qualsiasi momento senza preavviso.

L'uso di questo software è a tuo rischio. Gli utenti sono responsabili di garantire che il proprio utilizzo sia conforme ai termini di servizio applicabili.

contenuti

  • Un'implementazione Go di base dell'API rewe è disponibile nella directory pkg; consulta pkg/readme per la documentazione API della libreria Go, inclusi esempi di utilizzo.
  • Un wrapper Python FFI è disponibile come rewerse su PyPI – consulta python/readme per dettagli e codice sorgente.
  • Il codice sorgente della CLI per la libreria Go è in cmd.
  • Le release sono in releases.

[!NOTE] Tieni presente che, trattandosi di un binario Go non firmato che esegue crittografia/decrittografia di certificati e invia richieste web all'API rewe, probabilmente verrà segnalato dal tuo antivirus. Non ci sono dipendenze, quindi puoi compilarlo facilmente da solo – cosa sempre raccomandata da un punto di vista della sicurezza.

endpoint rimossi

L'app non ha più un endpoint di completamento automatico e utilizza semplicemente la normale ricerca prodotti, quindi i suggerimenti sui prodotti sono scomparsi.

cli

Usage: ./rewerse.exe [flags] <command> [subcommand] [flags]

Flags:
  -cert <path>    Certificate file (default: certificate.pem)
  -key <path>     Key file (default: private.key)
  -json           Output as JSON

Commands:
  markets         Search and get market details
  products        Search, browse, and get product info
  discounts       Get market discounts
  categories      Get product categories
  recipes         Search recipes, get details and popular terms
  recalls         Get product recalls
  services        Get service portfolio by zip

Examples:
  ./rewerse.exe markets search -query Köln
  ./rewerse.exe products search -market 831002 -query Milch
  ./rewerse.exe products category -market 831002 -slug obst-gemuese
  ./rewerse.exe discounts -market 840174
  ./rewerse.exe categories -market 831002
  ./rewerse.exe services -zip 50667
  ./rewerse.exe recipes search -term Lachs -difficulties 1
  ./rewerse.exe recipes details -id blt4aaa7361ba69f8c8

Run './rewerse.exe <command>' for subcommand help.

test

I test si trovano in pkg/*_test.go. Ce ne sono di due tipi:

  • I test unitari effettuano l'unmarshal dei payload JSON nelle nostre struct. I payload derivano da risposte API reali. Questi vengono eseguiti senza certificati e individuano discrepanze di tipo tra le nostre struct e le forme effettive dell'API. go test ./pkg/ -run Unmarshal
  • I test di integrazione colpiscono l'API live e richiedono i certificati. Vengono saltati automaticamente se non vengono trovati certificati. go test ./pkg/

Se stai contribuendo con una modifica a una struct, considera di aggiungere o aggiornare un test di unmarshal. Usa una risposta API reale se riesci a catturarne una, altrimenti va bene un payload JSON sintetico che rifletta il comportamento effettivo dell'API.

contribuire

Sentiti libero di aprire issue su GitHub per suggerimenti, domande, bug. Le PR sono benvenute. Email: rewe at byte dot rest.

attribuzione

  • https://github.com/foo-git/rewe-discounts
  • https://github.com/torbenpfohl/rewe-discounts
  • https://github.com/egonelbre/gophers
Scarica lo strumento