Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .Jules/palette.md
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,15 @@

import androidx.appcompat.app.AppCompatActivity;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import com.bytedance.shadowhook.ShadowHook;
import com.bytedance.shadowhook.systest.SysTest;
Expand All @@ -50,37 +55,47 @@ protected void onCreate(Bundle savedInstanceState) {

public void onUnitTestHookSymAddrClick(View view) {
NativeHandler.nativeHookSymAddr(Build.VERSION.SDK_INT);
Toast.makeText(this, "Hook symbol address (unit test) done", Toast.LENGTH_SHORT).show();
}

public void onUnitTestHookSymNameClick(View view) {
NativeHandler.nativeHookSymName(Build.VERSION.SDK_INT);
Toast.makeText(this, "Hook symbol name (unit test) done", Toast.LENGTH_SHORT).show();
}

public void onUnitTestUnhookClick(View view) {
NativeHandler.nativeUnhook();
Toast.makeText(this, "Unhook (unit test) done", Toast.LENGTH_SHORT).show();
}

public void onUnitTestLoadClick(View view) {
if(!hookee2Loaded) {
if (!hookee2Loaded) {
hookee2Loaded = true;
System.loadLibrary("hookee2");
Toast.makeText(this, "Load libhookee2.so done", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "libhookee2.so already loaded", Toast.LENGTH_SHORT).show();
}
}

public void onUnitTestRunClick(View view) {
NativeHandler.nativeRun(hookee2Loaded);
Toast.makeText(this, "Run (unit test) done", Toast.LENGTH_SHORT).show();
}

public void onSystemTestHookClick(View view) {
SysTest.hook();
Toast.makeText(this, "Hook (system test) done", Toast.LENGTH_SHORT).show();
}

public void onSystemTestUnhookClick(View view) {
SysTest.unhook();
Toast.makeText(this, "Unhook (system test) done", Toast.LENGTH_SHORT).show();
}

public void onSystemTestRunClick(View view) {
SysTest.run();
Toast.makeText(this, "Run (system test) done", Toast.LENGTH_SHORT).show();
}

public void onGetRecordsClick(View view) {
Expand All @@ -91,6 +106,7 @@ public void onGetRecordsClick(View view) {
Log.i(tag, line);
}
}
Toast.makeText(this, "Get records done. Check logcat.", Toast.LENGTH_SHORT).show();
}

public void onDumpRecordsClick(View view) {
Expand All @@ -113,5 +129,18 @@ public void onDumpRecordsClick(View view) {
}
}
}
Toast.makeText(this, "Dump records done. Check logcat.", Toast.LENGTH_SHORT).show();
}

public void onLogcatCommandClick(View view) {
if (view instanceof TextView) {
String text = ((TextView) view).getText().toString();
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("logcat command", text);
if (clipboard != null) {
clipboard.setPrimaryClip(clip);
Toast.makeText(this, "Command copied to clipboard", Toast.LENGTH_SHORT).show();
}
}
}
}
6 changes: 5 additions & 1 deletion app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@
android:orientation="vertical">

<TextView style="@style/Theme.TextView.Top"
android:text="adb logcat -b main -s shadowhook_tag" />
android:text="adb logcat -b main -s shadowhook_tag"
android:onClick="onLogcatCommandClick"
android:clickable="true"
android:focusable="true"
android:contentDescription="Tap to copy logcat command" />

<TextView style="@style/Theme.TextView.Title"
android:text="1. unit test" />
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ext {
compileSdkVersion = 34
targetSdkVersion = 34
buildToolsVersion = '34.0.0'
javaVersion = JavaVersion.VERSION_1_7
javaVersion = JavaVersion.VERSION_1_8
ndkVersion = "23.2.8568313"
cmakeVersion = "3.22.1"
abiFilters = "armeabi-v7a,arm64-v8a"
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Thu Dec 30 21:41:31 CST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME