کانال بایت امن
4.52K subscribers
415 photos
49 videos
34 files
586 links
برگزاری دوره های آموزش برنامه نویسی و امنیت نرم افزار.

https://dword.ir
@YMahmoudnia
Download Telegram
#Article #Unpacking

Breaking Control Flow Flattening: A Deep Technical Analysis

تکنیک تسطیح جریان کنترل (Control Flow Flattening - CFF) نوعی مبهم‌سازی کد است که به جای پیچیده کردن عملیات‌ها، کل جریان اجرای برنامه (یا حداقل جریان یک تابع) را مخفی می‌کند.

برای دستیابی به این هدف، تمامی بلوک‌های پایه کد منبع مانند بدنه توابع، حلقه‌ها و شاخه‌های شرطی را جدا می‌کند و همه آن‌ها را در یک حلقه بی‌نهایت قرار می‌دهد که جریان برنامه را با استفاده از یک دستور switch کنترل می‌کند.

در این پست نویسنده با ابزاری که برای Ninja Binary مینویسد CFF را شناسایی و آن را از بین میبرد.

این پست برای علاقه مندان به مباحث آنپکینگ و تحلیل بدافزار مفید است.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥191👍1
#Article #Unpacking

Dotnet String Decryptor

در دومین سری از مقالات آنپکینگ، این‌بار به سراغ تکنیک String Decryptor در برنامه‌ها و بدافزارهای .NET رفته‌ایم.

در این مقاله، سمپل DCRat یا همان DarkCrystal RAT تحلیل می‌شود و با استفاده از کتابخانه dnlib، یک اسکریپت پایتون برای دیکریپت کردن رشته‌ها نوشته خواهد شد.

Step 1 : Importing libs and loading the .NET filePermalink
Step 2 : Finding suspected decryption methods
Step 3 : Finding references to suspected methods
Step 4 : Patching
Step 5 : Saving
Step 6 : Testing and final notes

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍4🔥3
#Article #Unpacking

String Deobfuscation with Invoke

1. Installing Python libraries (and including dnlib.dll)
2. Defining string decryption method as name and MethodInfo
3. Determining string encrypted places and getting decrypted value by using Invoke
4. Placing the received decrypted value
5. Saving

در این مقاله، نویسنده با استفاده از dnlib و Reflection در زبان پایتون اقدام به رمزگشایی یا بازگردانی رشته‌های مبهم‌سازی‌شده کرده است. فایل های استفاده شده در مقاله هم در گیتهاب قرار داده شده.

از رفلکشن برای باز کردن و تحلیل فایل‌های اسمبلی که توسط پروتکتور ها محافظت شده‌اند، استفاده می‌شود.

این فرایند معمولاً شامل کارهای زیر است:
1. شناسایی متدها، کلاس‌ها و اعضای اسمبلی.
2. پیدا کردن متد یا فیلدی که وظیفه رمزگشایی رشته‌های مبهم‌سازی‌شده است.
3. اجرای این متد به‌صورت داینامیک (با استفاده از reflection) در زمان اجرا.


🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍2🔥2