0
當我將字節寫回加密後,我的.exe文件似乎正在破壞。對.exe文件的字節進行加密,破壞了
static byte[] read(String inputfn){
send("Reading file: " + inputfn);
File file = new File(inputfn);
send("File size: " + file.length());
byte[] result = null;
try {
InputStream input = new BufferedInputStream(new FileInputStream(file));
result = readclose(input);
}
catch (FileNotFoundException ex){
send(ex);
}
return result;
}
static byte[] readclose(InputStream input2){
bk = new byte[1000*1024];
ByteArrayOutputStream result = null;
try {
try {
result = new ByteArrayOutputStream(bk.length);
int bytesRead = 0;
while(bytesRead != -1){
bytesRead = input2.read(bk);
if(bytesRead > 0){
result.write(bk, 0, bytesRead);
}
}
crypted = xe.encrypt(bk, 1, 100);
// send(crypted);
send("Writing new file: "+ DIR_OUT.toString());
// OP = crypted.getBytes();
// byte[] PP = result.getBytes();
//write(bk,DIR_OUT);
}
finally {
input2.close();
}
}
catch (IOException ex){
send(ex);
}
return result.toByteArray();
}
變量BK等於被放回文件中的字節,如何使這個文件的字節長度被輸入?我只希望它加密文件中的字節。我必須將其設置爲1000,以便所有文件字節都可以加密,否則只會加密一些字節。
此外,一旦字節被加密,爲了使.exe工作,我必須在寫入之前轉換回base64string? (是否會完全取消加密)
工作表示感謝,但我將如何將加密應用於該文件,並允許它仍然可執行?我試過寫(crypted.getByes(),文件) 我的寫入方法的工作原理和輸出文件,但它看起來像加密破壞它。我將如何使這仍然工作,但仍然加密。 – user1848712
你期望什麼?你通過加密破壞文件,你必須解密它燒傷 – AlexWien
那麼如何繞過AV等crypters?文件中的字節需要加密,但是如果我在打開之前需要對它們進行解密,它仍然與原始文件相同? – user1848712