Casus | Resmin İçine Veri Gizlemek [Kotlin]

Ego1st

Uzman üye
15 Mar 2018
1,109
25
[!] Kullanım, projenin Github sayfasında detaylıca anlatılmıştır.
Casus
[Github]: github.com/ch3xx/Casus
[Açıklama]: Casus, Kotlin temelli bir "Steganografi" tooludur. Bu projedeki amaç resime veri gizleme işlemlerini olabildiğince basit hale getirmektir.
[Sürüm]: 1.0.0-stable


İndirme:
İndirmek isteyenler bana dm gönderebilir .

Gizlemeden Önce ve Sonra Dosya Boyutları
File%20Size%20-%201.PNG
File%20Size%20-%202.PNG


[Ekran Görüntüleri]:
1-Main%20Screen%20-%202.PNG


2-Extraction%20Screen%20-%201.PNG


Algoritmalar

Gizleme
Kod:
 fun hideText(image: BufferedImage, inputText: String, binaryImage: Boolean): Result {
        val coverImage = when (binaryImage) {
            true -> rgbToBinaryImage(image)
            false -> image
        }
        val result = base64Util.encode(inputText)
        val text = result.base64
        val key = result.key

        var bit: Int
        var x = 0
        var y = 0
        for (element in text) {
            bit = element.code
            for (j in 0..7) {
                val f = bit and mask
                if (f == 1) {
                    if (x < coverImage
                            .width) {
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) or 0x00000001)
                        x++
                    } else {
                        x = 0
                        y++
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) or 0x00000001)
                    }
                } else {
                    if (x < coverImage
                            .width) {
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) and -0x2)
                        x++
                    } else {
                        x = 0
                        y++
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) and -0x2)
                    }
                }
                bit = bit shr 1
            }
        }
        return Result(coverImage, key)
    }

Çıkarma
Kod:
fun extractText(coverImage: BufferedImage, key: Int): Resource<String> {
        var x = 0
        var y = 0
        var f: Int
        val c = CharArray(key)
        var message = ""
        for (i in 0 until key) {
            var bit = 0
            for (j in 0..7) {
                if (x < coverImage.width) {
                    f = coverImage.getRGB(x, y) and mask
                    x++
                } else {
                    x = 0
                    y++
                    f = coverImage.getRGB(x, y) and mask
                }

                if (f == 1) {
                    bit = bit shr 1
                    bit = bit or 0x80
                } else {
                    bit = bit shr 1
                }
            }
            c[i] = bit.toChar()
            message += c[i]
        }
        return try {
            Resource.Success(base64Util.decode(message))
        } catch (e: Exception) {
            Resource.Error(ERROR_WRONG_KEY)
        }
    }

 
Moderatör tarafında düzenlendi:

'The Wolf

Kıdemli Üye
22 Nis 2021
4,043
2,565
Tanrı dağı
[!] Kullanım, projenin Github sayfasında detaylıca anlatılmıştır.
Casus
[Github]: github.com/ch3xx/Casus
[Açıklama]: Casus, Kotlin temelli bir "Steganografi" tooludur. Bu projedeki amaç resime veri gizleme işlemlerini olabildiğince basit hale getirmektir.
[Sürüm]: 1.0.0-stable


İndirme:
Proje açık kaynak kodlu lakin direkt olarak exe dosyasını almak isterseniz;
Aşağıda verdiğim resimde Casus tarafından gizlenmiş mesajı bulup bana DM ile göndermeniz gerekiyor.
Challange%20Image.png

ipucu: base64


Gizlemeden Önce ve Sonra Dosya Boyutları
File%20Size%20-%201.PNG
File%20Size%20-%202.PNG


[Ekran Görüntüleri]:
1-Main%20Screen%20-%202.PNG


2-Extraction%20Screen%20-%201.PNG


Algoritmalar

Gizleme
Kod:
 fun hideText(image: BufferedImage, inputText: String, binaryImage: Boolean): Result {
        val coverImage = when (binaryImage) {
            true -> rgbToBinaryImage(image)
            false -> image
        }
        val result = base64Util.encode(inputText)
        val text = result.base64
        val key = result.key

        var bit: Int
        var x = 0
        var y = 0
        for (element in text) {
            bit = element.code
            for (j in 0..7) {
                val f = bit and mask
                if (f == 1) {
                    if (x < coverImage
                            .width) {
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) or 0x00000001)
                        x++
                    } else {
                        x = 0
                        y++
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) or 0x00000001)
                    }
                } else {
                    if (x < coverImage
                            .width) {
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) and -0x2)
                        x++
                    } else {
                        x = 0
                        y++
                        coverImage
                            .setRGB(x, y, coverImage
                                .getRGB(x, y) and -0x2)
                    }
                }
                bit = bit shr 1
            }
        }
        return Result(coverImage, key)
    }

Çıkarma
Kod:
fun extractText(coverImage: BufferedImage, key: Int): Resource<String> {
        var x = 0
        var y = 0
        var f: Int
        val c = CharArray(key)
        var message = ""
        for (i in 0 until key) {
            var bit = 0
            for (j in 0..7) {
                if (x < coverImage.width) {
                    f = coverImage.getRGB(x, y) and mask
                    x++
                } else {
                    x = 0
                    y++
                    f = coverImage.getRGB(x, y) and mask
                }

                if (f == 1) {
                    bit = bit shr 1
                    bit = bit or 0x80
                } else {
                    bit = bit shr 1
                }
            }
            c[i] = bit.toChar()
            message += c[i]
        }
        return try {
            Resource.Success(base64Util.decode(message))
        } catch (e: Exception) {
            Resource.Error(ERROR_WRONG_KEY)
        }
    }

Eline sağlık.
 

'ReDLiNe

Blue Team Lideri
23 Haz 2015
7,681
3,578
23
Ankara
Bu tür konuların Insta hack saçmalıkları arasında bulunması hem iyi hemde kötü... Konu başarılı olmuş elinize sağlık efendim
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.