Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
AIDL-фаззинг
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
AIDL-фаззер
Фаззер ведет себя как клиент удаленной службы, импортируя/вызывая ее через сгенерированную заглушку:
#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;
}
Фреймворк для фаззинга сервисов AIDL
Как показано в приведенном выше примере, fuzzService вызывается в фаззере и принимает IBinder (Service) и dataProvider в качестве входных параметров. Сначала он инициализирует случайный объект Parcel с помощью поставщика данных и вызывает метод транзакции в удаленной службе, используя входную посылку, и, наконец, получает ответ в ответной посылке.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2022-06-06 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2022-06-06 UTC."],[],[]]