A partir de 2026, para alinearnos con nuestro modelo de desarrollo estable de la rama principal y garantizar la estabilidad de la plataforma para el ecosistema, publicaremos el código fuente en AOSP en el segundo y cuarto trimestre. Para compilar AOSP y contribuir a él, te recomendamos que utilices android-latest-release en lugar de aosp-main. La rama del manifiesto android-latest-release siempre hará referencia a la versión más reciente que se envió al AOSP. Para obtener más información, consulta Cambios en AOSP.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Fuzzing AIDL
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Fuzzer AIDL
El fuzzer se comporta como un cliente para el servicio remoto al importarlo/invocarlo a través del stub generado:
#include <fuzzbinder/libbinder_ndk_driver.h>
#include <fuzzer/FuzzedDataProvider.h>
#include <android-base/logging.h>
#include <android/binder_interface_utils.h>
using android::fuzzService;
using ndk::SharedRefBase;
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
auto binder = ndk::SharedRefBase::make<MyService>(...);
fuzzService(binder->asBinder().get(), FuzzedDataProvider(data, size));
return 0;
}
Framework para fuzzear servicios AIDL
Como se muestra en el ejemplo anterior, se llama a fuzzService en el fuzzer y toma un IBinder (Servicio) y un proveedor de datos como parámetros de entrada. Primero inicializa un objeto Parcel aleatorio usando el proveedor de datos y llama al método de transacción en el servicio remoto usando el paquete de entrada y finalmente obtiene la respuesta en un paquete de respuesta.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2022-06-06 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2022-06-06 (UTC)"],[],[]]