ReverseEngineering – Telegram
ReverseEngineering
1.24K subscribers
40 photos
10 videos
55 files
666 links
Download Telegram
The_IDA_Pro_book_The_unofficial_guide_to_the_worlds_most_popular.pdf
6.1 MB
کتاب The IDA Pro Book یکی از بهترین منابع برای یادگیری مهندسی معکوس با IDA Pro هست توی این کتاب یاد می‌گیرید که چطور کدهای باینری و اسمبلی رو تحلیل کنید ساختار یه برنامه رو بشناسید مکانیزم‌های ضد مهندسی معکوس رو دور بزنید و حتی بدافزارها رو بررسی کنید

چرا این کتاب مهمه؟

چون IDA Pro یکی از قوی‌ترین ابزارهای مهندسی معکوسه و این کتاب قدم‌به‌قدم بهت یاد میده بهتون که چطور ازش استفاده کنید از رابط کاربری و اسکریپت‌نویسی گرفته تا دیباگ کردن و تحلیل نرم‌افزارها


اگه ردتیمینگ کار می‌کنید و دنبال اینید که بفهمید برنامه‌ها چطور از مهندسی معکوس محافظت می‌شن
🔥10👍1
تکنیک‌های ضد دیباگ و ضد مهندسی معکوس در نرم‌افزارها


حالا که ساختار فایل‌های اجرایی (PE, ELF, Mach-O) رو شناختید باید بدونید که چطور توسعه‌دهنده‌ها از مهندسی معکوس جلوگیری می‌کنن توی این بخش میریم سراغ مکانیزم‌های ضد دیباگ و ضد مهندسی معکوس که توی نرم‌افزارهای مختلف استفاده میشن



1 چرا نرم‌افزارها از ضد دیباگ استفاده می‌کنن؟

تکنیک‌های ضد دیباگ (Anti-Debugging) و ضد مهندسی معکوس (Anti-Reversing)

معمولا برای این کارها استفاده میشن:

جلوگیری از کرک شدن نرم‌افزار
سخت‌تر کردن تحلیل بدافزارها
محافظت از الگوریتم‌های حساس و لایسنس نرم‌افزار
جلوگیری از دستکاری و مهندسی معکوس

برنامه‌هایی مثل بازی‌ها نرم‌افزارهای امنیتی DRM و بدافزارها از این تکنیک‌ها زیاد استفاده می‌کنن


2 روش‌های تشخیص دیباگر در ویندوز (Anti-Debugging در PE)

ویندوز یه سری API داره که برنامه‌ها با استفاده از اون‌ها می‌تونن بفهمن که آیا تحت دیباگ هستن یا نه

📌 مهم‌ترین روش‌ها :

IsDebuggerPresent()

این تابع از kernel32.dll چک می‌کنه که برنامه داره تحت دیباگ اجرا میشه یا نه


#include <windows.h>
#include <iostream>

int main() {
if (IsDebuggerPresent()) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}
std::cout << "No debugger detected." << std::endl;
return 0;
}

🔹 چطور بایپسش کنیم؟
🔹 مقدار PEB->BeingDebugged رو توی دیباگر تغییر بدیم.




CheckRemoteDebuggerPresent()

این API چک می‌کنه که یه دیباگر خارجی مثل x64dbg به پروسه وصل شده یا نه

BOOL IsDebuggerAttached() {
BOOL isDebugger = FALSE;
CheckRemoteDebuggerPresent(GetCurrentProcess(), &isDebugger);
return isDebugger;
}


برای بایپس کردن این تابع می‌تونیم مقدار برگشتی رو تغییر بدیم



NtQueryInformationProcess()

این تابع از ntdll.dll اطلاعاتی در مورد پروسه می‌گیره، از جمله اینکه آیا دیباگ میشه یا نه

#include <windows.h>
#include <winternl.h>
#include <iostream>

typedef NTSTATUS(WINAPI* pNtQueryInformationProcess)(HANDLE, ULONG, PVOID, ULONG, PULONG);

int main() {
pNtQueryInformationProcess NtQIP = (pNtQueryInformationProcess)GetProcAddress(GetModuleHandleA("ntdll.dll"), "NtQueryInformationProcess");

DWORD isDebuggerPresent = 0;
NtQIP(GetCurrentProcess(), 0x07, &isDebuggerPresent, sizeof(DWORD), NULL);

if (isDebuggerPresent) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}

std::cout << "No debugger detected." << std::endl;
return 0;



این روش رو می‌تونیم با تغییر مقدار ProcessDebugPort در رجیسترها دور بزنیم.



3 روش‌های ضد دیباگ در لینوکس (ELF Anti-Debugging)

توی لینوکس، برنامه‌ها می‌تونن با استفاده از ptrace() تشخیص بدن که تحت دیباگ هستن

استفاده از ptrace() برای جلوگیری از دیباگ


#include <sys/ptrace.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

void anti_debug() {
if (ptrace(PTRACE_TRACEME, 0, 0, 0) == -1) {
printf("Debugger detected!\n");
exit(1);
}
}

int main() {
anti_debug();
printf("Program is running normally.\n");
return 0;
}


برای بایپس این روش، می‌تونیم با gdb مقدار برگشتی ptrace() رو تغییر بدیم


4 روش‌های ضد دیباگ در macOS (Mach-O Anti-Debugging)

توی macOS، روش‌های مشابه لینوکس استفاده میشه ولی از sysctl() هم میشه برای تشخیص دیباگر استفاده کرد:

#include <sys/types.h>
#include <sys/sysctl.h>
#include <stdio.h>

int is_debugger_attached() {
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid()};
struct kinfo_proc info;
size_t size = sizeof(info);

sysctl(mib, 4, &info, &size, NULL, 0);

return (info.kp_proc.p_flag & P_TRACED) != 0;
}

int main() {
if (is_debugger_attached()) {
printf("Debugger detected!\n");
return 1;
}

printf("No debugger detected.\n");
return 0;
}


برای بایپس، می‌تونیم مقدار p_flag رو تغییر بدیم



5 تکنیک‌های پیشرفته ضد مهندسی معکوس

بعضی برنامه‌ها از روش‌های پیچیده‌تری برای جلوگیری از تحلیل شدن استفاده می‌کنن

مهم‌ترین تکنیک‌ها:

بدافزارهای حرفه‌ای مثل Zeus و TrickBot از این تکنیک‌ها استفاده می‌کنن



6 ابزارهای دور زدن ضد دیباگ

🔹 Windows: ScyllaHide, x64dbg, Cheat Engine

🔹 Linux: GDB, ptrace hooks, Frida

🔹 macOS: LLDB, Hopper, Frida
👍52
برای دور زدن مکانیزم‌های ضد دیباگ، می‌تونیم APIهای مربوطه رو هوک کنیم یا مقدار برگشتی اون‌ها رو تغییر بدیم



برنامه‌ها از تکنیک‌های ضد دیباگ برای جلوگیری از کرک و مهندسی معکوس استفاده می‌کنن.

روش‌های ساده مثل IsDebuggerPresent() و ptrace() در ویندوز و لینوکس استفاده میشن.

روش‌های پیشرفته‌تر مثل Code Virtualization و Packing در بدافزارها دیده میشن

ابزارهایی مثل Frida و x64dbg می‌تونن این مکانیزم‌ها رو دور بزنن
👍4👏1
The_Ghidra_Book_The_Definitive_Guide_by_Chris_Eagle,_Kara_Nance.pdf
17.6 MB
معرفی کتاب "The Ghidra Book"

📚 نام کتاب: The Ghidra Book: The Definitive Guide
✍️ نویسندگان: Chris Eagle و Kara Nance
📅 انتشار: سال 2020
📖 موضوع: مهندسی معکوس با Ghidra


🔍 کتاب درباره چی هست؟

کتاب The Ghidra Book یکی از بهترین منابع برای یادگیری Ghidra، ابزار رایگان و متن‌باز تحلیل باینری توسعه‌یافته توسط NSA است. این کتاب از مقدماتی تا پیشرفته تمام قابلیت‌های Ghidra رو آموزش میده و به مهندسی معکوس نرم‌افزارها، آنالیز بدافزارها و کرک کردن باینری‌ها می‌پردازه
👍17
پکینگ و آنپکینگ باینری‌ها


حالا که با تکنیک‌های ضد دیباگ و ضد مهندسی معکوس آشنا شدید وقتشه پکینگ (Packing) و آنپکینگ (Unpacking) باینری‌ها رو بررسی کنیم این یکی از مهم‌ترین بخش‌های مهندسی معکوس هست چون بسیاری از بدافزارها و نرم‌افزارهای محافظت‌شده از پکینگ استفاده می‌کنن



1 پکینگ (Packing) چیست و چرا استفاده می‌شود؟

🔹 پکینگ یعنی فشرده‌سازی یا رمزگذاری کد اجرایی برای مخفی کردن ساختار اصلی آن

🔹 این کار معمولاً با پکرها (Packers) انجام میشه که فایل اجرایی رو تغییر میدن و کد اصلی فقط در زمان اجرا در حافظه باز میشه

📌 دلایل استفاده از پکینگ:

جلوگیری از مهندسی معکوس و کرک شدن نرم‌افزارها (مثل بازی‌ها و برنامه‌های پولی)

کاهش حجم فایل‌های اجرایی (در نسخه‌های قدیمی‌تر برای نرم‌افزارهای فشرده‌شده)

مخفی کردن بدافزارها از آنتی‌ویروس‌ها

بسیاری از ویروس‌ها تروجان‌ها و باج‌افزارها از پکینگ استفاده می‌کنن تا کد مخرب‌شون رو مخفی کنن



2 پکرهای معروف و پرکاربرد



🔹 پکرهای قانونی:
برای محافظت از نرم‌افزارهای تجاری

🔹 پکرهای بدافزار:
برای مخفی کردن بدافزارها و دور زدن آنتی‌ویروس


📌 برخی از پکرهای معروف:


پکرهایی مثل Themida و VMProtect در نرم‌افزارهای پولی استفاده میشن ولی UPX بیشتر برای فشرده‌سازی ساده کاربرد داره


3 روش‌های تشخیص یک فایل پک‌شده

وقتی یک فایل اجرایی رو باز می‌کنی شاید متوجه بشی که کدش واضح نیست یا خیلی فشرده و عجیب به نظر می‌رسه برای فهمیدن اینکه یه فایل پک شده یا نه این روش‌ها رو بررسی کن

🔹 روش 1: بررسی امضای پکرها با PEiD یا Detect It Easy (DIE)

🔹 ابزار PEiD یا DIE می‌تونن پکر مورد استفاده در یک فایل PE رو شناسایی کنن

💻 در ویندوز:

1 PEiD یا Detect It Easy (DIE) رو اجرا کن.


2 فایل اجرایی رو داخلش بکش



3 اگر یه اسم پکر مثل UPX یا ASPack نشون داد، یعنی پک شده.



🔹 روش 2: بررسی جدول بخش‌های فایل (Sections) در PE


🔹 پک‌شده‌ها معمولاً بخش‌های غیرعادی مثل UPX0, UPX1, .text با اندازه خیلی کم دارن

🔹 می‌تونی با PE-Bear یا CFF Explorer فایل PE رو باز کنید و ببینید که آیا بخش‌های مشکوک داره یا نه

🔹 روش 3: اجرای باینری در دیباگر و بررسی تغییرات حافظه

🔹 بعضی پک‌شده‌ها موقع اجرا کد واقعی‌شون رو در حافظه Extract می‌کنن

🔹 می‌تونی با x64dbg یا OllyDbg اجراش کنی و ببینی که آیا در طول اجرا کدش تغییر می‌کنه یا نه

4 آنپکینگ دستی باینری‌ها (Unpacking)

برای باز کردن کد مخفی شده چندین روش وجود داره:

🔹 روش1:
آنپک کردن خودکار با UPX

اگر فایل با UPX پک شده باشه به راحتیه می‌تونید آنپکش کنید:

upx -d packed.exe -o unpacked.exe

اما... پکرهای پیچیده‌تر مثل Themida یا VMProtect اینقدر راحت آنپک نمیشن


🔹 روش ۲:
پیدا کردن OEP (Entry Point اصلی) و دامپ کردن فایل از حافظه

📌 مراحل آنپکینگ دستی در دیباگر (مثلاً x64dbg):

1 فایل پک‌شده رو توی x64dbg باز کن


2 نقاط مشکوک رو پیدا کن:

اغلب پک‌شده‌ها قبل از اجرای کد اصلی، روی NtProtectVirtualMemory یا VirtualAlloc توقف دارن



3 روی OEP (Original Entry Point) بریک‌پوینت بذار:

معمولاً JMP EAX یا JMP ESP نشونه اینه که کد آنپک شده و آماده اجراست



4 وقتی به OEP رسیدی فایل رو از حافظه دامپ کن:

از Scylla یا OllyDump برای استخراج باینری استفاده کن



5 ریبیلد کردن بخش‌های PE:

اگر آدرس Import Table خراب شد می‌تونی با Import Reconstructor اصلاحش کنی




این روش معمولاً برای پکرهای پیچیده مثل Themida و VMProtect استفاده میشه




5 ابزارهای مهم برای آنپک کردن باینری‌ها

🔹 ابزارهای تشخیص پکرها:

PEiD – شناسایی پکرهای رایج

Detect It Easy (DIE) – تحلیل باینری و پیدا کردن امضای پکرها

Exeinfo PE – نمایش اطلاعات پکرهای پیشرفته

🔹 ابزارهای دیباگ و آنپکینگ:

x64dbg / OllyDbg – دیباگ و یافتن OEP

Scylla / ImpRec – ریبیلد کردن Import Table بعد از آنپکینگ

UPX – برای پک و آنپک کردن UPX


🔹 ابزارهای تحلیل حافظه :

Process Hacker – نمایش حافظه پروسه‌ها

Hollows Hunter – تشخیص کدهای تزریق شده و Unpacking Runtime



پکینگ یعنی فشرده‌سازی و رمزگذاری کد اجرایی برای جلوگیری از مهندسی معکوس کاهش حجم و مخفی کردن بدافزارها

پکرهای معروف مثل UPX Themida و VMProtect در نرم‌افزارهای قانونی و بدافزارها استفاده میشن

برای تشخیص یک فایل پک‌شده ابزارهایی مثل PEiD DIE و x64dbg استفاده میشن

آنپکینگ دستی باینری‌ها شامل پیدا کردن OEP  دامپ کردن از حافظه و بازسازی Import Table هست

ابزارهایی مثل Scylla  OllyDbg و Process Hacker برای آنپکینگ استفاده میشن
👍123
دیباگ کردن برنامه‌ها بدون سورس‌کد



🔍 دیباگ (Debugging) چیست و چرا مهمه؟

🔹 دیباگ کردن یعنی اجرای یک برنامه به‌صورت خط به خط برای فهمیدن چگونگی عملکرد اون


🔹 وقتی سورس‌کد رو نداریم با دیباگ کردن می‌تونیم مقدار متغیرها شرط‌ها و الگوریتم‌های داخلی برنامه رو بفهمیم


🔹 این کار برای آنالیز بدافزارها کرک کردن نرم‌افزارها و رفع باگ در برنامه‌های ناشناس استفاده میشه

📌 اهداف دیباگ بدون سورس‌کد:

فهمیدن ساختار برنامه

پیدا کردن کلیدهای رمزنگاری توکن‌ها و پسوردهای داخلی

بایپس کردن مکانیزم‌های امنیتی مثل ضد دیباگ و لایسنس

شناسایی نقاط ورود و اجرای کد




ابزارهای دیباگ برای برنامه‌های ویندوزی


🔹 برای دیباگ برنامه‌های کامپایل شده (مثلاً فایل‌های EXE یا DLL) از دیباگرهای سطح پایین استفاده می‌کنیم مهم‌ترین ابزارها اینا هستن:

دیباگرهای معروف برای باینری‌های ویندوز


x64dbg – محبوب‌ترین دیباگر برای مهندسی معکوس و کرک نرم‌افزار

OllyDbg – نسخه قدیمی‌تر ولی همچنان کاربردی

WinDbg – دیباگر مایکروسافت برای ویندوز و کرنل‌دیباگینگ

IDA Pro – قوی‌ترین ابزار برای دی‌کامپایل و دیباگ کردن توابع

ابزارهای کمکی برای دیباگ

Process Hacker – نمایش جزئیات پردازش‌های در حال اجرا

Cheat Engine – برای تغییر مقدار متغیرها در حافظه

Scylla – دامپ کردن و بازسازی Import Table




آشنایی با محیط x64dbg برای دیباگ باینری‌ها

🔹 x64dbg یکی از بهترین ابزارها برای دیباگ کردن برنامه‌های 32 بیتی و 64 بیتی در ویندوز هست.

🔹 می‌تونیم فایل اجرایی (EXE) رو باز کنیم کد اسمبلی رو ببینیم روی نقاط مختلف بریک‌پوینت بذاریم و مقدار متغیرها رو بررسی کنیم
🔥11👍1
Reversing_secrets_of_reverse_engineering_by_Eldad_Eilam_2005_@bookzillaaa.pdf
8.4 MB
کتاب Secrets of Reverse Engineering نوشته Eldad Eilam است

این کتاب یکی از بهترین منابع برای یادگیری مهندسی معکوس نرم‌افزاره و مفاهیم کلیدی رو از پایه تا سطح پیشرفته توضیح میده برخی از موضوعاتی که در کتاب پوشش داده شدن

مقدمه‌ای بر مهندسی معکوس و کاربردهای آن

تحلیل باینری‌ها و ساختارهای اجرایی

ابزارهای مورد استفاده مانند IDA Pro، OllyDbg و SoftICE

تکنیک‌های دیباگینگ و تحلیل بدافزارها

مکانیزم‌های ضد مهندسی معکوس و روش‌های بایپس آن‌ها


اگر تازه‌کار هستی این کتاب یه نقطه شروع عالیه
17👍2
📌 چطور یک فایل EXE را در x64dbg دیباگ کنیم؟

1️⃣ x64dbg رو باز کن و برنامه رو Load کن

از منوی File → Open، فایل EXE رو انتخاب کن.

2️⃣ روی نقطه ورود (Entry Point) بریک‌پوینت بذار معمولاً
در اولین دستور PUSH EBP یا MOV EBP, ESP


3️⃣ اجرای برنامه تا رسیدن به بریک‌پوینت
روی دکمه Run (F9) کلیک کن تا برنامه اجرا بشه و به اولین بریک‌پوینت برسه


4️⃣ بررسی رجیسترها و استک

پنل رجیسترها رو ببینید و مقدار متغیرها و آدرس‌های حافظه رو بررسی کنید

5️⃣ ردیابی دستورات مهم مثل CALL, JMP, CMP

این دستورات نشون میدن که برنامه چطور داده‌ها رو پردازش می‌کنه و کجا تصمیم‌گیری انجام میشه.

6️⃣ تغییر مقدار متغیرها و بایپس کردن شرط‌ها

اگه برنامه یه مکانیزم ضد دیباگ یا لایسنس داره می‌تونیم مقدار متغیرهای خاص رو تغییر بدیم تا برنامه گول بخوره





پیدا کردن رشته‌های مهم در حافظه برنامه

🔹 بعضی وقت‌ها برنامه‌ها پسوردها، کلیدهای لایسنس، توکن‌های API یا پیام‌های مخفی دارن.

🔹 می‌تونیم با ابزارهای دیباگ این رشته‌ها رو استخراج کنیم


📌 چطور رشته‌های مخفی رو پیدا کنیم؟

با x64dbg:

1. از منوی Search → Search for گزینه Strings رو انتخاب کنید


2. تمام رشته‌های استفاده شده در برنامه رو ببینیپ و دنبال چیزهای مشکوک بگردید



با ابزارهای کمکی مثل Strings از Sysinternals:

strings.exe my_program.exe

این دستور، تمام رشته‌های خوانا داخل فایل اجرایی رو نشون میده.


بررسی حافظه با Cheat Engine:


برنامه رو اجرا کن و Cheat Engine رو باز کن.


پروسه برنامه رو انتخاب کنید و جستجوی Text/String انجام بدید.


اگر چیزی پیدا شد مقدارش رو تغییر بدید و ببینید چه اتفاقی می‌افته ایا برنامه کرک میشه یا نه
👍16🔥31
📌 دیباگ کردن برنامه‌های پایتونی:

از ابزار PySpy یا Frida برای مانیتورینگ کد در حال اجرا استفاده کنید
فایل‌های pyc رو با uncompyle6 دی‌کامپایل کنید

📌 دیباگ کردن برنامه‌های جاوا:

از JD-GUI یا Bytecode Viewer برای دیدن کد استفاده کنید
با JDB (Java Debugger) می‌تونی متغیرها و توابع رو بررسی کنید


📌 دیباگ کردن برنامه‌های دات نت:

از dnSpy برای دی‌کامپایل و دیباگ کد C# استفاده کنید
توابع رو ویرایش کنید و مجددا کامپایل کنید
#debug
#python
#java
👍19👏1
18👏4
اگه ممبرهای کانال نره بالا متاسفانه مجبور میشم فعالیت رو متوقف کنم چون واقعا انگیزه ای نیست برای ادامه دادن پس تا جایی که میتونید کانال رو share کنید دمتون گرم عیدتونم مبارک سال خوبی داشته باشید❤️‍🔥🫶🏼
47👎3👏1😁1🍌1
ReverseEngineering pinned «اگه ممبرهای کانال نره بالا متاسفانه مجبور میشم فعالیت رو متوقف کنم چون واقعا انگیزه ای نیست برای ادامه دادن پس تا جایی که میتونید کانال رو share کنید دمتون گرم عیدتونم مبارک سال خوبی داشته باشید❤️‍🔥🫶🏼»
ReverseEngineering pinned «دوستان به زودی دوباره شروع میکنیم دمتون گرم بابت حمایت ها دوستون دارم🫶🏼»
انواع مکانیزم‌های لایسنس

🔹 نرم‌افزارها از روش‌های مختلفی برای کنترل دسترسی و اعتبارسنجی لایسنس استفاده میکنن رایج‌ترین روش‌ها اینان:

کلید سریال (Serial Key)

نرم‌افزار از کاربر یک کلید لایسنس درخواست می‌کنه و اون رو اعتبارسنجی می‌کنه

معمولاً با الگوریتم‌هایی مثل RSA، SHA، MD5 یا XOR بررسی می‌شه


فعال‌سازی آنلاین (Online Activation)

نرم‌افزار برای تایید لایسنس به سرور شرکت سازنده متصل می‌شه

این روش معمولاً از HTTP API، WebSockets یا RPC استفاده می‌کنه


قفل سخت‌افزاری (Hardware Locking)

لایسنس به شماره سریال CPU، هارد دیسک یا MAC Address وابسته است

تغییر سخت‌افزار باعث غیرفعال شدن لایسنس می‌شه


دونگل USB (USB Dongle)

یک قطعه سخت‌افزاری برای فعال‌سازی نرم‌افزار استفاده می‌شه

معمولاً از دستورات خاصی در درایور Kernel Mode استفاده می‌کنه


محافظت از کد (Obfuscation & Packing)

چرا برخی نرم افزار ها از پکر ها یا اوبفاسکیشن استفاده میکنن؟
برخی نرم‌افزارها از پکرها و اوبفاسکیشن استفاده می‌کنن تا کرک کردن سخت‌تر بشه

#obfuscation
#bypass
#license
🔥131👏1
مراحل کرک کردن یک نرم‌افزار

📌 برای کرک کردن باید مسیر اجرای لایسنس رو پیدا کنیم و اون رو بایپس کنیم

🔍 مرحله 1: بررسی اولیه نرم‌افزار

بررسی کن که نرم‌افزار کلید سریال قبول می‌کنه یا نیاز به اتصال اینترنت داره؟
فایل‌های اجرایی (.EXE یا .DLL) رو با PEiD یا Detect It Easy (DIE) اسکن کن تا ببینی آیا پک شده (Packed) یا نه.

🛠 مرحله ۲: پیدا کردن توابع لایسنس در اسمبلی

فایل اجرایی رو در IDA Pro یا x64dbg باز کن و دنبال توابع strcmp, strcmpi, RegQueryValueEx, IsDebuggerPresent بگرد
روی strcmp یا memcmp بریک‌پوینت بذار و مقدار کلید درست رو پیدا کن

🚀 مرحله ۳: بایپس کردن چک لایسنس

مقدار EAX رو تغییر بده تا نتیجه cmp برابر true بشه.
با NOP کردن شرط JNZ یا JZ می‌تونی چک لایسنس رو حذف کنی

MOV EAX, 1 ; مقدار بررسی لایسنس رو به True تغییر بده

NOP ; حذف پرش غیرمجاز

#crack
#bypass
👍121🔥1👏1
کرک کردن نرم‌افزارهای آنلاین

🔹 بعضی نرم‌افزارها برای فعال‌سازی به سرور متصل میشن برای کرک کردن این نرم‌افزارها باید ترافیک رو مانیتور کنیم و تغییر بدیم

📌 روش‌های کرک کردن نرم‌افزارهای آنلاین:

مانیتورینگ HTTP/S با Burp Suite یا Fiddler

ببین درخواست به چه API ارسال می‌شه و پاسخ سرور رو جعل کن
ساخت سرور جعلی (Fake License Server)

می‌تونی با ابزارهایی مثل mitmproxy یک سرور فیک بسازی و نرم‌افزار رو گول بزنی
پچ کردن درخواست‌های لایسنس در دیباگر

درخواست HTTP رو با x64dbg یا IDA Pro پیدا کن و مقدار لایسنس رو تغییر بده
#crack
#reverse
9👏3