کانال بایت امن
4.69K subscribers
433 photos
49 videos
36 files
613 links
برگزاری دوره های آموزش برنامه نویسی و امنیت نرم افزار.

https://dword.ir
@YMahmoudnia
Download Telegram
#eBook #Android #Security #Programming

Android Application Secure Design/Secure Coding Guidebook By Japan Smartphone Security Association (JSSEC)- English Version

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

🌐 Website - PDF

Telegram
Channel : @securebyte

Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
👍7
#Article #Programming

▪️Writing a Debugger From Scratch by Tim Misiak

در مجموعه جدید آموزشی آقای Tim Misiak به نام "نوشتن دیباگر از ابتدا" هدف اینه که تا جای ممکن با نحوه کار دیباگر ها آشنا بشید.

در ضمن نویسنده با زبان برنامه نویسی Rust این دیباگر رو جلو میبره.

DbgRs Part 1 - Attaching to a Process
DbgRs Part 2 - Register State and Stepping
DbgRs Part 3 - Reading Memory
DbgRs Part 4 - Exports and Private Symbols
DbgRs Part 5 - Breakpoints

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍76👎1
#Library #Programming

C++ Hooking - Write Less Do More

Cpp Hooking - Set up function hooking easily and writing less code. It supports both Inline hooking & IAT hooking on both 32-bit & 64-bit.

با استفاده از این کتابخانه در ++C قادر خواهید بود عملیات هوک کردن به صورت Inline و IAT رو در 32-64 بیت انجام بدین .

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

Portable VS Build Tools installer


Downloads standalone 64-bit MSVC compiler, linker & other tools, also headers/libraries from Windows SDK, into a portable folder, without installing Visual Studio.

با استفاده از این ابزار و بدون نیاز به نصب ویژوال استادیو می توانید کامپایلر MSVC را دانلود و استفاده کنید. این ابزار با استفاده از نسخه MSVC و نسخه Windows SDK مورد نظر شما، اینکار را انجام می دهد.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍2🔥2🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
#Programming

https://benjdd.com/loops/

مقایسه 1 میلیارد حلقه تکرار تو در تو در زبان های برنامه نویسی JS | Python | Go | C و بررسی نتیجه

کد مربوط به Rust رو هم قرار دادم تا خودتون چک کنید.

let array = new Array(10000);
for (let i = 0; i < 10000; i++) {
for (let j = 0; j < 100000; j++) {
array[i] = array[i] + j;
}
}


array = [0] * 10000
for i in range(10000):
for j in range(100000):
array[i] = array[i] + j


package main
func main() {
var array [10000]int
for i := 0; i < 10000; i++ {
for j := 0; j < 100000; j++ {
array[i] = array[i] + j
}
}
}


int main() {
long array[10000];
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 100000; j++) {
array[i] = array[i] + j + i;
}
}
}


fn main() {
let mut array = [0i64; 10000];
for i in 0..10000 {
for j in 0..100000 {
array[i] += j + i as i64;
}
}
}


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

⚜️Everything About Memory Allocators: Write A Simple Memory Allocator

اختصاص حافظه یکی از مفاهیم اساسی در برنامه‌نویسی سیستم است که هر توسعه‌ دهنده‌ای باید با آن آشنا باشد. این مقاله به بررسی دقیق پیاده‌سازی یک تخصیص‌ دهنده حافظه ساده در زبان C و در سیستم عامل لینوکس می‌پردازد و توابعی مانند malloc()، free()، calloc() و realloc() را توضیح می‌دهد.

اگر چه این پیاده‌سازی به پیچیدگی تخصیص‌ دهنده‌های حرفه‌ای مانند ptmalloc یا jemalloc نخواهد بود، اما مفاهیم اصلی را به شما آموزش خواهد داد.

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍3🎉1
Forwarded from OS Internals (Abolfazl Kazemi)
مروری بر پروسه‌های کرنلی لینوکس

در لینوکس برخی از پروسه‌ها بخش user space‌ نداشته و کامل در دل کرنل اجرا می‌شوند. این پروسه‌ها در اجرای کارهای مختلف به سیستم‌عامل کمک کرده و به صورت background کارهایی که نیاز است انجام شوند که لینوکس بتواند سرویس‌دهی موارد مختلف را انجام دهد مدیریت می‌کنند. در این پست و ویدئو برخی از این پروسه‌ها معرفی شده و کاربردهای مختلف آن‌ها شرح داده می‌شود.

اولین پروسه (نخ) کرنلی لینوکس kthreadd است که وظیفه‌ی ایجاد یک interface برای ایجاد و مدیریت پروسه‌های کرنلی در لینوکس را داشته و همیشه با PID‌ برابر ۲ اجرا می‌شود. در کد این نخ یک حلقه‌ی بی‌نهایت وجود دارد که از لیستی به اسم kthread_create_list اطلاعات پروسه‌ی کرنلی که قرار است ایجاد شود را برداشته و آنرا ایجاد می‌کند. تمامی پروسه‌های کرنلی لینوکس از اینجا به بعد فرزندان kthreadd خواهند بود.

پروسه‌ی بعدی که معرفی می‌کنیم migration است. از پروسه‌ی کرنلی migration به تعداد coreهای cpu خواهیم داشت و وظیفه‌ی آن مدیریت پروسه‌هایی است که بر روی یک core اجرا می‌شوند و در صورت زیاد بودن بار بر روی یک core یک پروسه را از روی run_queue یک core بر داشته و بر روی run_queue یک core دیگر قرار می‌دهد.

پروسه‌ی دیگری که در ویدئو در مورد آن صحبت شده است kcompactd است که وظیفه‌ی آن جلوگیری از ایجاد fragmentation‌ در حافظه و کمک به کنارهم قرار گرفتن pageهای مرتبط در حافظه است.

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

در ویدئو در مورد پروسه‌های بیشتری صحبت شده است که می‌توانید با مشاهده‌ی آن از این پروسه‌ها اطلاع پیدا کنید.

لینک ویدئو در یوتیوب:
https://youtu.be/PsZ5GZhzvqE
لینک ویدئو در آپارات:
https://aparat.com/v/obt29c7

پ.ن ۱:‌ برای اطلاع از جزئیات پروسه‌های ابتدایی لینوکس پست زیر را مشاهده کنید:
https://t.me/OxAA55/133

پ.ن ۲: برای اطلاع از جزئیات پروسه و نخ در لینوکس پست زیر را مشاهده کنید:
https://t.me/OxAA55/124

#ShortLinuxInternals #linux #internals #programming #kernel #memory #threads #processes #kernel_threads
🔥163
#Article #Programming

بلاخره جایگزین std::cout با امکانات بیشتر در C++23 معرفی شد.

تابع std::println چکار می‌کند؟

تابع std::println چیزی را روی خروجی چاپ می‌کند، دقیقا مثل std::print، با این تفاوت که در پایان خروجی یک n\ هم اضافه می‌کند. یعنی بعد از هر چاپ، به خط بعد می‌رود.

عالی شد چون سخت بود تایپ std::endl یا n\ 😅

std::println(fmt, args...)
std::println(stream, fmt, args...)

#include <print>
int main()
{
std::println("Hello {}!", "DWORD Academy");
}


اگر دوست داشتید بدونید در استاندارد 23 چه تغییراتی به وجود آمده برید روی لینک کلیک کنید

https://cppreference.com/w/cpp/23.html

🦅 کانال بایت امن | گروه بایت امن
_
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1310👍2👎1
Forwarded from OS Internals (Abolfazl Kazemi)
📢 انتشار فصل اول دوره توسعه اکسپلویت در لینوکس

📚 این فصل شامل ۷ ویدئو می‌باشد و در آن با مفاهیم بنیادین اجرای برنامه‌ها در سیستم‌عامل لینوکس آشنا می‌شوید؛ از مروری بر برنامه‌نویسی و ساختار فایل‌های اجرایی گرفته تا نحوه‌ی ایجاد و اجرای پروسه‌ها و مدیریت حافظه. این فصل پایه‌ای محکم برای درک مباحث پیشرفته‌تری ایجاد می‌کند که در فصل‌های آینده به آن‌ها خواهیم پرداخت.

✍️ لینک ویدئوهای فصل در یوتیوب:
00) Course Introduction
P01-01) Programming Review
P01-02) ELF Intro
P01-03) Process Execution
P01-04) Heap Investigation
P01-05) Process Address Space
P01-06) Virtual Memory
P01-07) Syscalls Intro

✍️ لینک ویدئوهای فصل در آپارات:
https://aparat.com/v/qxvin87
https://aparat.com/v/fwd0751
https://aparat.com/v/ljqz0v8
https://aparat.com/v/pdw1xkk
https://aparat.com/v/nct8m83
https://aparat.com/v/eak4pvp
https://aparat.com/v/lbuc0q0
https://aparat.com/v/sfb8398

#linux #exploitdev #internals #programming #security
18🔥13🤩1