Stuff for Geeks
158 subscribers
181 photos
38 videos
178 files
575 links
Admin: @the_mhbr
Download Telegram
یه پلی لیست خوب برای گیت
مباحث زیر و یه کوچولو مطالب دیگه ای رو داره:
> git cherry pick
> git rebase
> git reword
> git stash
> git squash

https://youtube.com/playlist?list=PLfU9XN7w4tFzW200TaCP1W9RTE8jRSHU5

#git
#course
#English
🔥4
سلام
از ابتدای کار به دلیل بودجه محدود ما نتونستیم فروم بسازیم و برای پشتیبانی از کاربرها گروه تلگرامی تشکیل دادیم. امروز که فروم داریم، تصمیم گرفتیم تا گروه تلگرامی رو ببندیم و پشتیبانی فقط در فروم صورت بگیره.


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


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


توزیع‌هایی مثل آرچ، اوبونتو، فدورا، فری‌بی‌اس‌دی، اوپن‌بی‌اس‌دی، دبیان، مینت، اسلکور، المنتری، اندوور، زورین و ...... داخل تلگرام گروه پشتیبانی رسمی ندارن، پشتیبانی رسمی ازشون داخل فروم‌های این توزیع‌ها انجام میشه.


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

https://forum.parchlinux.com

این کار برای سلامت جامعه لازمه

سهراب، توسعه دهنده توزیع پارچ
@ParchLinux
Forwarded from Source Byte (‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌$ᴘ3ᴅʏʟ1👾)
Assembly for Hackers from Reza Rashidi

Table of contents
Syntax
Comments
Assembly Language Statements
Syntax of Assembly Language Statements
Example: Hello World Program in Assembly
Compiling and Linking
Sections
Processor Registers
System Calls
Strings
String Instructions
Repetition Prefixes
Numbers
BCD Representation
Instructions:
Conditions
CMP Instruction
Conditional Jump Instructions (Signed Data)
Conditional Jump Instructions (Unsigned Data)
Special Conditional Jump Instructions
Addressing Modes
MOV Instruction
File Handling
Example: Reading from a File
Stack and Memory
Stack and Memory
Tools for Analysis
Code Injection Attack
DLL Injection
APC Injection
Valid Accounts
System Binary Proxy Execution: Rundll32
Reflective code loading
Modify Registry
Process Injection
Mark-Of-The-Web (MOTW) Bypass
Access Token Manipulation
Hijack Execution Flow
Resources

https://redteamrecipe.com/assembly-for-hackers

#assembly
#reverse
Mobile Pentest Like a Pro.pdf
97.9 MB
Mobile Pentest like a pro by Hades group
یه لیست بسیار غنی از ابزارهای اوسینت:
https://start.iss.one/p/L1rEYQ/osint4all

پ.ن: (خطرات احتمالی استفاده کردن از این ابزارها به من مربوط نیست😁)
🔥3👍1
exercises_for_programming_in_cpp-2021-04-01.pdf
2.7 MB
یه کتاب خوب برای تمرین سی پلاس پلاس از دانشگاه ویکتوریای کانادا

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

#programming
#cpp
#book
#english
👍8
Forwarded from OS Internals (Abolfazl Kazemi)
جزئیات پروسه و نخ در لینوکس

به صورت خلاصه از دید ویندوز پروسه فقط یک container می‌باشد که اجرا نشده و فضایی برای اجرای Threadها فراهم می‌کند و در سطح کرنل نیز دو ساختار EPROCESS, ETHREAD برای این دو تعریف شده‌اند. اما در لینوکس ماجرا متفاوت است و Process, Thread هر دو قابلیت اجرا داشته و در سطح کرنل نیز یک ساختار task_struct برای آن‌ها تعریف شده است. در دنیای شی‌گرایی مثل این است که در لینوکس یک کلاس برای این دو وجود دارد و فقط در زمان ایجاد شی خصوصیات متفاوتی برای آن‌ها تنظیم می‌شود.

اگر به سراغ برنامه‌نویسی سیستمی در لینوکس برویم، تابع fork برای ایجاد پروسه استفاده شده و از تابع pthread_create نیز برای ایجاد نخ در لینوکس استفاده می‌شود. در سطحی کمی پایین‌تر، هر دوی این توابع syscallای به نام clone را فراخوانی می‌کنند و با ست‌کردن فلگ‌هایی مشخص می‌کنند که قصد ایجاد پروسه یا نخ را دارند. در زمان بررسی برنامه‌ها، در خروجی دستور ps برای یک برنامه‌ی چند پروسه‌ای pidهای مختلفی خواهیم دید ولی در یک برنامه‌ی چند نخی pidها یکسان بوده ولی عددهای متفاوتی در فیلد Light-Weight Process-LWP می‌بینیم.

نکته‌ی جالب دیگر این است که در سطح کرنل پروسه‌ها یک لیست پیوندی تشکیل می‌دهند. هم شیوه‌ی ایجاد لیست پیوندی Generic در سطح کرنل و در زبان C موضوع جالبی است و هم اینکه به کمک فیلدی به اسم tasks می‌توانیم یک لیست پیوندی از پروسه‌ها تشکیل دهیم که به پروسه‌های قبلی و بعدی اشاره می‌کند.

این موارد و موارد دیگری از جزئیات پروسه‌ها و نخ‌های لینوکس مواردی هستند که در این ویدئو به آن می‌پردازیم.

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

#ShortLinuxInternals #linux #internals #syscalls #kernel #process #thread #gdb #qemu #clone #LWP
یه nullptr چندبار میتونه delete بشه؟
Anonymous Quiz
10%
یک بار
15%
دوبار
45%
بینهایت بار
30%
هیچ بار
Forwarded from Programmer Jokes
😁1
Stuff for Geeks
یه nullptr چندبار میتونه delete بشه؟
درمورد این سوال، نکته ای که هست اینه که شما وقتی یه آدرسی رو فری یا دیلیت میکنین، پوینتر یا پوینترهایی که به اون آدرس داشتن اشاره میکردن، هنوز هم دارن بهش اشاره میکنن

یعنی کد زیر رو فرض کنین:
#include <iostream>

int main(){

int * ptr = new int(10);
std::cout << std::hex << ptr << std::endl;

delete ptr;

std::cout << std::hex << ptr << std::endl;

return 0;
}

این کد، توی دو خط دقیقا یه آدرس رو چاپ میکنه که خب منطقی هم هست چون فری کردن یه بلوک از هیپ ربطی به اینکه آدرس اون بلوک عوض بشه نداره

حالا مشکلی که هست اینه که اگه دوباره این آدرس رو دیلیت یا فری کنیم، به ارور میخوریم و برنامه بسته میشه.

برای همین کاری که توصیه میشه همیشه بعد از دیلیت کردن انجام بدیم، اینه که آدرس پوینتری که دیلیت شده رو برابر nullptr که همون صفر هست قرار بدیم.

و خوشبختانه با دیلیت کردن آدرس صفر اروری پیش نمیاد. پس میتونیم بینهایت بار هم یه پوینتری که برار nullptr قرار داده شده رو حذف کنیم.


#cpp
#programming
👍1
C++ explicit keyword usage:
class Test{
public:
Test(int i);
};

class Test2{
public:
explicit Test2(int i);
};

void myAnotherFunction(Test2 someOtherTest){}

void myFunction(Test someTest){}

int main(){

Test test(1); //OK, Normal cnostruction
Test2 test2(2); //OK

//Converting constructor
myFunction(78);


//You can't do this when adding explicit to the constructor
myAnotherFunction(45);

return 0;
}


#cpp
#programming
🔥2
آموزش انواع اسمبلیهای مختلف(میپس، آرم، x86، و خیلی خیلی چیزای دیگه):
https://youtube.com/@chibiakumas

#Asssmbly
#Programming
#binary
Forwarded from APT
🔑 RockYou2024: 10 billion passwords leaked in the largest compilation of all time

Researchers discovered what appears to be the largest password compilation with a staggering 9,948,575,739 unique plaintext password

🔗 Source:
https://cybernews.com/security/rockyou2024-largest-password-compilation-leak/

🔗 Source archive:
https://fastupload.io/1824d409732f30be

#wordlist #rockyou #passwords