如何在 Kotlin 中提取隐藏文件?

问题描述 投票:0回答:0

我正在尝试将一个文件隐藏在一个文件中,然后将隐藏的文件取出并查看它。

我把文件藏起来就好了。但是,我需要提取文件。我将两个字节数组与中间的第三个字节数组组合在一起作为分隔符。我无法提取整个文件。

import java.io.*

fun main(args: Array<String>) {

    val original = args[0]
    val hidden = args[1]
    var newFile: String? = null
    if(args.size == 3)
        newFile = args[2]

    //if its null I extract the file
    if(newFile == null){
        val originalFile = File(original)
        println(originalFile.readBytes())
        val parts = originalFile.readBytes().toString().split("666666")
        val hiddenFile = File(hidden)
        val bytes = parts.first().toByteArray()
        hiddenFile.writeBytes(bytes)
        println("$hiddenFile is unhidden")
        return
    }

    //hide the file
    val originalBytes = File(original).readBytes()
    val hiddenBytes = File(hidden).readBytes()
    val file = File(newFile!!)
    val separator = "777777".toByteArray()
    file.writeBytes(originalBytes.plus(separator).plus(hiddenBytes))
    println("$newFile is created")
}
kotlin steganography
© www.soinside.com 2019 - 2024. All rights reserved.