uk
Feedback
ReverseEngineering

ReverseEngineering

Відкрити в Telegram
1 265
Підписники
Немає даних24 години
-37 днів
+730 днів
Архів дописів
پیدا کردن شرط چک لایسنس یا رمز چی کار میکنیم؟ میخوایم بخش‌ هایی از برنامه که رمز لایسنس رو بررسی میکنن پیدا کنیم بفهمیم چه توابعی استفاده شده و دقیقا کجا برنامه تصمیم میگیره اجازه بده یا نده نمونه برنامه ساده مثال برای تمرین C:
#include <stdio.h> #include <string.h> int main() { char buf[32]; printf("Enter pass: "); scanf("%31s", buf); if (strcmp(buf, "1234") == 0) { printf("Access granted\n"); } else { printf("Access denied\n"); } return 0; }
مرحله به مرحله: فایل رو کامپایل کنید مثلا gcc test.c -o test.exe و یه نسخه کپی نگه دارید با strings test.exe نگاه کنید ببینید رشته‌ها مثل Enter pass: Access granted کجا هستن اینا کمک میکنن موقعیت منطقی برنامه رو حدس بزنید فایل رو توی IDA یا Ghidra باز کنید دنبال رشته‌های بالا بگردید Search _ Strings و از اونجا به تابع مربوط برید معمولا رشته‌ها به راحتی به توابع استفاده‌ شون لینک میشن توی دیس اسمبل دنبال strcmp یا strncmp یا هر تابع مقایسه رشته‌ای باشید نزدیک این فراخوانی‌ها معمولا شرط تصمیم‌گیرنده cmp + jz / jne / je / jne هست نقطه‌ای که بعد از cmp یه JE یا JNE میبینید همونجا تصمیم‌ گیرنده است اگه شرط برقرار باشه برنامه به شاخه موفقیت میره وگرنه پیام رد میشه نکات: دنبال cmp eax, 0 یا مقایسه بازگشتی strcmp(...) == 0 باشید رشته‌ها بهترین نقطه شروع برای مسیردهی در باینری هستن همه اینا استاتیکه هنوز برنامه رو اجرا نکردید تمرین: خودتون کد بالا رو کامپایل کنید و توی IDA/Ghidra مسیر از رشته _ تابع cmp _ jump رو دنبال کنید Finding the license or password Check condition What are we doing? We want to find the parts of the program that check the license password, understand what functions are used and where exactly the program decides to allow or deny Simple program example for practice C :
#include <stdio.h> #include <string.h> int main() { char buf[32]; printf("Enter pass: "); scanf("%31s", buf); if (strcmp(buf, "1234") == 0) { printf("Access granted\n"); } else { printf("Access denied\n"); } return 0; }
Step by step : Compile the file, e.g. gcc test.c -o test.exe and keep a copy Look at strings test.exe and see where strings like Enter pass : Access granted are. These will help you guess the logical position of the program Open the file in IDA or Ghidra and search for the above strings. Search Strings and from there go to the corresponding function. Usually strings are easily linked to the functions they use. Look for strcmp or strncmp or any string comparison function in the disassembler. Near these calls there is usually a decision-maker condition cmp + jz / jne / je / jne The point where you see a JE or JNE after cmp is the decision-maker. If the condition is true, the program goes to the success branch, otherwise the message is rejected. Tips : Look for cmp eax, 0 or the recursive comparison strcmp(...) == 0 Be Strings are the best starting point for routing in binary This is all static you haven't run the program yet Exercise : Compile the above code yourself and follow the path from string cmp function jump in IDA/Ghidra

▫️ | ترفند جدید بهتر سازی جواب های هوش مصنوعی ChatGPT اختصاص نسخه 4.1 و 5 در دوحالت نسخه رایگان و اشتراکی فقط فقط با ارسال چند کد در چت جدید میتونید به راحتی هوش مصنوعیتون رو کاری کنید دیگه محدودیت کمتر بزاره براتون و راحت تر جواب میده خیلی باهاتون صمیمی میشه این ترفند به قیمت بالای 130T میفروشن ولی به صورت رایگان براتون آموزشش رو قرار میدیم فقط فقط کافیه به پیوی بنده مراجعه کنید. ▫️ | مشاوره و آموزش ترفند : اینجا کلیک کن تا مطلع بشی از همچیز ▫️ ▫️ | haackir.t.me | کانال هک امنیت و آموزش ▫️

تحلیل باج افزار Qilin که پس از افول یا اسکم شدن بعضی باج افزارهایی مثل LockBit و BlackCat و RansomHub در صدر بیشترین حملات اخیر هست Qilin ransomware analysis, which is at the forefront of most recent attacks after the decline or shrink of some ransomware such as LockBit, Blackcat and RansomHub https://www.sans.org/blog/Evolution-Qilin-Raas @Fuzz0x https://www.sans.org/blog/evolution-qilin-raas @FUZZ0x

dalvikus A modern Android reverse engineering and modification toolkit built with Compose Multiplatform, available for windows, linux & mac. https://github.com/loerting/dalvikus.git

Unchained Skies: A Deep Dive into Reverse Engineering and Exploitation of Drones https://cfp.recon.cx/media/2023/submissions/HLHH89/resources/REcon_online_slides_mLUVm2u.pdf

Elons (Proxima/Black Shadow related) ransomware attack via Oracle DBS External Jobs https://labs.yarix.com/2025/09/elons-proxima-black-shadow-related-ransomware-attack-via-oracle-dbs-external-jobs/ @FUZZ0x

How Does the iOS Kernel Copy Memory? (Virtual Memory Internals) https://www.youtube.com/watch?v=0hxUEaDp1AA

This repository contains slides and hands-on materials for Emproof's workshop on firmware reverse engineering, presented at ScapyCon Automotive 2025. The workshop targets a technical audience with minimal security experience and teaches the fundamentals through practical, self-contained tasks. https://github.com/emproof-com/workshop_firmware_reverse_engineering

Post-Quantum Now: from AES & RSA to ML-KEM Hybrids A crisp, practical guide to navigating the quantum shift: how today’s crypto stack really works, what breaks with quantum, what survives (hello, AES-256), and how to roll in ML-KEM/Dilithium without breaking prod. Highlights you’ll get in 10 minutes: 1️⃣ A little tour of the “digital trust” stack — AES modes, nonce pitfalls (GCM vs SIV), and why key-derivation details matter. 2️⃣ Quantum threat & HNDL explained: keep symmetric strong (AES-256), plan to replace public-key (RSA/ECDSA/curves). 3️⃣ What NIST is standardizing now: ML-KEM (Kyber) for key establishment and ML-DSA (Dilithium) for signatures — with libraries you can use today (liboqs/pyoqs). 4️⃣ Hands-on hybrid recipe: X25519 + ML-KEM, transcript-bound HKDF, and a minimal Python snippet to derive a shared session key. 5️⃣ Migration roadmap you can copy-paste: Shadow Mode → Hybrid Mode → Audit & Logging → Policy flags → Crypto agility best practices. If you’re a security engineer, architect, or CISO planning 2025 rollouts, this is your field guide to ship PQC with confidence — not someday, but now. Read the full post: https://netlas.io/blog/post_quantum_cryptography/

تکنیک‌های ساده مهندسی معکوس توی این مرحله یاد می‌گیریم چطور برنامه‌های ساده‌ای رو که یه محافظ ابتدایی یا قفل ساده دارن آنالیز کنیم و رفتار پشتشون رو بفهمیم قدم‌ به‌ قدم: باز کردن فایل با ابزار استاتیک و دیباگر همون‌ طور که قبلا یاد گرفتیم اول با IDA Ghidra ساختار برنامه رو ببینید و بعد با x64dbg بذارید روی Entry Point وایسته این پایه همه کاراست پیدا کردن قسمت چک لایسنس یا شرط‌ ها تو برنامه‌ های ساده معمولا یه شرط if هست که میگه اگه لایسنس درست بود برو جلو اگه نه پیام خطا بده این بخش معمولا کنار توابعی مثل strcmp یا strncmp یا توابع ورودی رشته‌ای قرار داره ردیابی با Breakpoint روی تابعی که شک دارید بررسی لایسنسه Breakpoint بذارید برنامه رو اجرا کنید و ببینید کی و کجا متوقف میشه از اونجا می‌تونید مسیر منطقی برنامه رو بفهمید بررسی دستورهای شرطی معمولا یه دستور JE، JNE، JZ یا JNZ هست که تصمیم میگیره ادامه برنامه چی بشه اگه اینو پیدا کنید دقیقا اونجاست که برنامه تصمیم میگیره لایسنس درسته یا نه دستکاری ساده برای فهم منطق به جای عوض کردن فایل میتونید تو دیباگر دستور پرش رو موقتا عوض کنید مثلا JNE رو به JE تغییر بدید تا ببینید اگه شرط برعکس بشه چی میشه این تمرین کمک میکنه منطق چک رو کامل درک کنید   تمرین: یه برنامه ساده بسازید که یه رمز مشخص داره مثلا "1234" و اگه درست وارد شد پیام موفقیت بده بعد با IDA و x64dbg بررسیش کنید: تابع مقایسه رمز رو پیدا کنید نقطه پرش تصمیم‌ گیرنده رو شناسایی کنید با تغییر پرش ببینید برنامه چطور رفتار میکنه Simple Reverse Engineering Techniques In this step we will learn how to analyze simple programs that have a basic guard or a simple lock and understand the behavior behind them Step by step : Open the file with static tools and debugger As we learned before, first see the structure of the program with IDA Ghidra and then place it on the Entry Point with x64dbg and that's it Find the license check section or conditions In simple programs there is usually an if condition that says if the license is correct go ahead if not give an error message This section is usually next to functions like strcmp or strncmp or string input functions Tracing with Breakpoint Run the program and see when and where it stops From there you can understand the logical path of the program Examining conditional statements Usually there is a JE, JNE, JZ or JNZ statement that decides whether to continue the program What if you find this? This is exactly where the program decides whether the license is valid or not A simple manipulation to understand the logic Instead of changing the file you can temporarily change the jump instruction in the debugger, for example, change JNE to JE to see what happens if the condition is reversed This exercise will help you fully understand the logic of the check Exercise : Create a simple program that has a specific password for example "1234", and if it is entered correctly it will give a success message Then check it with IDA and x64dbg : Find the password comparison function Identify the decision-making jump point See how the program behaves by changing the jump

Windows local privilege escalation through the bitpixie vulnerability https://blog.syss.com/posts/bitpixie/

پیدا کردن گجت‌ های jmp برای call stack spoofing Finding jmp gadgets for call stack spoofing https://github.com/rasta-mouse/GadgetHunter