function hook_so7() {
Java.perform(function () {
var fopen_addr
=
Module.findExportByName(
"libc.so"
,
"fopen"
);
var fputs_addr
=
Module.findExportByName(
"libc.so"
,
"fputs"
);
var fgets_addr
=
Module.findExportByName(
"libc.so"
,
"fgets"
);
var fclose_addr
=
Module.findExportByName(
"libc.so"
,
"fclose"
);
var fopen
=
new NativeFunction(fopen_addr,
"pointer"
,[
"pointer"
,
"pointer"
]);
var fputs
=
new NativeFunction(fputs_addr,
"int"
,[
"pointer"
,
"pointer"
]);
var fgets
=
new NativeFunction(fgets_addr,
"pointer"
,[
"pointer"
,
"int"
,
"pointer"
]);
var fclose
=
new NativeFunction(fclose_addr,
"int"
,[
"pointer"
]);
var file_name
=
Memory.allocUtf8String(
"/data/data/com.example.hellojni_sign2/files/xibei.txt"
);
var open_mode
=
Memory.allocUtf8String(
"w"
);
var
buffer
=
Memory.allocUtf8String(
"xxxxxxbbbbbb"
);
var
file
=
fopen(file_name,open_mode);
fputs(
buffer
,
file
);
fclose(
file
);
var file_naqme2
=
Memory.allocUtf8String(
"/data/data/com.example.hellojni_sign2/files/xibei.txt"
);
var open_get_mode
=
Memory.allocUtf8String(
"r"
);
var file_red
=
fopen(file_naqme2,open_get_mode);
var buffer2
=
Memory.alloc(
600
);
var data
=
fgets(buffer2,
60
,file_red);
console.log(data.readCString());
fclose(file_red);
});
}