Cách tạo chuỗi mã (Encrypt) từ 1 hàm giải mã có sẵn (Decrypt)

Thảo luận trong 'Hỏi đáp' bắt đầu bởi krongpak, 09/11/20, 12:11 PM.

  1. krongpak

    krongpak New Member

    Tham gia: 09/11/20, 11:11 AM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    Mọi người cho mình hỏi một chút với ạ. Sếp cho mình một hàm Decrypt như này. Và làm hàm Encrypt còn lại .Có mẫu thử và kết quả ở dưới. Chi tiết câu hỏi bên dưới ạ. Có sourcecode của mình .Cám ơn mọi người.

    public string Decrypt(string chuoimahoa, string khoa)
    {
    string result = "";
    try
    {
    RijndaelManaged aes = new RijndaelManaged();
    aes.KeySize = 256;
    aes.BlockSize = 128;
    aes.Padding = PaddingMode.PKCS7;
    aes.Mode = CipherMode.CBC;
    aes.Key = Convert.FromBase64String(khoa);
    byte[] bytes = Convert.FromBase64String(chuoimahoa);
    Dictionary<string, string> dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(Encoding.UTF8.GetString(bytes));
    aes.IV = Convert.FromBase64String(dictionary["iv"]);
    if (HmacSHA256(dictionary["iv"] + dictionary["value"], aes.Key) != dictionary["mac"])
    {
    return "";
    }
    ICryptoTransform cryptoTransform = aes.CreateDecryptor(aes.Key, aes.IV);
    byte[] array = Convert.FromBase64String(dictionary["value"]);
    byte[] array2 = cryptoTransform.TransformFinalBlock(array, 0, array.Length);
    string[] array3 = Encoding.UTF8.GetString(array2, 0, array2.Length).Split('.');
    if (array3.Length == 3)
    {
    return array3[1];
    }
    return result;
    }
    catch (Exception)
    {
    return "";
    }
    }
    string khoa = "omZCF+K4xZnye1vuBZ7K03k+Gx3D6tn1EZabRTCSzJU=";
    string stext = "18198000501212";
    string chuoimahoa = "eyJpdiI6IlA4dlJpaXJ0aFlDeXZOdWdZcGFodmc9PSIsInZhbHVlIjoiZm03dGZiMXNYcFFhT1JQTXFLZENXQUd5bmROSTV3MEFsTEpwRkhmT2RSVFwvWTQ0NTR6bWt3cVFXTnJsTGVMS3AiLCJtYWMiOiI0NWNjZjNhZWEzYmIzZGQ2ZDA2ZjE5ZTk1NzI0ZmMyZDU4ZDI2MjI1MDdjMmE1MWJiZjlkYjFkNWNiMjA4NzAwIn0=";
    Sếp nói không thay đổi gì hàm Decrypt , và tạo hàm Encrypt để tạo chuoimahoa từ stext và khoa trên. mình chịu rồi nó làm khổ mình 2 ngày nay rồi. mọi người giúp mình với.

    CÁM ƠN MỌI NGƯỜI RẤT NHIỀU.
    File đính kèm có câu hỏi chi tiết bên trong.
    https://drive.google.com/file/d/1Da7vYUALQYand8-F5thyUlhLZd6E1n6N/view?usp=sharing
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. Gấu

    Gấu Moderator

    Tham gia: 15/04/20, 09:04 AM
    Bài viết: 14
    Đã được thích: 10
    Điểm thành tích:
    3
    Thực hiện ngược lại hàm Decrypt để có hàm Encrypt
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  3. WhiteHat Team

    WhiteHat Team Administrators Thành viên BQT

    Tham gia: 09/04/20, 02:04 PM
    Bài viết: 62
    Đã được thích: 20
    Điểm thành tích:
    8
    Trong code của bạn thì sếp của bạn đã nhập thêm 2 giá trị vào đầu và cuối chuỗi stext. Bạn kiểm tra xem 2 giá trị đó là gì.

    Còn code bạn đang làm đúng rồi chỉ cần giá trị stext đúng.
    Bạn thay hàm này nó sẽ qua bước check mac để tiến hành giải mã
    upload_2020-11-10_16-7-42.png

    upload_2020-11-10_16-8-39.png
    Đến đoạn này vì dữ liệu không được thêm trước sau nên mảng nó có 1 phần tử
    cái kiểm tra length phía dưới yêu cầu mảng có 3 phần tử không thì trả về rỗng, nếu có 3 phần tử lấy phần tử thứ 2 trong mảng, nên trước khi mã hóa thì cần append giá trị nào đấy vào dữ liệu mã hóa cách nhau bới dấu "."
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    krongpak thích bài này.
  4. krongpak

    krongpak New Member

    Tham gia: 09/11/20, 11:11 AM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    Cám ơn bạn đã hỗ trợ mình. Vậy cái đoạn string stext = "18198000501212" này đã được nối thêm chuỗi cho cả trước sau phải không bạn?
    Sau khi mình cho thêm 2 mẫu thử vào thì thấy có "78@vire#12ku" này cố định
    Mẫu 1 : 19149000503635 eyJpdiI6IlhPZkNQR21hSXRBNVhWTnBNVnZGOGc9PSIsInZhbHVlIjoiamNhUVRMTWhCajdIWDBvbU1qcFRSd3MzU0RaYkpWNVFneHFwQ21XOThRQUtueWpMdG90blwvSG1TWlpTT0VTUmoiLCJtYWMiOiI0M2Q5NWNiYzlkYzc0ODU1ZDI4NjZmYmRlMzQ5NzdlNWI1YzAyMDE2MTc0Nzk4Y2Q4ZGFlNWQxYjE3YzhjZDQ2In0=
    Mẫu 2 : 18198000501211 eyJpdiI6InJRODV2YTNQMTJaOHY3Ym1JeVp5Wmc9PSIsInZhbHVlIjoiNTdiY2dJZmFyalc2akoxUkVQSzl1V2ZUWGRYOXVTeUpcLzFPTTVsU09lRkpHeDR1Q1RaWWFqem5pdHQ5K0c3RHciLCJtYWMiOiI2YTdiMWIyY2NlNGYxNzY1MDYyNjM2NzMyYTUxZWE1MjZiOGM4Yjk3NWQ1YWY4MDBjZWJhOTdlNjZmYjVmOGFiIn0=

    cái chuỗi đầu nó không cố định, còn chuỗi cuối cố định pic.jpg
    Vì mình không rành cái nguyên lý của cái loại này nên không biết do đâu mà phát sinh bạn à. Bạn pro bạn giúp cho mình với. 2 mẫu thử mình có được bạn giúp mình truy ra giúp mình với.
    Cám ơn bạn nhiều.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  5. WhiteHat Team

    WhiteHat Team Administrators Thành viên BQT

    Tham gia: 09/04/20, 02:04 PM
    Bài viết: 62
    Đã được thích: 20
    Điểm thành tích:
    8
    Dữ liệu đầu vào cần mã hóa = cleartext array3[0] + "." + cleartext array3[1] + "." cleartext array3[2]
    Bạn cần xem lại cơ chế sinh ra cleartext array3[0] và cleartext array3[2]

    Bạn trao đổi với sếp của bạn để biết được cơ chế sinh dữ liệu để thêm vào để tạo ra array3[0] và array3[2].
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    krongpak thích bài này.
  6. NoName2303

    NoName2303 New Member

    Tham gia: 12/11/20, 03:11 AM
    Bài viết: 1
    Đã được thích: 0
    Điểm thành tích:
    1
    Có bác nào nhận làm tool reg key để active tool không ạ, vì e có bản crack cần người làm tool reg để dùng ạ, e cảm ơn ạ.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan