Refactor: reorganización completa del proyecto y documentación consolidada
Esta actualización reorganiza el proyecto de reverse engineering de la API de ADIF con los siguientes cambios: Estructura del proyecto: - Movida documentación principal a carpeta docs/ - Consolidados archivos markdown redundantes en CLAUDE.md (contexto completo del proyecto) - Organización de tests en carpeta tests/ con README explicativo - APK renombrado de base.apk a adif.apk para mayor claridad Archivos de código: - Movidos adif_auth.py y adif_client.py a la raíz (antes en api_testing_scripts/) - Eliminados scripts de testing obsoletos y scripts de Frida no utilizados - Nuevos tests detallados: test_endpoints_detailed.py y test_onepaths_with_real_trains.py Descubrimientos: - Documentados nuevos hallazgos en docs/NEW_DISCOVERIES.md - Actualización de onePaths funcionando con commercialNumber real (devuelve 200) - Extraídos 1587 códigos de estación en station_codes.txt Configuración: - Actualizado .gitignore con mejores patrones para Python e IDEs - Eliminados archivos temporales de depuración y logs
This commit is contained in:
17
adif_auth.py
17
adif_auth.py
@@ -1,8 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
ADIF API Authenticator
|
||||
Implementación completa del algoritmo de autenticación HMAC-SHA256
|
||||
basado en el análisis de ingeniería reversa de ElcanoAuth.java
|
||||
ADIF API Authenticator - Réplica del Sistema Original
|
||||
|
||||
Este módulo es una réplica fiel del algoritmo de autenticación HMAC-SHA256
|
||||
utilizado por la API de ADIF (El Cano Móvil), obtenido mediante ingeniería
|
||||
reversa del código fuente original en ElcanoAuth.java.
|
||||
|
||||
El algoritmo sigue el patrón AWS Signature Version 4 con características
|
||||
específicas de ADIF:
|
||||
- Derivación de claves en cascada (date_key -> client_key -> signature_key)
|
||||
- Orden NO alfabético de headers canónicos (crítico para el funcionamiento)
|
||||
- Timestamp en formato ISO 8601 con zona horaria UTC
|
||||
|
||||
Fuente Original:
|
||||
apk_decompiled/sources/com/adif/elcanomovil/serviceNetworking/interceptors/auth/ElcanoAuth.java
|
||||
|
||||
Uso:
|
||||
auth = AdifAuthenticator(access_key="YOUR_KEY", secret_key="YOUR_KEY")
|
||||
|
||||
Reference in New Issue
Block a user