-
-
[求助]Frida 读写文件
-
发表于:
2020-6-3 15:47
10789
-
读取sdcard 下文件 返回byte[]
第一个问题不知道为什么无法读取/data/data/packagenam/file 报的无权限,可我明明加了权限,也动态允许了。
第二个问题,读sdcard/下的文件,无法正常写入byte[] , 仿照Java的写法
求助大佬
function main(){
function b2s(array) {
var result = "";
for (var i = 0; i < array.length; i++) {
result += String.fromCharCode(modulus(array[i], 256));
}
return result;
}
Java.perform(function(){
var File = Java.use('java.io.File');
var FileInputStream = Java.use('java.io.FileInputStream');
var ByteArrayOutputStream = Java.use('java.io.ByteArrayOutputStream');
//var file = File.$new('/data/data/com.hello.normal/new_file.txt');
var file = File.$new('/sdcard/tempFiles/new_file.txt');
console.log("file is:"+file);
console.log("ab file is:"+file.getAbsoluteFile());
var file_length = parseInt(file.length());
console.log("file_length is:"+file_length);
var file_input_stream = FileInputStream.$new(file);
console.log("parseInt(file_length) is:"+parseInt(file_length));
var bytes = ByteArrayOutputStream.$new(parseInt(file_length)).toByteArray();
//var array = new Array(20);
/*var n = file_input_stream.read.overload("[B").call(this,bytes);
while( n!= -1){
bytes.write(bytes,n,0);
}*/
for (var i = 0; i < file.length(); i++) {
console.log("file_input_stream.read() is:"+file_input_stream.read());
bytes[i] = file_input_stream.read();
}
console.log("end read File");//打印
console.log("bytes.length is:"+bytes.size());//打印0
console.log("bytes.toString() is:"+b2s(bytes));//打印空
});
}
setImmediate(main)
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)