Skip to content

Commit

Permalink
Failed attempt of patching CRASH_URL_STRING by bytecode asm
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexeyBarabash committed Jul 27, 2021
1 parent 231aa8f commit d0a3909
Show file tree
Hide file tree
Showing 9 changed files with 81 additions and 0 deletions.
2 changes: 2 additions & 0 deletions android/brave_java_sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import("//brave/components/brave_rewards/browser/buildflags/buildflags.gni")
import("//brave/components/brave_sync/buildflags/buildflags.gni")
import("//brave/components/brave_wallet/common/buildflags/buildflags.gni")
import("//brave/components/permissions/android/java_sources.gni")
###
import("//brave/components/minidump_uploader/android/java_sources.gni")
import("//brave/components/safetynet/java_sources.gni")
import("//components/feed/features.gni")

Expand Down
1 change: 1 addition & 0 deletions build/android/bytecode/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ java_binary("java_bytecode_rewriter") {
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveLayoutManagerChromeClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveMainPreferenceBaseClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveManageSyncSettingsClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveMinidumpUploaderClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveMimeUtilsClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveNewTabPageClassAdapter.java",
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveNewTabPageLayoutClassAdapter.java",
Expand Down
1 change: 1 addition & 0 deletions build/android/bytecode/bytecode_rewriter.gni
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ brave_bytecode_jars = [
"obj/components/browser_ui/notifications/android/java.javac.jar",
"obj/components/browser_ui/site_settings/android/java.javac.jar",
"obj/components/external_intents/android/java.javac.jar",
"obj/components/minidump_uploader/minidump_uploader_java.javac.jar",
"obj/components/permissions/android/java.javac.jar",
"obj/components/sync/android/sync_java.javac.jar",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public static ClassVisitor createAdapter(ClassVisitor chain) {
chain = new BraveToolbarLayoutClassAdapter(chain);
chain = new BraveToolbarManagerClassAdapter(chain);
chain = new BraveTopToolbarCoordinatorClassAdapter(chain);
chain = new BraveMinidumpUploaderClassAdapter(chain);
return chain;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/* Copyright (c) 2021 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */

package org.brave.bytecode;

import org.objectweb.asm.ClassVisitor;


public class BraveMinidumpUploaderClassAdapter extends BraveClassVisitor {
static String sMinidumpUploaderClassName = "org/chromium/components/minidump_uploader/MinidumpUploader";

static String sBraveMinidumpUploaderClassName = "org/chromium/components/minidump_uploader/BraveMinidumpUploader";

public BraveMinidumpUploaderClassAdapter(ClassVisitor visitor) {
super(visitor);
//deleteField(sBraveMinidumpUploaderClassName, "CRASH_URL_STRING");
//makeProtectedField(sMinidumpUploaderClassName, "CRASH_URL_STRING");

deleteField(sMinidumpUploaderClassName, "CRASH_URL_STRING");
makeProtectedField(sBraveMinidumpUploaderClassName, "CRASH_URL_STRING");



// deleteField(sBraveEditUrlSuggestionProcessor, "mHasClearedOmniboxForFocus");
// makeProtectedField(sEditUrlSuggestionProcessor, "mHasClearedOmniboxForFocus");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
* Copyright (c) 2021 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/

package org.chromium.components.minidump_uploader;

import org.chromium.components.minidump_uploader.MinidumpUploader;
import org.chromium.base.Log;

public class BraveMinidumpUploader extends MinidumpUploader {
public static final String CRASH_URL_STRING = "https://cr.brave.com";
public BraveMinidumpUploader() {
super();
Log.e("TAGAB", "BRAVE BraveMinidumpUploader.ctor (1) 000 CRASH_URL_STRING="+CRASH_URL_STRING);
}
}
3 changes: 3 additions & 0 deletions components/minidump_uploader/android/java_sources.gni
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
brave_components_minidump_uploader_java_sources = [
"//brave/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/BraveMinidumpUploader.java",
]
12 changes: 12 additions & 0 deletions patches/components-minidump_uploader-BUILD.gn.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/components/minidump_uploader/BUILD.gn b/components/minidump_uploader/BUILD.gn
index 88b49397b8b9fc5ca82335885c7bad84d74eccc8..044744069779fda667c23bd7f6e164d0bd8adc94 100644
--- a/components/minidump_uploader/BUILD.gn
+++ b/components/minidump_uploader/BUILD.gn
@@ -45,6 +45,7 @@ android_library("minidump_uploader_java") {
"android/java/src/org/chromium/components/minidump_uploader/util/NetworkPermissionUtil.java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
+ sources += brave_components_minidump_uploader_java_sources
}

android_library("minidump_uploader_javatests") {
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
index a25e74c3d05433889fa219dcc855c69f121f6fd9..306106dc138a31fdf78416c70e1a49859254e490 100644
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java
@@ -47,7 +47,7 @@ public class MinidumpUploadCallable implements Callable<Integer> {

public MinidumpUploadCallable(
File fileToUpload, File logfile, CrashReportingPermissionManager permissionManager) {
- this(fileToUpload, logfile, new MinidumpUploader(), permissionManager);
+ this(fileToUpload, logfile, new org.chromium.components.minidump_uploader.BraveMinidumpUploader(), permissionManager);
}

public MinidumpUploadCallable(File fileToUpload, File logfile,

0 comments on commit d0a3909

Please sign in to comment.