Easy Java-Rasp ,一款简单的轻量级Java-Rasp框架🔥
![image](https://private-user-images.githubusercontent.com/114604850/326597604-5e847c05-57be-45c8-b0af-286931ec1298.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0MDY1OTksIm5iZiI6MTcyMTQwNjI5OSwicGF0aCI6Ii8xMTQ2MDQ4NTAvMzI2NTk3NjA0LTVlODQ3YzA1LTU3YmUtNDVjOC1iMGFmLTI4NjkzMWVjMTI5OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQxNjI0NTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02N2Q1OGViNDlhMThjODQxYmM1YzkxMTNkMTEyZjY0MTQyMzY4MmFmNDM1Mjc1NmE2NTM5MWIxZTEyOGJkZDMyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.HLLsDCL2DKjRb4gMPjG1wX836G-eDgvLCG4X59SVyHg)
示例代码:
![image](https://private-user-images.githubusercontent.com/114604850/326597764-5db25a3b-8b4c-4fb8-9f28-6cc74c24e1d8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0MDY1OTksIm5iZiI6MTcyMTQwNjI5OSwicGF0aCI6Ii8xMTQ2MDQ4NTAvMzI2NTk3NzY0LTVkYjI1YTNiLThiNGMtNGZiOC05ZjI4LTZjYzc0YzI0ZTFkOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQxNjI0NTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05Y2I0YzBlYjRiOGE3ZmJiOGM2MDJlODE5NTdkZjk2ZGYwYWY3NDEzYmQyZGIxMTAxZDkyODNkZDQwNDJmNTA2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.iSZScMsD1XncCjeo2NJ5r2nmrkctZ7wRkgwxrNXH3Rc)
拦截结果:
![image](https://private-user-images.githubusercontent.com/114604850/326597822-272c03f0-57a7-435a-961a-571b88334bcf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE0MDY1OTksIm5iZiI6MTcyMTQwNjI5OSwicGF0aCI6Ii8xMTQ2MDQ4NTAvMzI2NTk3ODIyLTI3MmMwM2YwLTU3YTctNDM1YS05NjFhLTU3MWI4ODMzNGJjZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOVQxNjI0NTlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iN2VhZjA2MzY5YjExZTFlMDYxNDk2ZWZhZTg5YzQ5MmIyODY5N2U4NjVlYWYzMjc1ODM0M2RmYjE1ZmJmNmRkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Ym3B93fp75-rs53JHXI97GtYPA6KFOI3su8PfC0swZw)
你可以通过注解RaspMonitor来自定义Handler,例如拦截Runtime
package com.boogipop.easyrasp.monitors;
import com.boogipop.easyrasp.annotations.FrozenMonitor;
import com.boogipop.easyrasp.annotations.PreMethodMonitor;
import com.boogipop.easyrasp.annotations.RaspMonitor;
/**
* Not finished yet,only hook one single exec method which's type is String.class
*/
@RaspMonitor(targetClass = Runtime.class,isConstructor = false,methodName = "exec",paramTypes ={String.class},isFrozen = true,IgnoreOverloading = true)
public class RuntimeMethodMonitor implements BasicMonitors{
/**
* modify the blacklist by yourself XD
*/
private static String [] blacklist={"test","test"};
/**
* Method Name can not be changed
* Will be changed in next version
* Will add Source Annotiations
*/
@Deprecated
private static String FrozenSource="new %s().%s();";
@Deprecated
private static String HookSource="new %s($args).%s();";
@Override
public void HookMethod(Object... args) {
}
@Override
@PreMethodMonitor
public void HookMethod(String cmd) {
for (String banword : blacklist) {
if (cmd.contains(banword)){
throw new RuntimeException("Evil Command Detected!!!");
}
}
}
@Override
public void HookMethod() {
}
@Override
@FrozenMonitor
public void FrozenMethod() {
throw new RuntimeException("Runtime.exec() methods have been hooked!");
}
}