#TrainingCourse #Programming #CPP
📗C++ API Programming References
رفرنس اول : theForger's Win32 API Programming Tutorial
در زبان ++C درس داده شده و دارای چندین نسخه ترجمه شده از جمله زبان انگلیسی .
🌐 Website
رفرنس دوم : وب سایت ZetCode
در زبان ++C که نسخه تجاری به صورت PDF از همین سرفصل ها قابل ارائه توسط وب سایت است که اگر نسخه رایگان برای شما جالب و کاربردی بود امکان خرید eBook را هم خواهید داشت.
🌐 Website
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
📗C++ API Programming References
رفرنس اول : theForger's Win32 API Programming Tutorial
در زبان ++C درس داده شده و دارای چندین نسخه ترجمه شده از جمله زبان انگلیسی .
🌐 Website
رفرنس دوم : وب سایت ZetCode
در زبان ++C که نسخه تجاری به صورت PDF از همین سرفصل ها قابل ارائه توسط وب سایت است که اگر نسخه رایگان برای شما جالب و کاربردی بود امکان خرید eBook را هم خواهید داشت.
🌐 Website
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
👍1
#Tools #Programming #Hooking
معرفی کتابخانه های زبان برنامه نویسی ++C در زمینه Hook
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
معرفی کتابخانه های زبان برنامه نویسی ++C در زمینه Hook
MinHook
🌐 LinkEasyHook
🌐 LinkPolyHook
🌐 LinkTelegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Tools #Programming #BoxedAPP
ابزار BoxedAPP SDK به برنامه نویسان این امکان را میدهد که شبیه سازی فایل سیستم ها و همینطور رجیستری ویندوز را در برنامه های خود انجام دهند. با استفاده از تابع هایی که این SDK در اختیار شما قرار میدهد امکانات زیر را خواهید داشت.
➖ساخت فایل مجازی
➖ساخت کلید ها و مقادیر مجازی
➖اجرای مستقیم پروسس ها در حافظه
➖استفاده از ActiveX ها بدون رجیستر کردن
➖جاسازی Runtime ها مثل Net , Flash , VC++ redistributable.
سایر موارد استفاده از این SDK در سایت تولید کننده قرار داده شده است. اما در هنگام استفاده از این SDK موارد امنیتی در مورد تزریق DLL ها را در نظر بگیرید به علت اینکه در این SDK از ساختار Virtual File ها استفاده میشود این امکان وجود دارد تا با تزریق یک DLL اطلاعات را از حافظه کامپیوتر بیرون کشید.
🌐 Website
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
ابزار BoxedAPP SDK به برنامه نویسان این امکان را میدهد که شبیه سازی فایل سیستم ها و همینطور رجیستری ویندوز را در برنامه های خود انجام دهند. با استفاده از تابع هایی که این SDK در اختیار شما قرار میدهد امکانات زیر را خواهید داشت.
➖ساخت فایل مجازی
➖ساخت کلید ها و مقادیر مجازی
➖اجرای مستقیم پروسس ها در حافظه
➖استفاده از ActiveX ها بدون رجیستر کردن
➖جاسازی Runtime ها مثل Net , Flash , VC++ redistributable.
سایر موارد استفاده از این SDK در سایت تولید کننده قرار داده شده است. اما در هنگام استفاده از این SDK موارد امنیتی در مورد تزریق DLL ها را در نظر بگیرید به علت اینکه در این SDK از ساختار Virtual File ها استفاده میشود این امکان وجود دارد تا با تزریق یک DLL اطلاعات را از حافظه کامپیوتر بیرون کشید.
🌐 Website
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#eBook #Programming
📗Free Programming Notes for Professionals
➖By : Goalkicker
🌐 Download Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
📗Free Programming Notes for Professionals
➖By : Goalkicker
🌐 Download Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Github #Programming
Planet Source Code Github Repo
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
Planet Source Code Github Repo
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Github #Programming #Sploit
Sploit - Go package that aids in binary analysis and exploitation
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
Sploit - Go package that aids in binary analysis and exploitation
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Article #Security #Fuzzing #Programming
📗 Fuzzing PHP with Domato
Lately I've been working on fuzzing the PHP interpreter. I've explored many tools and techniques (AFL, LibFuzzer, even a custom fuzz engine), but most recently I decided to give Domato a try. For those not aware, Domato is a grammar-based DOM fuzzer, built to tease complex bugs out of complex code-bases.
🌐 Article Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
📗 Fuzzing PHP with Domato
Lately I've been working on fuzzing the PHP interpreter. I've explored many tools and techniques (AFL, LibFuzzer, even a custom fuzz engine), but most recently I decided to give Domato a try. For those not aware, Domato is a grammar-based DOM fuzzer, built to tease complex bugs out of complex code-bases.
🌐 Article Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Article #Security #Programming
📗 Fuzzing Go package using go-fuzz & libfuzzer
In this course, I will first select a popular Golang library and identify the most interesting methods to fuzz. Then, I’ll explains how to use go-fuzz and libfuzzer to compile the fuzzing target. Finally, I’ll show how to run the fuzzer.
🌐 Article Link
@securebyte
📗 Fuzzing Go package using go-fuzz & libfuzzer
In this course, I will first select a popular Golang library and identify the most interesting methods to fuzz. Then, I’ll explains how to use go-fuzz and libfuzzer to compile the fuzzing target. Finally, I’ll show how to run the fuzzer.
🌐 Article Link
@securebyte
#Article #Fuzzing #Programming
📗 Fuzzing Python code using pythonfuzz
In this course, I will first select a popular Python package and find some code source example using interesting methods to fuzz. Then, I’ll explains how to create a pythonfuzz fuzzing target and how to customize it. Finally, I’ll show how to run the fuzzer and explain some particularity of pythonfuzz.
🌐 Article Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
📗 Fuzzing Python code using pythonfuzz
In this course, I will first select a popular Python package and find some code source example using interesting methods to fuzz. Then, I’ll explains how to create a pythonfuzz fuzzing target and how to customize it. Finally, I’ll show how to run the fuzzer and explain some particularity of pythonfuzz.
🌐 Article Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Github #Programming #Sojobo
Sojobo - A binary analysis framework
Sojobo is an emulator for the B2R2 framework. It was created to easier the analysis of potentially malicious files. It is totally developed in .NET so you don't need to install or compile any other external libraries (the project is self contained).
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
Sojobo - A binary analysis framework
Sojobo is an emulator for the B2R2 framework. It was created to easier the analysis of potentially malicious files. It is totally developed in .NET so you don't need to install or compile any other external libraries (the project is self contained).
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
#Github #Programming #UASM
Support for UASM x86 and x64 assembler in RadASM 2.2.2.x
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
Support for UASM x86 and x64 assembler in RadASM 2.2.2.x
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
👍11
#Github #Programming #ReverseEngineering
Porting Windows Dynamic Link Libraries to Linux allows native Linux programs to load and call functions from a Windows DLL
پروژه ای جهت لود و فراخوانی DLL های ویندوزی در برنامه های لینوکس با استفاده از PE/COFF loader کاستوم شده به همراه مثال هایی از جمله انتقال کتابخانه های Windows Defender به لینوکس
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
Porting Windows Dynamic Link Libraries to Linux allows native Linux programs to load and call functions from a Windows DLL
پروژه ای جهت لود و فراخوانی DLL های ویندوزی در برنامه های لینوکس با استفاده از PE/COFF loader کاستوم شده به همراه مثال هایی از جمله انتقال کتابخانه های Windows Defender به لینوکس
🌐 Project Link
Telegram Channel : @securebyte
Our Public Group : https://t.me/joinchat/8IAKs9HaoGU2NmE0
_
👍5
#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
_
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
🦅 کانال بایت امن | گروه بایت امن
_
▪️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👍7❤6👎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 بیت انجام بدین .
🦅 کانال بایت امن | گروه بایت امن
_
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
کانال بایت امن
#Article #Programming ▪️Writing a Debugger From Scratch by Tim Misiak در مجموعه جدید آموزشی آقای Tim Misiak به نام "نوشتن دیباگر از ابتدا" هدف اینه که تا جای ممکن با نحوه کار دیباگر ها آشنا بشید. در ضمن نویسنده با زبان برنامه نویسی Rust این دیباگر رو جلو…
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
کانال بایت امن
#Article #Programming
▪️Writing a Debugger From Scratch by Tim Misiak
در مجموعه جدید آموزشی آقای Tim Misiak به نام "نوشتن دیباگر از ابتدا" هدف اینه که تا جای ممکن با نحوه کار دیباگر ها آشنا بشید.
در ضمن نویسنده با زبان برنامه نویسی Rust این دیباگر رو…
▪️Writing a Debugger From Scratch by Tim Misiak
در مجموعه جدید آموزشی آقای Tim Misiak به نام "نوشتن دیباگر از ابتدا" هدف اینه که تا جای ممکن با نحوه کار دیباگر ها آشنا بشید.
در ضمن نویسنده با زبان برنامه نویسی Rust این دیباگر رو…
🔥14❤6👍6😁2
#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 مورد نظر شما، اینکار را انجام می دهد.
🦅 کانال بایت امن | گروه بایت امن
_
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 رو هم قرار دادم تا خودتون چک کنید.
🦅 کانال بایت امن | گروه بایت امن
_
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🔥3❤2
#Article #Programming
⚜️ Everything About Memory Allocators: Write A Simple Memory Allocator
اختصاص حافظه یکی از مفاهیم اساسی در برنامهنویسی سیستم است که هر توسعه دهندهای باید با آن آشنا باشد. این مقاله به بررسی دقیق پیادهسازی یک تخصیص دهنده حافظه ساده در زبان C و در سیستم عامل لینوکس میپردازد و توابعی مانند malloc()، free()، calloc() و realloc() را توضیح میدهد.
اگر چه این پیادهسازی به پیچیدگی تخصیص دهندههای حرفهای مانند ptmalloc یا jemalloc نخواهد بود، اما مفاهیم اصلی را به شما آموزش خواهد داد.
🦅 کانال بایت امن | گروه بایت امن
_
اختصاص حافظه یکی از مفاهیم اساسی در برنامهنویسی سیستم است که هر توسعه دهندهای باید با آن آشنا باشد. این مقاله به بررسی دقیق پیادهسازی یک تخصیص دهنده حافظه ساده در زبان 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
در لینوکس برخی از پروسهها بخش 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
آپارات - سرویس اشتراک ویدیو
Going over Linux Kernel Threads
در لینوکس برخی از پروسهها بخش user space نداشته و کامل در دل کرنل اجرا میشوند. این پروسهها در اجرای کارهای مختلف به سیستمعامل کمک کرده و به صورت background کارهایی که نیاز است انجام شوند که لینوکس بتواند سرویسدهی موارد مختلف را انجام دهد مدیریت میکنند.…
🔥16❤2