baleio 🤖
> ساختن بات بله، بهسادگیِ نوشتن چند خط پایتون.
هرچی برای یه بات لازمه — async، فیلتر، دکمه، FSM، پرداخت — تو یه فریمورک تمیز؛ درست مثل aiogram، ولی برای بله.
https://pypi.org/project/baleio/
https://pypi.org/project/baleio/
> ساختن بات بله، بهسادگیِ نوشتن چند خط پایتون.
هرچی برای یه بات لازمه — async، فیلتر، دکمه، FSM، پرداخت — تو یه فریمورک تمیز؛ درست مثل aiogram، ولی برای بله.
@dp.message(CommandStart())
async def start(message: Message):
await message.answer("سلام! 🌟")
pip install baleio → باتت آمادهست. 🔥https://pypi.org/project/baleio/
https://pypi.org/project/baleio/
🔥10
ɪɴ ᴍʏ ʜᴇᴀᴅ
baleio 🤖 > ساختن بات بله، بهسادگیِ نوشتن چند خط پایتون. هرچی برای یه بات لازمه — async، فیلتر، دکمه، FSM، پرداخت — تو یه فریمورک تمیز؛ درست مثل aiogram، ولی برای بله. @dp.message(CommandStart()) async def start(message: Message): await message.answer("سلام!…
یکی از رفقا اینو توسعش داده حمایت کنید🥰❤️
❤8
ɪɴ ᴍʏ ʜᴇᴀᴅ
من نزدیک یکی دوساله که دارم روی ی زبانی کار میکنم بنام QuantoScript ، نسخه اولیشو خیلی ساده و با Ruby نوشتم بدون استفاده از regex برای tokenize کردن. روی گیتهابم هست ولی فعلاً ریپازیتوریشو خصوصی کردم و الآن در دسترس عموم نیست چون چند وقتیه دارم سعی میکنم از…
و بالاخره ، بعد از این همه مدت ، QuantoScript ریلیز شد 🚀
ی زبان برنامه نویسی کوچیک ، ساده و قابل فهم که از صفر ساخته شد و حالا نسخه 1.0.0 اش منتشر شده.
ازتون دعوت میکنم برید داکیومنتش رو بخونید ، باهاش کد بزنید و امتحانش کنید . اگر جایی به باگ یا مشکلی برخوردید فقط گزارش کنید تا توی نسخه های بعدی بررسی و رفع بشه :()
ی سری محدودیت ها و مواردی که هنوز کامل نشده هم وجود داره که همشون داخل داکیومنت نوشته شده و ازشون خبر دارم ، پس نیازی نیست دوباره همون موارد رو گزارش کنید🤝
مهم ترین چیزی که الان نیاز دارم تست شدن پروژه توسط آدم های مختلف و پیدا شدن باگ های واقعی توی استفاده روزمرست ، من خودم تستای زیادی انجام دادم ولی ی سری باگا فقط توی پروژه های واقعی پیدا میشن...
اگر پیشنهادی هم دارید خوشحال میشم توی کامنت های همین پست باهام درمیون بزارید❤️
🔗 GitHub:
https://github.com/PySudo/QuantoScript
ی زبان برنامه نویسی کوچیک ، ساده و قابل فهم که از صفر ساخته شد و حالا نسخه 1.0.0 اش منتشر شده.
ازتون دعوت میکنم برید داکیومنتش رو بخونید ، باهاش کد بزنید و امتحانش کنید . اگر جایی به باگ یا مشکلی برخوردید فقط گزارش کنید تا توی نسخه های بعدی بررسی و رفع بشه :()
ی سری محدودیت ها و مواردی که هنوز کامل نشده هم وجود داره که همشون داخل داکیومنت نوشته شده و ازشون خبر دارم ، پس نیازی نیست دوباره همون موارد رو گزارش کنید🤝
مهم ترین چیزی که الان نیاز دارم تست شدن پروژه توسط آدم های مختلف و پیدا شدن باگ های واقعی توی استفاده روزمرست ، من خودم تستای زیادی انجام دادم ولی ی سری باگا فقط توی پروژه های واقعی پیدا میشن...
اگر پیشنهادی هم دارید خوشحال میشم توی کامنت های همین پست باهام درمیون بزارید❤️
🔗 GitHub:
https://github.com/PySudo/QuantoScript
❤19👍1🔥1
منکه دیگه با پایتون کد نمیزنم ، سوییچ میکنم رو همین جدی ، چیزی هم دیدم کم اومده براش مینویسم اینطوری بهتره😂
ی پلاگین هم برای vscode فردا منتشر میکنم واسش که راحت بتونید باهاش کد بزنید کدارو مثل تکست خام نشونتون نده
ی پلاگین هم برای vscode فردا منتشر میکنم واسش که راحت بتونید باهاش کد بزنید کدارو مثل تکست خام نشونتون نده
❤13
Media is too big
VIEW IN TELEGRAM
خودتون نتایجو ببینید من حرفی ندارم😂
عملیاتی که پایتون در عرض 35 ثانیه انجام داده رو QuantoScript در عرض 4 ثانیه انجام داده!
البته این مربوط میشه به بخش native C این زبان
نمیدونم میدونید یا نه ولی خب این ی زبان هیبریدیه که سه تا بکند داره :
interpreter, vm, native c
اینجا با native c بنچمارکشو گرفتم :()
کداشم با اپدیت بعدی میزارم روی گیتهاب که بتونید خودتون ران کنید و نتیجشو ببینید...
توی این چند روزی که QuantoScript ریلیز شده دارم روی ی IR کار میکنم چونکه توی نسخه ریلیز شده نداره و واقعا هم حیاتیه برای من ، چون اگه بخوام در آینده فیچری اد کنم بهش باید هر سه تا بکند رو تغییر بدم ولی IR که باشه کار راحت تر پیش میره
عملیاتی که پایتون در عرض 35 ثانیه انجام داده رو QuantoScript در عرض 4 ثانیه انجام داده!
البته این مربوط میشه به بخش native C این زبان
نمیدونم میدونید یا نه ولی خب این ی زبان هیبریدیه که سه تا بکند داره :
interpreter, vm, native c
اینجا با native c بنچمارکشو گرفتم :()
کداشم با اپدیت بعدی میزارم روی گیتهاب که بتونید خودتون ران کنید و نتیجشو ببینید...
توی این چند روزی که QuantoScript ریلیز شده دارم روی ی IR کار میکنم چونکه توی نسخه ریلیز شده نداره و واقعا هم حیاتیه برای من ، چون اگه بخوام در آینده فیچری اد کنم بهش باید هر سه تا بکند رو تغییر بدم ولی IR که باشه کار راحت تر پیش میره
🔥11❤3
به پیشنهاد یکی از رفیقام چند وقتیه که دارم روی ionCube کار میکنم
ی ابزاریه که برای محافظت از کدهای PHP استفاده میشه ، خیلیا فکر میکنن صرفاً میاد سورس کد رو encrypt میکنه ، ولی داستان ی مقدار پیچیده تر از این حرفاست
نمیاد مثل ی فایل متنی کل کد PHP رو برداره ، encrypt کنه و موقع اجرا دوباره decrypt کنه... چون اگه اینطوری بود خیلی راحت میشد موقع decrypt شدن ، کد اصلی رو از memory استخراج کرد
برای اینکه بهتر بفهمیم داستان چیه اول باید بدونیم PHP چطوری کار میکنه و کد رو چطوری اجرا میکنه
وقتی شما مثلاً همچین کدی میزنید :
اول کد tokenize میشه و بعد بر اساس اون token ها ، PHP ی سری instruction برای Zend Engine تولید میکنه.
مثلاً ی چیزی شبیه این :
(این فقط مثال سادست و opcode واقعی PHP دقیقاً این شکلی نیست)
حالا اینجا ی نکته وجود داره ، زبان ها معمولاً نمیان برای هر دستور ی متن مثل
بجاش برای هر instruction ی مقدار عددی در نظر میگیرن
مثلاً فرض کنیم :
اون
(البته ساختار واقعی VM ها پیچیده تر از این مثاله)
حالا ionCube هم تقریباً همین ایده کلی رو دنبال میکنه ولی با ی تفاوت مهم :
نمیاد سورس PHP رو encrypt کنه که بعداً برگردونه قبل از اجرا کد PHP رو به ی representation کامپایل شده تبدیل میکنه و همون رو محافظت میکنه :()
یعنی چیزی که بعد از decode شدن داریم سورس PHP نیست که بشه مستقیم استخراجش کرد بلکه ی سری اطلاعات نزدیک به مرحله اجرای ماشین مجازی داریم...
ولی این instruction ها به تنهایی خیلی به درد ما نمیخورن چون هنوز سورس اصلی رو نداریم...
اگه بخوایم کد رو تغییر بدیم باید ی چیزی شبیه decompiler بنویسیم ، یعنی برنامه ای که بتونه این instruction ها رو تحلیل کنه و دوباره از روی اون ها کد PHP تولید کنه
دقیقاً یه چیزی مثل pycdc
این pycdc هم ی decompiler برای python عه که میاد opcode های فایل های pyc رو تحلیل میکنه و بر اساس اونا دوباره سورس پایتون تولید میکنه
البته من خیلی وقت پیش ی ابزار برای patch کردن همین فایل های pyc نوشتم و روی گیتهاب هم هست :
https://github.com/PySudo/PatchPYC
با این ابزار میشه بدون داشتن سورس اصلی bytecode رو تغییر داد
مثلاً همچین کدی :
رو تبدیل کرد به :
یعنی میشه جریان اجرای برنامه رو بدون دسترسی به سورس اصلی تغییر داد
برای چیزهایی مثل تحلیل نرم افزارها یا بررسی مکانیزم های لایسنس این تکنیکا خیلی کاربردین
ی ویدیوی آموزشی هم با امیرحسین دربارش گرفتیم که توش دقیقاً همین کار رو انجام دادیم توی کانال امیرحسین هست اگه دوست داشتید برید ببینیدش ویدیوی جالبیه:
https://t.me/comma_code1/581
ولی خب داستان PHP و ionCube به اینجا ختم نمیشه 😂
مشکل اصلی اینجاست که مرحله decode شدن این اطلاعات داخل loader خود ionCube انجام میشه و به این سادگی اجازه نمیده به داده های نهایی که برای اجرا آماده میشن دسترسی داشته باشیم...
فعلاً گیر اصلی من همین مرحلست اگه بشه این قسمت رو تحلیل کرد و instruction های نهایی رو استخراج کرد بخش decompile کردنش دیگه بیشتر تبدیل میشه به مهندسی معکوس ساختار opcode ها و نوشتن parser مربوط به خودش
ی ابزاریه که برای محافظت از کدهای PHP استفاده میشه ، خیلیا فکر میکنن صرفاً میاد سورس کد رو encrypt میکنه ، ولی داستان ی مقدار پیچیده تر از این حرفاست
نمیاد مثل ی فایل متنی کل کد PHP رو برداره ، encrypt کنه و موقع اجرا دوباره decrypt کنه... چون اگه اینطوری بود خیلی راحت میشد موقع decrypt شدن ، کد اصلی رو از memory استخراج کرد
برای اینکه بهتر بفهمیم داستان چیه اول باید بدونیم PHP چطوری کار میکنه و کد رو چطوری اجرا میکنه
وقتی شما مثلاً همچین کدی میزنید :
$x = '10';
اول کد tokenize میشه و بعد بر اساس اون token ها ، PHP ی سری instruction برای Zend Engine تولید میکنه.
مثلاً ی چیزی شبیه این :
LOAD_CONST 10
STORE_VALUE x
(این فقط مثال سادست و opcode واقعی PHP دقیقاً این شکلی نیست)
حالا اینجا ی نکته وجود داره ، زبان ها معمولاً نمیان برای هر دستور ی متن مثل
LOAD_CONST رو توی فایل ذخیره کنن چون حجم زیادی میگیره و پردازشش هم کندتر میشهبجاش برای هر instruction ی مقدار عددی در نظر میگیرن
مثلاً فرض کنیم :
04 f1 ff 4a 00
اون
04 میتونه مشخص کنه که این instruction مربوط به ی operation خاصه ، بقیه بایت ها هم operand ها و دیتاهای مربوط به اون instruction باشن(البته ساختار واقعی VM ها پیچیده تر از این مثاله)
حالا ionCube هم تقریباً همین ایده کلی رو دنبال میکنه ولی با ی تفاوت مهم :
نمیاد سورس PHP رو encrypt کنه که بعداً برگردونه قبل از اجرا کد PHP رو به ی representation کامپایل شده تبدیل میکنه و همون رو محافظت میکنه :()
یعنی چیزی که بعد از decode شدن داریم سورس PHP نیست که بشه مستقیم استخراجش کرد بلکه ی سری اطلاعات نزدیک به مرحله اجرای ماشین مجازی داریم...
ولی این instruction ها به تنهایی خیلی به درد ما نمیخورن چون هنوز سورس اصلی رو نداریم...
اگه بخوایم کد رو تغییر بدیم باید ی چیزی شبیه decompiler بنویسیم ، یعنی برنامه ای که بتونه این instruction ها رو تحلیل کنه و دوباره از روی اون ها کد PHP تولید کنه
دقیقاً یه چیزی مثل pycdc
این pycdc هم ی decompiler برای python عه که میاد opcode های فایل های pyc رو تحلیل میکنه و بر اساس اونا دوباره سورس پایتون تولید میکنه
البته من خیلی وقت پیش ی ابزار برای patch کردن همین فایل های pyc نوشتم و روی گیتهاب هم هست :
https://github.com/PySudo/PatchPYC
با این ابزار میشه بدون داشتن سورس اصلی bytecode رو تغییر داد
مثلاً همچین کدی :
if folan == bahman:
print('valid')
else:
print('invalid')
رو تبدیل کرد به :
if folan != bahman:
print('valid')
else:
print('invalid')
یعنی میشه جریان اجرای برنامه رو بدون دسترسی به سورس اصلی تغییر داد
برای چیزهایی مثل تحلیل نرم افزارها یا بررسی مکانیزم های لایسنس این تکنیکا خیلی کاربردین
ی ویدیوی آموزشی هم با امیرحسین دربارش گرفتیم که توش دقیقاً همین کار رو انجام دادیم توی کانال امیرحسین هست اگه دوست داشتید برید ببینیدش ویدیوی جالبیه:
https://t.me/comma_code1/581
ولی خب داستان PHP و ionCube به اینجا ختم نمیشه 😂
مشکل اصلی اینجاست که مرحله decode شدن این اطلاعات داخل loader خود ionCube انجام میشه و به این سادگی اجازه نمیده به داده های نهایی که برای اجرا آماده میشن دسترسی داشته باشیم...
فعلاً گیر اصلی من همین مرحلست اگه بشه این قسمت رو تحلیل کرد و instruction های نهایی رو استخراج کرد بخش decompile کردنش دیگه بیشتر تبدیل میشه به مهندسی معکوس ساختار opcode ها و نوشتن parser مربوط به خودش
GitHub
GitHub - PySudo/PatchPYC
Contribute to PySudo/PatchPYC development by creating an account on GitHub.
❤11❤🔥3🔥3🎉2💯1
ɪɴ ᴍʏ ʜᴇᴀᴅ
ret hijacking توی اسمبلی چیه و چطوری پیاده سازی میشه؟
نهایتا تا فردا پسفردا رباتو دوباره راه میندازم و شروع میکنیم به گذاشتن ویدیو ها ، دیگه خیلی وقته فعالیت درست و حسابی نداشتیم باید شروعش کنیم باز🤝
❤4
ɪɴ ᴍʏ ʜᴇᴀᴅ
نهایتا تا فردا پسفردا رباتو دوباره راه میندازم و شروع میکنیم به گذاشتن ویدیو ها ، دیگه خیلی وقته فعالیت درست و حسابی نداشتیم باید شروعش کنیم باز🤝
سورس کد باتشو گم کردم
باید ی کوچولو صبرکنید تا دوباره بنویسمش
ایندفعه میخوام با زبان QuantoScript بات رو توسعه بدم :()
باید ی کوچولو صبرکنید تا دوباره بنویسمش
ایندفعه میخوام با زبان QuantoScript بات رو توسعه بدم :()
🔥6❤5💯2
ɪɴ ᴍʏ ʜᴇᴀᴅ
Voice message
This media is not supported in your browser
VIEW IN TELEGRAM
حوصله نداشتم آدرسا رو فیلتر کنم و بپوشونم
بزنید نوش جونتون😂
بزنید نوش جونتون😂
❤6
ɪɴ ᴍʏ ʜᴇᴀᴅ
حوصله نداشتم آدرسا رو فیلتر کنم و بپوشونم بزنید نوش جونتون😂
یکیش ی وبسایت بزرگ داره دیگه ببینم چه میکنید
کاری کردید تو کامنتا منم در جریان بزارید
شل آماده و حاضره فقط برید بزنید😂
کاری کردید تو کامنتا منم در جریان بزارید
شل آماده و حاضره فقط برید بزنید😂
This media is not supported in your browser
VIEW IN TELEGRAM
پسنده؟
میخوام بزارمش گیتهاب ولی خب هنوز کامل نیست
باید ی جوری ستاپش کنم که مشخص نشه چیته وگرنه اکانت بن میشه😂
میخوام بزارمش گیتهاب ولی خب هنوز کامل نیست
باید ی جوری ستاپش کنم که مشخص نشه چیته وگرنه اکانت بن میشه😂
❤🔥13🔥1🎉1
ɪɴ ᴍʏ ʜᴇᴀᴅ
پسنده؟ میخوام بزارمش گیتهاب ولی خب هنوز کامل نیست باید ی جوری ستاپش کنم که مشخص نشه چیته وگرنه اکانت بن میشه😂
خب... تصمیم بر این شد که دوتا مود داشته باشه این افزونه
یکیش مود manual که خودتون دستی از 1 تا 20 قدرت انجین رو مشخص میکنید
یکیش هم مود adaptive که خود انجین بازی طرف مقابل رو بررسی و تحلیل میکنه و بعد بر اساس دقت حریف ، دقت خودشو تنظیم میکنه ، روی این مود احتمال بن شدن خیلی میاد پایین تر چونکه دیگه حرکت یک استاک فیش رو نمیزنید تازه حتی ممکنه mistake و blunder هم داشته باشید ولی همچنان بازی رو میبرید
یکیش مود manual که خودتون دستی از 1 تا 20 قدرت انجین رو مشخص میکنید
یکیش هم مود adaptive که خود انجین بازی طرف مقابل رو بررسی و تحلیل میکنه و بعد بر اساس دقت حریف ، دقت خودشو تنظیم میکنه ، روی این مود احتمال بن شدن خیلی میاد پایین تر چونکه دیگه حرکت یک استاک فیش رو نمیزنید تازه حتی ممکنه mistake و blunder هم داشته باشید ولی همچنان بازی رو میبرید
❤4
ɪɴ ᴍʏ ʜᴇᴀᴅ
خب... تصمیم بر این شد که دوتا مود داشته باشه این افزونه یکیش مود manual که خودتون دستی از 1 تا 20 قدرت انجین رو مشخص میکنید یکیش هم مود adaptive که خود انجین بازی طرف مقابل رو بررسی و تحلیل میکنه و بعد بر اساس دقت حریف ، دقت خودشو تنظیم میکنه ، روی این مود…
اینم بهتون بگم ، روی مود adaptive باختتون تقریبا غیرممکنه و حتی بن شدنتون هم غیرممکنه
ولی اینکه چقدر از این افزونه استفاده کنید دست خودتونه...
اگه chess.com ببینه شما نسبت بردتون از باختاتون خیلی بیشتره و ی چیز عجیب غریبه میزنه بنتون میکنه
خلاصه کار این افزونه بردنه و در نوع خودش دور زدن آنتی چیت ، همینکار رو هم میکنه ولی قسمت اینکه چقدر ازش استفاده کنید دست خودتونه... اگه میخواید بن نشید عادی رفتار کنید توی برد و باختا ، همین...
ولی اینکه چقدر از این افزونه استفاده کنید دست خودتونه...
اگه chess.com ببینه شما نسبت بردتون از باختاتون خیلی بیشتره و ی چیز عجیب غریبه میزنه بنتون میکنه
خلاصه کار این افزونه بردنه و در نوع خودش دور زدن آنتی چیت ، همینکار رو هم میکنه ولی قسمت اینکه چقدر ازش استفاده کنید دست خودتونه... اگه میخواید بن نشید عادی رفتار کنید توی برد و باختا ، همین...
❤4
Forwarded from iRLords (Mr)
دوستان عزیز.
یک میتینگ داریم.
دور هم جمع میشیم و خیلی دوستانه و خیلی قشنگ حرف میزنیم، گل میگیم، گل میشنویم، اگر سوالی بود جواب میدیم و اگر نبود باز میخندیم :)
این میتینگ توی تهران و تبریز برگزار میشه.
زمانش؟ فعلا معلوم نیست ولی تا یکی دو هفته انشاالله اوکی میکنیم
لطف کنید اگر شرکت میکنید پیوی بنده اعلام کنید که کدوم شهر میتونید تشریف بیارید ❤️
@Farzin_Acc
یک میتینگ داریم.
دور هم جمع میشیم و خیلی دوستانه و خیلی قشنگ حرف میزنیم، گل میگیم، گل میشنویم، اگر سوالی بود جواب میدیم و اگر نبود باز میخندیم :)
این میتینگ توی تهران و تبریز برگزار میشه.
زمانش؟ فعلا معلوم نیست ولی تا یکی دو هفته انشاالله اوکی میکنیم
لطف کنید اگر شرکت میکنید پیوی بنده اعلام کنید که کدوم شهر میتونید تشریف بیارید ❤️
@Farzin_Acc
❤2
پاول دروف اگه میفهمید منابع سروراش دارن سر میو کردن ملت و پوینت گرفتن تو ی بات گربه ای هدر میرن با تبر سرورای تلگرامو خورد میکرد
تهشم محض اطمینان ی
sudo rm -rf /*
میزد
تهشم محض اطمینان ی
sudo rm -rf /*
میزد
🔥5💯1
متنو مینویسی توی telegram desktop درسته فرمتش
میری رو گوشی میبینی کلا ی چیز دیگست
میری رو گوشی میبینی کلا ی چیز دیگست
👍3❤1
sunset_wallpaper.png
15.3 KB
A picture is worth a thousand words... one of them is the key.
Somewhere in this image lies a secret key.
(hint: base64 never lies)
First to post the flag wins :()
Somewhere in this image lies a secret key.
(hint: base64 never lies)
First to post the flag wins :()
🎉1
ɪɴ ᴍʏ ʜᴇᴀᴅ
sunset_wallpaper.png
وقتیکه میاید سمت مسابقات CTF ی همچین چیزی بهتون تحویل میدن بعضی جاهاش با ی همچین توضیحی که توی کپشن نوشتم...
سعی کنید خودتون حلش کنید و از ai کمک نگیرید واسش
حوصلم سررفته بود خودم گفتم ی سوالی طرح کنم
باحاله
هرکی تونست حلش کنه کلیدو تو کامنتا بفرسته
سعی کنید خودتون حلش کنید و از ai کمک نگیرید واسش
حوصلم سررفته بود خودم گفتم ی سوالی طرح کنم
باحاله
هرکی تونست حلش کنه کلیدو تو کامنتا بفرسته
❤1🎉1