در این مطلب، ویدئو پایتون کامپایل شده مهندسی معکوس – جیکوب مک سواین: OKC Python با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:35:10
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:05,819
من بنابراین Tecla Houma یک
2
00:00:05,819 –> 00:00:09,360
سازمان غیرانتفاعی داوطلب است، بنابراین ما اکنون 39 گروه
3
00:00:09,360 –> 00:00:11,880
4
00:00:11,880 –> 00:00:14,519
داریم که دو کنفرانس گاو مقدس دارند و ما
5
00:00:14,519 –> 00:00:17,369
از رویدادهای محلی رایگان مانند این حمایت می
6
00:00:17,369 –> 00:00:18,840
7
00:00:18,840 –> 00:00:21,180
8
00:00:21,180 –> 00:00:23,490
کنیم.
9
00:00:23,490 –> 00:00:26,760
اگر
10
00:00:26,760 –> 00:00:28,920
میخواهید راههایی برای کمک به ما بیابید
11
00:00:28,920 –> 00:00:33,630
و جلسات ما تأثیر بیشتری داشته باشد، اگر
12
00:00:33,630 –> 00:00:35,610
میخواهید کمک مالی کنید، میخواهم خانهام را بررسی کنم.
13
00:00:35,610 –> 00:00:37,350
14
00:00:37,350 –> 00:00:40,500
اشتراک ماهانه ما در حال پخش
15
00:00:40,500 –> 00:00:43,469
زنده در Twitch هستیم، امیدواریم در
16
00:00:43,469 –> 00:00:45,480
حال حاضر خوب به
17
00:00:45,480 –> 00:00:47,039
نظر برسد، بنابراین ظاهراً ما داریم
18
00:00:47,039 –> 00:00:50,160
کاری را درست انجام می دهیم و دوباره
19
00:00:50,160 –> 00:00:52,559
امروز اینجا در TBS هستیم، از
20
00:00:52,559 –> 00:00:56,280
آنها برای استفاده از فضایشان تشکر می کنیم و دوباره
21
00:00:56,280 –> 00:00:58,410
فناوری لاهوما امروز دوباره از پیتزای ما مراقبت می
22
00:00:58,410 –> 00:01:00,870
کند، بنابراین اگر
23
00:01:00,870 –> 00:01:02,969
برای پیوستن به ما در دسترس نیستید، ما یک پیتزا در
24
00:01:02,969 –> 00:01:05,339
پشت داریم و خوشبختانه به هر
25
00:01:05,339 –> 00:01:07,799
دلیلی از آنجایی که ما چهارشنبه هستیم، TBS
26
00:01:07,799 –> 00:01:09,390
یک کامیون غذا دارد. بنابراین اگر
27
00:01:09,390 –> 00:01:12,000
شما g را دریافت می کنید حوصله خوردن پیتزا را دارید
28
00:01:12,000 –> 00:01:13,320
و ما یکی دیگر از اینها را
29
00:01:13,320 –> 00:01:16,439
در اینجا داریم که می توانید بیایید این کار را انجام دهید، بنابراین من
30
00:01:16,439 –> 00:01:19,770
به جیکوب اجازه می دهم اینجا بیاید و در
31
00:01:19,770 –> 00:01:22,530
مورد مهندسی معکوس پایتون با ما صحبت کند که
32
00:01:22,530 –> 00:01:25,789
33
00:01:25,789 –> 00:01:27,649
ظاهراً موضوع جالبی است که ظاهراً باید انجام شود. این برای کار است، پس
34
00:01:27,649 –> 00:01:34,100
او اینجاست، ممنون بچه ها،
35
00:01:34,100 –> 00:01:36,740
بنابراین من امروز در مورد
36
00:01:36,740 –> 00:01:39,350
مهندسی معکوس پایتون صحبت می کنم، این چیزی است که
37
00:01:39,350 –> 00:01:41,869
در واقع باید برای کار انجام می دادم.
38
00:01:41,869 –> 00:01:43,880
39
00:01:43,880 –> 00:01:48,350
چیزهای ابری
40
00:01:48,350 –> 00:01:50,869
AWS عمدتاً یک جک از همه کارهاست.
41
00:01:50,869 –> 00:01:53,750
من زبان های زیادی را بلدم و
42
00:01:53,750 –> 00:01:56,810
در هیچ یک از آنها واقعاً متخصص نیستم، همچنین یک
43
00:01:56,810 –> 00:02:00,319
پلاگین بی شرمانه به سایت توسعه دهنده McSwain خود
44
00:02:00,319 –> 00:02:02,740
دارم که روزی که منتشر شد ثبت نام کردم
45
00:02:02,740 –> 00:02:05,840
و سپس من عشق از کامپایل کردن
46
00:02:05,840 –> 00:02:06,950
چیزهای مهندسی معکوس همیشه یکی
47
00:02:06,950 –> 00:02:09,619
از علاقههای من بوده است، احتمالاً از زمانی که
48
00:02:09,619 –> 00:02:11,030
جوانتر بودم، نشات میگیرد و به این
49
00:02:11,030 –> 00:02:13,190
فکر میکردم که ممکن است به نحوی
50
00:02:13,190 –> 00:02:14,810
بتوانم PCB را نگاه کنم و بفهمم
51
00:02:14,810 –> 00:02:16,099
چه اتفاقی در حال رخ دادن است، حتی اگر این کار را نمیکردم.
52
00:02:16,099 –> 00:02:20,060
چیزی در مورد آنها می دانم dly
53
00:02:20,060 –> 00:02:21,620
این مشکل عجیب را داشت که چاقوها
54
00:02:21,620 –> 00:02:22,880
همیشه بعد از جدا کردنشان کار نمیکردند،
55
00:02:22,880 –> 00:02:24,950
بنابراین فکر کردم که نرمافزار
56
00:02:24,950 –> 00:02:26,180
احتمالاً برای من گزینه بهتری است
57
00:02:26,180 –> 00:02:28,010
که هنگام
58
00:02:28,010 –> 00:02:29,810
59
00:02:29,810 –> 00:02:32,600
مهندسی معکوس کیس تجاری برای این کار، شکستن آن کمی سختتر باشد، بنابراین به من
60
00:02:32,600 –> 00:02:34,400
اختصاص داده شد. پروژه ای با فرآیندی که
61
00:02:34,400 –> 00:02:36,709
کار کردن با آن سخت بود، این بود که شما
62
00:02:36,709 –> 00:02:39,860
یک ورودی بسیار ارگانیک دریافت کردید، صفحه گسترده ای که
63
00:02:39,860 –> 00:02:44,290
تجزیه و تحلیل و خروجی آن توسط انسان بسیار سخت بود و
64
00:02:44,290 –> 00:02:49,370
یک PDF که باید در محدوده خاصی باقی می ماند
65
00:02:49,370 –> 00:02:51,950
، راه حل موجود
66
00:02:51,950 –> 00:02:53,720
کار می کرد، اما اینطور نبود. به اندازه کافی آنها
67
00:02:53,720 –> 00:02:56,690
مجبور بودند فرآیند خود را مجدداً ایجاد
68
00:02:56,690 –> 00:02:59,150
کنند یا صفحات گسترده اکسل را
69
00:02:59,150 –> 00:03:01,700
هر بار که
70
00:03:01,700 –> 00:03:04,580
راه حل موجود با شکست مواجه می شد، دوباره ایجاد می کردند، بنابراین آنها
71
00:03:04,580 –> 00:03:06,140
72
00:03:06,140 –> 00:03:08,360
73
00:03:08,360 –> 00:03:10,070
74
00:03:10,070 –> 00:03:11,660
به چیزی بهتر نیاز داشتند. برای
75
00:03:11,660 –> 00:03:14,060
پیاده سازی مجدد آن و به طور بالقوه عدم
76
00:03:14,060 –> 00:03:15,470
سازگاری با آنها در سطح
77
00:03:15,470 –> 00:03:19,010
یکسان، استفاده می شود که ما می دانیم که آنها
78
00:03:19,010 –> 00:03:20,569
کلمه Python را بسیار مورد استفاده قرار دادند و می دانستند
79
00:03:20,569 –> 00:03:22,819
که Pathan s وجود دارد. به هر حال، اما چیزی که آنها
80
00:03:22,819 –> 00:03:26,470
در اختیار ما قرار دادند یک فایل اجرایی در معرض نمایش بود،
81
00:03:26,470 –> 00:03:28,400
بنابراین ما متوجه شدیم که احتمالاً
82
00:03:28,400 –> 00:03:31,580
Pine-sol یا PI به AAC یکی از این دو است
83
00:03:31,580 –> 00:03:32,930
و نمیدانستیم چه نسخهای از Python
84
00:03:32,930 –> 00:03:34,190
است، نمیدانستیم که آیا آنها بودهاند یا خیر.
85
00:03:34,190 –> 00:03:38,480
با استفاده از این به مدت ده یا یک سال و
86
00:03:38,480 –> 00:03:40,670
توسعه دهنده قبلی mi-8 رفت، او به
87
00:03:40,670 –> 00:03:42,049
آن ایمیل پاسخ نمی داد یا احساس می کرد که
88
00:03:42,049 –> 00:03:43,640
از روی زمین ناپدید شده
89
00:03:43,640 –> 00:03:45,440
است و شرکت مالک
90
00:03:45,440 –> 00:03:47,480
حقوق این برنامه است که بسیار
91
00:03:47,480 –> 00:03:49,610
قابل توجه است. ما در یک ثانیه خواهیم دید زیرا
92
00:03:49,610 –> 00:03:52,430
این در یک منطقه خاکستری قرار می گیرد،
93
00:03:52,430 –> 00:03:56,239
من این اسلاید را همانطور که در اینجا چاپ شده است می خوانم تا
94
00:03:56,239 –> 00:03:58,910
مطمئن شوم که
95
00:03:58,910 –> 00:04:01,850
این اسلاید از RAC mi t–‘s خارج شده است.
96
00:04:01,850 –> 00:04:04,820
کامپایلر مهندسی معکوس
97
00:04:04,820 –> 00:04:07,970
که چند دهه پیش منتشر شد،
98
00:04:07,970 –> 00:04:09,350
جلسات غیرقانونی زیادی از
99
00:04:09,350 –> 00:04:11,540
ابزارهای دکامپایلر
100
00:04:11,540 –> 00:04:13,100
برای پلتفرمهای مختلف در
101
00:04:13,100 –> 00:04:15,380
دسترس بوده
102
00:04:15,380 –> 00:04:17,450
103
00:04:17,450 –> 00:04:19,789
104
00:04:19,789 –> 00:04:21,500
است. صاحب یک حرفه ای gram حق قانونی
105
00:04:21,500 –> 00:04:23,530
برای مهندسی معکوس برنامه ای
106
00:04:23,530 –> 00:04:25,060
را دارد که توسط دادگاه های ایالات متحده و
107
00:04:25,060 –> 00:04:26,980
سایر کشورهای قانونی ایجاد شده است
108
00:04:26,980 –> 00:04:28,660
که استفاده از دیکامپایلرها طبق
109
00:04:28,660 –> 00:04:31,180
قانون حق چاپ بند استفاده منصفانه قانونی است، اما توجه داشته باشید که
110
00:04:31,180 –> 00:04:32,680
ممکن است در صورت استفاده از قرارداد، قرارداد
111
00:04:32,680 –> 00:04:35,590
را نقض کنید. آن و به شما می گوید مجوز شما نیست،
112
00:04:35,590 –> 00:04:37,690
من می خواهم بفهمم
113
00:04:37,690 –> 00:04:39,070
استفاده از یک دیکامپایلر چه قانونی است، شما
114
00:04:39,070 –> 00:04:41,620
باید متن موارد زیر را بخوانید Sega
115
00:04:41,620 –> 00:04:43,480
Enterprises Limited در مقابل accolade Inc
116
00:04:43,480 –> 00:04:44,920
و هسته بازی های Torah در مقابل
117
00:04:44,920 –> 00:04:48,370
ابتکاری که آمریکا با
118
00:04:48,370 –> 00:04:50,830
آن ترکیب کرده است. یک نکته دیگر، این
119
00:04:50,830 –> 00:04:52,630
احتمالاً در دعوتنامههای پایتون جایگزین مانند لوله سلام، به خوبی کار نخواهد کرد،
120
00:04:52,630 –> 00:04:56,050
121
00:04:56,050 –> 00:04:57,820
حدس میزنم اینطور میگویید میکرو پایتون
122
00:04:57,820 –> 00:05:00,070
Jai thon یا هر مفسر دیگری که
123
00:05:00,070 –> 00:05:03,130
ممکن است کدهای بایت متفاوتی را تولید کند، این
124
00:05:03,130 –> 00:05:05,530
یکی برای پایتون C واقعاً خوب کار میکند.
125
00:05:05,530 –> 00:05:08,470
مفسر استاندارد پایتون که
126
00:05:08,470 –> 00:05:12,280
خواهید فهمید، بنابراین چگونه یک مقدمه کوچک
127
00:05:12,280 –> 00:05:15,820
در مورد نحوه عملکرد این فایل های اجرایی از PI به
128
00:05:15,820 –> 00:05:18,970
exe و نصب کننده PI من
129
00:05:18,970 –> 00:05:20,410
بیشتر به نصب کننده PI می پردازم.
130
00:05:20,410 –> 00:05:21,910
زیرا تجربه من در اینجاست، اما از نظر
131
00:05:21,910 –> 00:05:23,740
عملکردی باید بسیار شبیه به هم باشند
132
00:05:23,740 –> 00:05:25,570
هنگامی که آنها را باز کنید
133
00:05:25,570 –> 00:05:28,950
و پایتون کامپایل
134
00:05:30,210 –> 00:05:32,880
شده را به exe تحویل دهید، یک پوشه دیسکی ایجاد می کند که
135
00:05:32,880 –> 00:05:35,880
دارای DLL یا کتابخانه ویندوز برای
136
00:05:35,880 –> 00:05:37,740
مفسر پایتون در ضمیمه های کد شرکت است.
137
00:05:37,740 –> 00:05:39,930
یا در یک کتابخانه اگر
138
00:05:39,930 –> 00:05:42,900
فایلی نیز دارای فایلهای Dump ID است که
139
00:05:42,900 –> 00:05:45,120
dllهایی با پیوندهای بومی به
140
00:05:45,120 –> 00:05:47,610
کتابخانههای ویندوز هستند و dllهایی که صرفاً
141
00:05:47,610 –> 00:05:49,800
بومی برای نصب کننده خوب ویندوز هستند
142
00:05:49,800 –> 00:05:51,090
تقریباً همین کار را انجام میدهند، اما در
143
00:05:51,090 –> 00:05:53,160
عوض همه آنها را در یک
144
00:05:53,160 –> 00:05:58,530
فایل اجرایی باینری منفرد که پایتون را کامپایل میکند بستهبندی میکند. پایتون
145
00:05:58,530 –> 00:06:00,240
تفسیر میشود، اما
146
00:06:00,240 –> 00:06:03,389
هر زمان که کتابخانه پایتون را وارد میکنید به نوعی کامپایل میشود
147
00:06:03,389 –> 00:06:05,460
و اگر از منبع
148
00:06:05,460 –> 00:06:07,470
باشد، کامپایل آن در بایت کد درست در همان زمان طول میکشد
149
00:06:07,470 –> 00:06:10,080
و در آنجا یک مفهوم بایت کد
150
00:06:10,080 –> 00:06:11,729
به شما کمک میکند دفعه بعد
151
00:06:11,729 –> 00:06:14,780
که برای وارد کردن آن بروید، باید آن را وارد کنید. امیدوارم
152
00:06:14,780 –> 00:06:17,639
کمی سریعتر باشد، به طور بالقوه
153
00:06:17,639 –> 00:06:19,740
سریعتر باشد، شبیه به روشی است که
154
00:06:19,740 –> 00:06:21,840
JVM کار می کند.
155
00:06:21,840 –> 00:06:24,960
rpreted
156
00:06:24,960 –> 00:06:27,270
اما یک خروجی بایت کد ایجاد می
157
00:06:27,270 –> 00:06:29,669
کند، در واقع P VM که یک
158
00:06:29,669 –> 00:06:33,150
ماشین مجازی پایتون است و همچنین البته
159
00:06:33,150 –> 00:06:35,750
برای انجام هر یک از مثال های این
160
00:06:35,750 –> 00:06:38,039
ارائه، به یک فایل PI C برای
161
00:06:38,039 –> 00:06:40,430
کار با
162
00:06:40,690 –> 00:06:42,790
پایتون نیاز دارید که هر واردکننده ای را کامپایل می کند.
163
00:06:42,790 –> 00:06:45,160
اگر به دلایلی اجرا نمیشود، اگر
164
00:06:45,160 –> 00:06:47,050
مستقیماً آن را اجرا میکنید، میتوانید از
165
00:06:47,050 –> 00:06:50,080
Python – M PI کامپایل برای بارگذاری
166
00:06:50,080 –> 00:06:52,090
ماژول فایل بسته استفاده کنید و فایلی را که
167
00:06:52,090 –> 00:06:55,630
در صورت استفاده از پایتون 2 به آن اشاره میکنید، کامپایل
168
00:06:55,630 –> 00:06:57,460
کنید. فایل PI C را در
169
00:06:57,460 –> 00:06:59,740
همان دایرکتوری کد منبعی که اجرا
170
00:06:59,740 –> 00:07:01,150
کردید میسازد یا اگر در پایتون 3 هستید،
171
00:07:01,150 –> 00:07:02,410
زیرخط زیرخط کش PI
172
00:07:02,410 –> 00:07:05,080
زیرخط زیرخط فایل نقطه سی پایتون
173
00:07:05,080 –> 00:07:07,210
– سه نقطه هفت یا هر نسخه دیگری،
174
00:07:07,210 –> 00:07:10,420
نقطه PI C و در واقع میتوانید فایلهای PI C
175
00:07:10,420 –> 00:07:12,610
را مستقیماً اجرا کنید، میتوانید پایتون
176
00:07:12,610 –> 00:07:14,230
و مسیر فایل PI C را
177
00:07:14,230 –> 00:07:18,370
اجرا کنید و همانطور که
178
00:07:18,370 –> 00:07:21,790
گزینههایی برای گرفتن بایت کد پایتون کامپایلشده PI C پیش میروند اجرا میکند
179
00:07:21,790 –> 00:07:24,160
و آن را به منبع پایتون باز میگرداند.
180
00:07:24,160 –> 00:07:27,370
تعداد زیادی هلدینگ
181
00:07:27,370 –> 00:07:30,850
در واقع یکی از پیشروها هستند آیا
182
00:07:30,850 –> 00:07:33,190
خط غیراجباری در یک دیکامپایل که من برای آن کامپایل شدهام، خیلی
183
00:07:33,190 –> 00:07:36,610
زود به وجود آمد
184
00:07:36,610 –> 00:07:38,440
، اکنون به آرامی حفظ شده است، زیرا هیچ
185
00:07:38,440 –> 00:07:41,020
ویرایش جدیدی از پایتون وجود ندارد – و
186
00:07:41,020 –> 00:07:43,570
فقط برای پایتون کار میکند – این یک
187
00:07:43,570 –> 00:07:46,410
تقلید تقریباً کامل از پیادهسازی مجدد بایت کد است
188
00:07:46,410 –> 00:07:49,150
.
189
00:07:49,150 –> 00:07:52,270
بازگرداندن بایت کد به پایتون من شش
190
00:07:52,270 –> 00:07:56,590
کار روی پایتون 1.3 – 3.7 کامپایل کردهام،
191
00:07:56,590 –> 00:07:59,260
مشکلات زیادی دارد زیرا برخی از این
192
00:07:59,260 –> 00:08:01,780
نسخههای پایتون
193
00:08:01,780 –> 00:08:04,300
هر روز بهروزرسانی میشوند و کدهای بایت
194
00:08:04,300 –> 00:08:06,130
همیشه با این سه
195
00:08:06,130 –> 00:08:08,770
نسخه با نسخه سه تغییر میکنند. پایتون،
196
00:08:08,770 –> 00:08:10,540
جانشین معنوی کامپایل است –
197
00:08:10,540 –> 00:08:11,830
توسط یک شخص یا
198
00:08:11,830 –> 00:08:13,650
چیزی شبیه به آن نوشته
199
00:08:13,650 –> 00:08:16,590
نشده است، همچنین decompile 3 نیز وجود دارد که
200
00:08:16,590 –> 00:08:18,920
توسط همان شخص uncompelled 6 ساخته شده است که
201
00:08:18,920 –> 00:08:22,650
پایتون 3.7 را هدف قرار داده است، فقط آندری
202
00:08:22,650 –> 00:08:24,060
آن را پیادهسازی کرده است تا امیدوارم از
203
00:08:24,060 –> 00:08:26,700
باگهای طولانی مدت و موجود جلوگیری کند. مشکلاتی
204
00:08:26,700 –> 00:08:28,260
که برای مدت طولانی
205
00:08:28,260 –> 00:08:31,380
وجود داشته است، untie C 3 است که حفظ
206
00:08:31,380 –> 00:08:34,020
نشده است، این واقعاً فقط برای Python 3.2 خوب بود
207
00:08:34,020 –> 00:08:36,600
و سپس یکی دیگر از نکات، untie C است.
208
00:08:36,600 –> 00:08:39,600
3 امتیاز 37 که یک انشعابات PI C
209
00:08:39,600 –> 00:08:43,470
3 خود برای پایتون 3.7 است فقط در اینجا متوجه خواهید شد
210
00:08:43,470 –> 00:08:45,330
که تعداد زیادی از آنها فورک های فورک هستند
211
00:08:45,330 –> 00:08:48,540
و اکوسیستم برای این کار به نوعی
212
00:08:48,540 –> 00:08:51,870
در اطراف پخش شده است اگر در این نقطه زمانی که
213
00:08:51,870 –> 00:08:54,360
من به دنبال آن بودم. چگونه می توان این کار را انجام داد، اگر
214
00:08:54,360 –> 00:08:58,020
215
00:08:58,020 –> 00:08:59,730
هر پیوندی که در آن وجود دارد، اکنون
216
00:08:59,730 –> 00:09:03,110
به
217
00:09:03,810 –> 00:09:06,810
218
00:09:06,810 –> 00:09:09,089
رنگ بنفش درآمده
219
00:09:09,089 –> 00:09:12,749
220
00:09:12,749 –> 00:09:15,870
است، چگونه این کار را انجام دهیم. -in disassembler
221
00:09:15,870 –> 00:09:17,579
exodus که جایگزینی برای آن
222
00:09:17,579 –> 00:09:19,439
توسط شخصی است که در کامپایل 6 ساخته است
223
00:09:19,439 –> 00:09:23,100
و سپس x ASM که
224
00:09:23,100 –> 00:09:26,879
مکمل exodus است که پایتون را
225
00:09:26,879 –> 00:09:31,370
مونتاژ می کند این اسمبلی برای پایتون 3.6 کار نمی کند
226
00:09:31,370 –> 00:09:34,050
اما از دو ماه پیش پشتیبانی می کند. برای
227
00:09:34,050 –> 00:09:37,050
پایتون 3 امتیاز 6 7 و 8 اضافه شده است،
228
00:09:37,050 –> 00:09:39,329
اما هنوز به پیپ فشار داده نشده است، اما
229
00:09:39,329 –> 00:09:44,249
باید از github من
230
00:09:44,249 –> 00:09:47,790
کامپایل 6 2 و دیکامپایل 3 را بگیرید، اینها از نظر
231
00:09:47,790 –> 00:09:49,139
عملکرد یکسان هستند و
232
00:09:49,139 –> 00:09:51,420
api های بسیار مشابهی دارند و مفیدترین آنها هستند. از
233
00:09:51,420 –> 00:09:53,970
ابزارهای CLI شما باید از همان
234
00:09:53,970 –> 00:09:55,499
نسخه کد پایتون استفاده کنید که میخواهید
235
00:09:55,499 –> 00:09:57,930
کامپایل شود، زیرا کدهای عملیاتی را
236
00:09:57,930 –> 00:10:00,740
از پیادهسازی در حال اجرا
237
00:10:00,740 –> 00:10:02,850
شما بیرون میکشد و باز هم من Kepala را به یک
238
00:10:02,850 –> 00:10:04,499
محدودیت تقریباً کامل تبدیل میکند،
239
00:10:04,499 –> 00:10:06,839
زیرا حفظ نمیشود پایتون 3
240
00:10:06,839 –> 00:10:08,550
کار کردن سختتر است. با توجه به اینکه
241
00:10:08,550 –> 00:10:09,660
تغییرات زیادی در هر
242
00:10:09,660 –> 00:10:13,139
نسخه ایجاد می شود و بزرگترین
243
00:10:13,139 –> 00:10:14,939
مشکلی که در کامپایل داشتم این بود که
244
00:10:14,939 –> 00:10:17,339
خروجی باینری وجود دارد به این معنی که یا به طور کامل
245
00:10:17,339 –> 00:10:19,439
کامپایل می شود یا اصلاً کامپایل نمی شود،
246
00:10:19,439 –> 00:10:21,959
شما کامپایل جزئی ندارید.
247
00:10:21,959 –> 00:10:24,360
در این مرحله از زمان،
248
00:10:24,360 –> 00:10:26,370
تقریباً استاندارد واقعی برای کامپایل برای
249
00:10:26,370 –> 00:10:28,620
کامپایل D است
250
00:10:28,620 –> 00:10:31,220
251
00:10:33,620 –> 00:10:36,860
، نه اینطور نیست، زیرا بایت کد بالا می رود،
252
00:10:36,860 –> 00:10:40,550
بنابراین سؤال این بود که آیا بایت کد PI C
253
00:10:40,550 –> 00:10:41,570
بین
254
00:10:41,570 –> 00:10:43,310
سیستم عامل های مختلف مانند ویندوز یا مک
255
00:10:43,310 –> 00:10:45,560
و پاسخ منفی
256
00:10:45,560 –> 00:10:50,270
است زیرا بایت کد روی بومی به عنوان یک
257
00:10:50,270 –> 00:10:52,160
زبان اصلی اجرا می شود، هنوز هم توسط
258
00:10:52,160 –> 00:10:54,020
مفسر پایتون تفسیر می شود، فقط
259
00:10:54,020 –> 00:10:59,630
در کارهای کامپایل شده کمی کارآمدتر است، مانند
260
00:10:59,630 –> 00:11:01,250
Pilar آن را می شناسید. خیلی جالب است
261
00:11:01,250 –> 00:11:03,530
هر چیز دیگری به صورت خط به خط به بایت کد نگاه می
262
00:11:03,530 –> 00:11:06,620
کند و یک
263
00:11:06,620 –> 00:11:09,800
تابع یا کد از
264
00:11:09,800 –> 00:11:11,810
آن را فراخوانی می کند و مانند کامپایلر کار می کند،
265
00:11:11,810 –> 00:11:16,670
در حالی که چیزهایی را کاهش می دهد که من در واقع
266
00:11:16,670 –> 00:11:18,380
این را از انتهای کامپایل readme می خوانم
267
00:11:18,380 –> 00:11:22,190
زیرا این کار را انجام می دهد. کمی
268
00:11:22,190 –> 00:11:25,180
انصاف را رعایت کنید و توجه داشته باشید که اینجا کمی به
269
00:11:25,180 –> 00:11:29,330
خود تبریک می گویم، اما درست است
270
00:11:29,330 –> 00:11:31,520
که من از فایلی استفاده می کنم.
271
00:11:31,520 –> 00:11:33,350
272
00:11:33,350 –> 00:11:35,210
273
00:11:35,210 –> 00:11:37,070
274
00:11:37,070 –> 00:11:38,750
از یک درخت نحو انتزاعی
275
00:11:38,750 –> 00:11:41,870
در پایتون، بنابراین ما واقعاً میتوانیم
276
00:11:41,870 –> 00:11:43,190
آنچه را که در حال انجام است بهعنوان
277
00:11:43,190 –> 00:11:46,580
بخشهایی از بایت کد پایتون طبقهبندی کرده و بفهمیم، بنابراین
278
00:11:46,580 –> 00:11:48,290
به آن بهعنوان بخشهایی به جای
279
00:11:48,290 –> 00:11:49,850
خطوط منفرد یا
280
00:11:49,850 –> 00:11:51,380
دستورالعملهای فردی به آن نگاه میکند تا امیدواریم
281
00:11:51,380 –> 00:11:52,820
ایده بهتری از آنچه در منطق اتفاق میافتد را درک کنیم.
282
00:11:52,820 –> 00:11:56,120
جریان ها و این قبیل ساخت و
283
00:11:56,120 –> 00:11:57,020
سازها چیز دیگری است که ما را
284
00:11:57,020 –> 00:11:59,450
از سایر سایت ها در بایت کد C پایتون
285
00:11:59,450 –> 00:12:01,820
286
00:12:01,820 –> 00:12:03,260
متمایز می کند. قطعاتی از کد منبع
287
00:12:03,260 –> 00:12:04,880
و دادن اطلاعات کد منبع
288
00:12:04,880 –> 00:12:07,010
در اطراف یک آفست کد داده شده که من همین
289
00:12:07,010 –> 00:12:09,650
الان پوشش دادم تجزیه قطعه پایتون D
290
00:12:09,650 –> 00:12:11,690
با توجه به افست دستورالعمل برای
291
00:12:11,690 –> 00:12:13,280
نمایش ردپای پشته مفید است و می تواند
292
00:12:13,280 –> 00:12:14,720
در هر برنامه ای که می خواهد
293
00:12:14,720 –> 00:12:16,340
مکان را در موارد بیشتری نشان دهد گنجانده شود. جزئیات بیشتر
294
00:12:16,340 –> 00:12:18,350
از یک شماره خط در زمان اجرا، بنابراین وقتی
295
00:12:18,350 –> 00:12:19,580
یک ردیابی پشته دریافت میکنید، به نوعی
296
00:12:19,580 –> 00:12:21,050
همان کار را انجام میدهد و میداند پشته
297
00:12:21,050 –> 00:12:22,760
چگونه به نظر میرسد و در کجا اجرا شده است، به
298
00:12:22,760 –> 00:12:24,440
شما میدهد در خطای
299
00:12:24,440 –> 00:12:27,280
این خط،
300
00:12:28,610 –> 00:12:30,890
دیباگرهای خود نیز، زمینه بیشتری را به شما میدهد. از آن استفاده کنید
301
00:12:30,890 –> 00:12:34,100
که تعدادی کامپایل و کامپایل D وجود داشت و هنوز وجود دارد
302
00:12:34,100 –> 00:12:36,950
و به همین ترتیب Forks
303
00:12:36,950 –> 00:12:38,630
در اطراف تقریباً همه آنها از
304
00:12:38,630 –> 00:12:40,310
یک پایگاه کد می آیند و تقریباً همه آنها در
305
00:12:40,310 –> 00:12:42,830
واقع نگهداری نمی شوند این یک
306
00:12:42,830 –> 00:12:45,500
مشکل بزرگ بود و او همه این فورک ها را گرفت. و
307
00:12:45,500 –> 00:12:46,880
سعی کرد همه آنها را در یک پروژه بیاورد
308
00:12:46,880 –> 00:12:49,100
و آن را به سمت جلو حرکت دهد، به همین دلیل
309
00:12:49,100 –> 00:12:50,690
است که بیشترین سازگاری را دارد و
310
00:12:50,690 –> 00:12:52,910
استانداردهای فعال زیبایی از یک
311
00:12:52,910 –> 00:12:57,370
نقطه سه 23.7 پلاس
312
00:12:58,560 –> 00:12:59,970
کار می کند، بنابراین کمی در مورد
313
00:12:59,970 –> 00:13:02,069
کامپایل خانگی و اینکه چرا آنقدر قابل توجه است
314
00:13:02,069 –> 00:13:05,670
و کمی بیشتر در مورد
315
00:13:05,670 –> 00:13:08,339
نسخه های مدرنی که با
316
00:13:08,339 –> 00:13:11,970
Exodus و X اسمبلی کار می کنند،
317
00:13:11,970 –> 00:13:13,649
آنها با برخی از ویژگی های جدیدتر مانند
318
00:13:13,649 –> 00:13:15,149
حاشیه نویسی و چیزهایی که واقعاً
319
00:13:15,149 –> 00:13:17,160
جدید هستند و ندارند مشکل دارند.
320
00:13:17,160 –> 00:13:19,410
اگر
321
00:13:19,410 –> 00:13:21,660
بایت کد محبوبی است که استفاده می شود، به همان اندازه اهمیت دارد و استفاده نمی شود،
322
00:13:21,660 –> 00:13:24,480
برای اجرای
323
00:13:24,480 –> 00:13:26,339
معکوس آن در مقابل چیزی مانند
324
00:13:26,339 –> 00:13:30,120
حاشیه نویسی که به ندرت استفاده می شود،
325
00:13:30,120 –> 00:13:32,759
326
00:13:32,759 –> 00:13:36,059
اولویت دارد. Verify سپس آن را از طریق مفسر اجرا می کند
327
00:13:36,059 –> 00:13:37,709
تا مطمئن
328
00:13:37,709 –> 00:13:40,499
شود که گزینه های o خروجی شما منطقی است
329
00:13:40,499 –> 00:13:43,170
و در آخرین موقعیت
330
00:13:43,170 –> 00:13:47,579
آرگومان مسیری است به باینری کامپایل شده، بنابراین با
331
00:13:47,579 –> 00:13:49,889
استخراج exe، من در واقع
332
00:13:49,889 –> 00:13:53,100
برخی از موارد زنده را بدون
333
00:13:53,100 –> 00:13:55,829
قسمت زنده دارم. با استفاده از یک سینما،
334
00:13:55,829 –> 00:13:58,649
بنابراین، کامپایل یا استخراج
335
00:13:58,649 –> 00:14:00,959
فایل اجرایی
336
00:14:00,959 –> 00:14:02,579
همانطور که در اینجا خواهید دید، این استفاده از
337
00:14:02,579 –> 00:14:04,649
سینمایی است که من واقعاً دوست دارم، نمایش
338
00:14:04,649 –> 00:14:06,269
زنده را از دموهای زنده حذف می کند، اما می دهد. شما هم
339
00:14:06,269 –> 00:14:09,839
همین نوع تجربه را دارید که
340
00:14:09,839 –> 00:14:13,439
اساساً استفاده از Python exe unpacker است که
341
00:14:13,439 –> 00:14:17,699
با نصب کننده PI به exe و PI کار می کند و
342
00:14:17,699 –> 00:14:20,939
هر دو فایل را از
343
00:14:20,939 –> 00:14:23,279
آن جدا می کند و فایل های PI C را
344
00:14:23,279 –> 00:14:28,550
در داخل آن به شما می دهد و شما اینجا را ببینید
345
00:14:28,750 –> 00:14:31,000
که من جذب کننده فروشنده کاج را
346
00:14:31,000 –> 00:14:36,250
روی باینری اجرا می کنم که پردازش می کند، نشان می دهد که
347
00:14:36,250 –> 00:14:38,529
نسخه 2.1 جامد کاج یا بالاتر
348
00:14:38,529 –> 00:14:43,329
از نسخه 3.7 پایتون است.
349
00:14:43,329 –> 00:14:46,269
350
00:14:46,269 –> 00:14:48,490
351
00:14:48,490 –> 00:14:50,699
قبلاً اشاره کردم که همه
352
00:14:50,699 –> 00:14:52,839
کتابخانهها و اولین کد
353
00:14:52,839 –> 00:14:55,079
354
00:14:56,240 –> 00:14:58,250
شما را در خود دارد، در اینجا خواهید دید که من میخواهم
355
00:14:58,250 –> 00:15:00,380
آنچه را که در آنجا وجود دارد لیست کنم، یک پای نقطهای base64
356
00:15:00,380 –> 00:15:04,320
در آنجا وجود دارد که در آنجا بستهبندی شده است
357
00:15:04,320 –> 00:15:06,360
و من یک هگز را باز میکنم.
358
00:15:06,360 –> 00:15:09,509
بایت کد
359
00:15:09,509 –> 00:15:14,670
در اینجا بسیار مهم است Pine
360
00:15:14,670 –> 00:15:16,680
Staller این چیز عجیب را دارد که دوست دارد
361
00:15:16,680 –> 00:15:20,009
مقدار جادویی فایل PI C را
362
00:15:20,009 –> 00:15:22,199
وقتی که در فایل Excute گنجانده می شود
363
00:15:22,199 –> 00:15:24,569
مخدوش کند، مطمئن نیستم چرا من نمی دانم. مطمئن باشید
364
00:15:24,569 –> 00:15:29,579
که چگونه حتی کار می کند اما
365
00:15:29,579 –> 00:15:32,940
به موقعیت آدرس e 300
366
00:15:32,940 –> 00:15:34,399
[Music
367
00:15:34,399 –> 00:15:40,019
] یا کد هگز دودویی توجه داشته باشید، هر چه
368
00:15:40,019 –> 00:15:45,540
متأسفانه متوجه شوید که حدس بزنید
369
00:15:45,540 –> 00:15:49,410
اینها هشت بایت هستند
370
00:15:49,410 –> 00:15:52,319
و خواهید دید که اساساً در جایی که
371
00:15:52,319 –> 00:15:54,959
مقادیر با هم جمع نمی شوند، ما فقط آن را می گیرم،
372
00:15:54,959 –> 00:15:57,569
فایل PI C از پایه
373
00:15:57,569 –> 00:16:06,149
است که در اینجا از تراکتور خورشیدی کاج است،
374
00:16:06,149 –> 00:16:07,799
از همان نسخه پایتون به عنوان کد هدف
375
00:16:07,799 –> 00:16:10,109
استفاده می کند که در بسته بندی ACN که
376
00:16:10,109 –> 00:16:13,199
پایتون 3.7 است دیدیم و من
377
00:16:13,199 –> 00:16:16,019
استخراج کننده نصب کننده PI را با آن اجرا کردم. 3.7 بنابراین مقدار جادویی
378
00:16:16,019 –> 00:16:19,259
باید کاملاً با همه چیز
379
00:16:19,259 –> 00:16:23,129
تا e 300 و غیره مطابقت داشته باشد و بنابراین اساساً
380
00:16:23,129 –> 00:16:25,139
من میروم و آنها را با
381
00:16:25,139 –> 00:16:29,220
ویرایش اصلی واقعاً هگزا انجام میدهم سپس آن را
382
00:16:29,220 –> 00:16:31,939
ذخیره میکنم
383
00:16:33,390 –> 00:16:35,670
و زیر مرحله بعدی حرکت میکنم.
384
00:16:35,670 –> 00:16:37,829
جادویی که واقعاً در یک فایل PI C
385
00:16:37,829 –> 00:16:40,410
وجود دارد کمی قدیمی است زیرا پایتون 3
386
00:16:40,410 –> 00:16:42,209
387
00:16:42,209 –> 00:16:45,089
قبلاً چندین بار نحوه کار جادو را تغییر داده است اما تئوری
388
00:16:45,089 –> 00:16:47,310
هنوز یکسان است و راهی برای
389
00:16:47,310 –> 00:16:49,230
شناسایی نسخه بایت کدی است
390
00:16:49,230 –> 00:16:51,990
که اجرا می شود یا آن. شما باید در برابر
391
00:16:51,990 –> 00:16:54,690
آن چهار ب اجرا کنید yte گاهی اوقات مهر زمانی
392
00:16:54,690 –> 00:16:56,730
برای نشان دادن آخرین تاریخ اصلاح و یک
393
00:16:56,730 –> 00:16:59,010
شی کد مارشال به این معنی که این
394
00:16:59,010 –> 00:17:02,720
اشیاء کد بسته بندی شده در فایل است،
395
00:17:05,780 –> 00:17:08,480
بنابراین یک نسخه نمایشی دیگر از کار دکامپایل داشته باشید،
396
00:17:08,480 –> 00:17:10,609
من سعی کردم از مشکلات فنی جلوگ