Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/nested_scroll"
|
||||
android:background="@color/black"
|
||||
android:padding="@dimen/small_padding"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/banner"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<com.adif.elcanomovil.commonViews.EmptyCirculationsView
|
||||
android:id="@+id/loading_empty_or_error_common_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:header="@string/circulation_no_results_title"
|
||||
app:icon="@drawable/ic_result_error"
|
||||
app:isLoading="true"
|
||||
app:message="@string/circulation_no_results_message"/>
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/view_not_empty_station"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/default_padding">
|
||||
<LinearLayout
|
||||
android:layout_gravity="right"
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/linearLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/add_favourite"
|
||||
android:src="@drawable/ic_favourite_off"
|
||||
android:contentDescription="@string/content_description_icon_favorite"
|
||||
style="@style/IconButton"/>
|
||||
<ImageView
|
||||
android:id="@+id/center_camera_map"
|
||||
android:src="@drawable/ic_location_white"
|
||||
android:contentDescription="@string/content_description_location"
|
||||
style="@style/IconButton"/>
|
||||
<ImageView
|
||||
android:id="@+id/avisa"
|
||||
android:src="@drawable/ic_notices"
|
||||
android:contentDescription="@string/content_description_avisa"
|
||||
style="@style/IconButton"/>
|
||||
</LinearLayout>
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:name="com.adif.elcanomovil.uiStations.main.MyCustomMapFragment"
|
||||
android:id="@+id/map"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="220dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:nestedScrollingEnabled="true"
|
||||
app:cameraZoom="20"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/linearLayout"/>
|
||||
<include
|
||||
android:id="@+id/ecomiles"
|
||||
layout="@layout/service"/>
|
||||
<include
|
||||
android:id="@+id/intermodality"
|
||||
layout="@layout/service"/>
|
||||
<include
|
||||
android:id="@+id/accessibility"
|
||||
layout="@layout/service"/>
|
||||
<include
|
||||
android:id="@+id/station_services"
|
||||
layout="@layout/service"/>
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:paddingTop="@dimen/big_vertical_padding"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/basic_information"
|
||||
style="@style/Stations.SectionName"/>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/location_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/default_padding">
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_service_location"
|
||||
android:contentDescription="@null"/>
|
||||
<TextView
|
||||
android:textColor="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:id="@+id/location"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/small_padding"/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/opening_hours_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/default_padding">
|
||||
<ImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_service_opening_hours"
|
||||
android:contentDescription="@null"/>
|
||||
<TextView
|
||||
android:textColor="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:id="@+id/opening_hours"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/small_padding"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/banner"
|
||||
android:background="@drawable/shape_rounded_corners_all"
|
||||
android:padding="@dimen/small_padding"
|
||||
android:visibility="gone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/small_padding"
|
||||
android:backgroundTint="@color/stations_banner_background"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
<TextView
|
||||
android:id="@+id/banner_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginStart="12dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/banner_description"
|
||||
app:layout_constraintEnd_toStartOf="@+id/banner_image"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
style="@style/Stations.BannerTitle"/>
|
||||
<TextView
|
||||
android:id="@+id/banner_description"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/banner_image"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/banner_title"
|
||||
style="@style/Stations.BannerDescription"/>
|
||||
<ImageView
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:id="@+id/banner_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:src="@drawable/ic_banner_hand"
|
||||
android:scaleType="fitCenter"
|
||||
android:contentDescription="@string/content_description_play_store_icon"
|
||||
android:layout_marginEnd="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user