در این مطلب، ویدئو رمزگشایی کدهای بسته بندی شده پایتون (PicoCTF 2022 #28 ‘unpackme.py’) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:06:07
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,719 –> 00:00:02,720
در این ویدیو ما در حال بازگشت به
2
00:00:02,720 –> 00:00:05,520
عمل در برخی از pico ctf 2022 هستیم که پرچم را ضبط می کنیم
3
00:00:05,520 –> 00:00:08,080
و اوه می دانید بدون هیچ مقدمه
4
00:00:08,080 –> 00:00:09,440
ای من حدس می زنم که می توانیم
5
00:00:09,440 –> 00:00:12,000
مستقیماً در آن شیرجه بزنیم، بنابراین هی من اینجا هستم در
6
00:00:12,000 –> 00:00:13,920
صفحه رایانه خود که
7
00:00:13,920 –> 00:00:15,839
فقط در یک مدت به شما نشان خواهم داد لحظه ای که من یک مکث برای
8
00:00:15,839 –> 00:00:17,840
تعلیق اضافه می کنم، صادقانه بگویم که هنوز آماده
9
00:00:17,840 –> 00:00:19,840
تعویض ویندوز نبودم، اما خوب پیش می رویم،
10
00:00:19,840 –> 00:00:22,560
وب سایت pico ctf 2022 را
11
00:00:22,560 –> 00:00:23,640
باز کرده
12
00:00:23,640 –> 00:00:26,240
ام picoctf.org و من در حال گشت و گذار در اینجا هستم،
13
00:00:26,240 –> 00:00:27,680
ما آن را داریم
14
00:00:27,680 –> 00:00:30,240
دسته بعدی مهندسی معکوس با 100 امتیاز به نام
15
00:00:30,240 –> 00:00:32,719
unpack me dot pi بیایید ببینیم
16
00:00:32,719 –> 00:00:34,960
با شما
17
00:00:34,960 –> 00:00:36,880
18
00:00:36,880 –> 00:00:39,680
19
00:00:39,680 –> 00:00:41,040
مخالفیم.
20
00:00:41,040 –> 00:00:43,280
این برنامه پایتون را در اسکریپت پایتون مهندسی معکوس کنید،
21
00:00:43,280 –> 00:00:46,079
زیرا یک اسکریپت پایتون است، من
22
00:00:46,079 –> 00:00:48,239
فرض میکنم کد منبع را داریم،
23
00:00:48,239 –> 00:00:49,920
بیایید به آن
24
00:00:49,920 –> 00:00:52,719
دایرکتوری مهندسی معکوس برویم یک دایرکتوری برای unpack
25
00:00:52,719 –> 00:00:54,239
me pi ایجاد
26
00:00:54,239 –> 00:00:57,120
کنیم و بیایید جلو برویم و این موضوع
27
00:00:57,120 –> 00:00:58,879
را تمام کنیم. درست است
28
00:00:58,879 –> 00:01:01,920
که ما یک
29
00:01:02,239 –> 00:01:04,959
اسکری پایتون داریم pt که در اینجا نشان داده شده است، بیایید ادامه دهیم
30
00:01:04,959 –> 00:01:07,520
و آن را در یک ویرایشگر متن باز کنیم
31
00:01:07,520 –> 00:01:09,119
و اوه،
32
00:01:09,119 –> 00:01:11,840
ما در اینجا کار جالبی انجام
33
00:01:11,840 –> 00:01:14,000
34
00:01:14,000 –> 00:01:17,400
35
00:01:17,400 –> 00:01:19,759
36
00:01:19,759 –> 00:01:21,759
37
00:01:21,759 –> 00:01:23,759
38
00:01:23,759 –> 00:01:26,400
میدهیم. این است که
39
00:01:26,400 –> 00:01:28,640
40
00:01:28,640 –> 00:01:29,759
41
00:01:29,759 –> 00:01:32,320
42
00:01:32,320 –> 00:01:34,560
بسته رمزنگاری کتابخانه رمزنگاری پایتون داخلی، آه، اگر از پایتون استفاده میکنید و کتابخانهها را نصب نکردهاید، ممکن است
43
00:01:34,560 –> 00:01:35,920
مجبور شوید آن را پیپ نصب کنید،
44
00:01:35,920 –> 00:01:38,479
اگر از پایتون استفاده میکنید و
45
00:01:38,479 –> 00:01:39,840
46
00:01:39,840 –> 00:01:42,320
کتابخانهها را نصب نکردهاید.
47
00:01:42,320 –> 00:01:44,320
همانطور که ما
48
00:01:44,320 –> 00:01:46,320
از sudo apt استفاده می کنیم به همان روشی که از apt و
49
00:01:46,320 –> 00:01:48,159
aptitude و برنامه دریافت برای نصب موارد در
50
00:01:48,159 –> 00:01:50,240
لینوکس استفاده می کنیم، یک بسته منیجر برای پایتون وجود دارد که
51
00:01:50,240 –> 00:01:52,079
کدهای بیشتری دریافت می کند و دریافت
52
00:01:52,079 –> 00:01:54,720
زبان های بیشتر کتابخانه ها ماژول ها و غیره.
53
00:01:54,720 –> 00:01:57,040
54
00:01:57,040 –> 00:01:59,520
اوم و این در
55
00:01:59,520 –> 00:02:01,799
واقع کسی است که از آن
56
00:02:01,799 –> 00:02:03,920
ماژول فرعی cryptography.fernet استفاده میکند و
57
00:02:03,920 –> 00:02:06,640
58
00:02:06,640 –> 00:02:08,479
به هر حال آن نوع کلاس را برای
59
00:02:08,479 –> 00:02:10,239
ما وارد میکند، ما یک payload داریم که به عنوان
60
00:02:10,239 –> 00:02:12,080
یک فایل رشته بایتی نمایش داده میشود.
61
00:02:12,080 –> 00:02:12,959
62
00:02:12,959 –> 00:02:14,800
d وقتی دستور فایل را قبلا اجرا کردیم،
63
00:02:14,800 –> 00:02:16,560
به ما گفت که ما خطوط بسیار
64
00:02:16,560 –> 00:02:19,680
طولانی مانند 305 کاراکتر در تمام
65
00:02:19,680 –> 00:02:22,080
طول ستون در
66
00:02:22,080 –> 00:02:22,879
سمت راست داریم،
67
00:02:22,879 –> 00:02:24,640
بنابراین
68
00:02:24,640 –> 00:02:27,040
کاری که آنها انجام می دهند این است که یک کلید را به عنوان یک رشته انتخاب می کنند.
69
00:02:27,040 –> 00:02:28,400
70
00:02:28,400 –> 00:02:30,640
71
00:02:30,640 –> 00:02:32,000
من فرض میکنم این
72
00:02:32,000 –> 00:02:33,920
طول پرچم خواهد بود زیرا
73
00:02:33,920 –> 00:02:39,040
احتمالاً از این کلید fernet برای
74
00:02:39,040 –> 00:02:41,760
دریافت دادههای ساده استفاده میکنند و سپس این را
75
00:02:41,760 –> 00:02:44,319
اجرا میکند
76
00:02:44,319 –> 00:02:46,879
که برای من جالب است زیرا exec
77
00:02:46,879 –> 00:02:49,680
کد پایتون را اجرا میکند.
78
00:02:49,680 –> 00:02:51,519
آرگومان مانند
79
00:02:51,519 –> 00:02:53,440
نمایش رشته ای از
80
00:02:53,440 –> 00:02:57,120
کد پایتون است که اجرا و
81
00:02:57,120 –> 00:03:01,040
اجرا می شود، از این رو نام exec نامیده می شود، بنابراین
82
00:03:01,040 –> 00:03:03,760
بخشی از من تعجب می کند که این کد چیست
83
00:03:03,760 –> 00:03:06,239
که در نهایت اجرا می شود،
84
00:03:06,239 –> 00:03:08,080
اما من نمی خواهم. نمیخواهم به
85
00:03:08,080