Python - Chương 01: Hành trang cho hacker

Chào các bạn, mình sẽ bắt đầu giới thiệu cho các bạn về ngôn ngữ rất được mọi người ưa chuộng, đặc biệt là giới hacker - đó là ngôn ngữ Python. Đây là một ngôn ngữ lập trình rất dễ học đối với những người mới bắt đầu tập làm quen lập trình và cũng cực kỳ mạnh để phát triển các công cụ về hacking hoặc làm về webmobile. Mình sẽ có sử dụng nguồn tham khảo từ cuốn sách Hacking with Python: The Ultimate Beginner’s Guide của tác giả Steve Tale và cuốn Python Tutorial: Simply Easy Learning của tác giả Tutorial Point.





Python là gì?
Python được coi là một ngôn ngữ lập trình mã nguồn mở, bạn có thể tải xuống miễn phí từ website python.org. Ngôn ngữ cấp cao này đã có từ cuối những năm 80, nhưng chắc chắn vẫn tồn tại qua thời gian thử nghiệm - ngày nay nó vẫn được sử dụng để tạo GUI (Graphic User Interface), ứng dụng web, trò chơi và quan trọng hơn là các công cụ về hacking bao gồm khai thác và giảm thiểu xâm nhập.

Nếu bạn đã được học một ngôn ngữ lập trình nào đó và chuyển sang ngôn ngữ này, mình chắc rằng bạn sẽ có thể dễ dàng học Python nhờ cú pháp rất dễ đọc của nó. Hầu hết các lệnh sử dụng các câu tiếng Anh thông thường sẽ cho phép bạn hiểu ngay mục đích của chúng ngay cả khi đây là lần đầu tiên bạn gặp ngôn ngữ này. Các đoạn code Python cũng ngắn hơn và đơn giản hơn nhiều so với các ngôn ngữ cấp cao khác như Java và đi kèm với một thư viện và các tính năng đã được tích hợp sẵn, cũng như truy cập vào các modules và thư viện của bên thứ ba. Các thư viện tích hợp mạnh mẽ và sự đa dạng của các tài nguyên được biên soạn bởi những người dùng khác làm cho nó trở thành một trong những ngôn ngữ lập trình yêu thích của hacker.


Python rất được các hacker ưa chuộng


Dưới đây là một ví dụ: Nếu bạn muốn thực hiện lệnh print cổ điển để đưa kết quả ra màn hình là "Hello World!" bằng cách sử dụng Java, bạn sẽ phải gõ như sau:
class A {
     public static void main(String args[]){
        System.out.println("Hello World");
     }
}
Tuy nhiên, đối với Python thì bạn chỉ cần gõ 1 dòng lệnh duy nhất:
print("Hello, World!")
Tại thời điểm này, bạn sẽ có ý tưởng rằng một đoạn code hacking hoàn chỉnh sẽ đơn giản hơn và ngắn hơn bằng Python, so với các ngôn ngữ cấp cao khác thường chỉ được sử dụng để phát triển phần mềm.

Nếu bạn là người chưa biết gì về lập trình, bạn sẽ thấy Python tương đối dễ học, nhờ các đoạn code và cú pháp đơn giản hơn. Bạn cũng sẽ có thể chạy các đoạn code của mình trên các loại thiết bị và hệ điều hành khác nhau, chẳng hạn như Android, Windows, LinuxMac OS. Nếu bạn quan tâm đến việc nhảy ngay vào hacking, bạn chắc chắn sẽ có niềm vui bất tận khi khám phá những gì bạn có thể thao tác với các chương trình của riêng bạn - Python không chỉ cho phép bạn khai thác và thao tác với máy tính xách tay, điện thoại thông minh và máy tính để bàn mà còn cho phép bạn chạy các chương trình của mình trên các vi điều khiển có trong đồ chơi, điều khiển từ xa, thiết bị và hầu như mọi thiết bị có một máy tính trong đó.


Bắt đầu với Python
Nếu bạn đang sử dụng một hệ điều hành Linux hoặc UNIX, có lẽ bạn đã cài đặt Python. Một số người dùng Windows, đặc biệt là các bạn sử dụng máy tính HP, cũng có thể cài đặt nó trong máy tính của họ. Tuy nhiên, nếu bạn cần cài đặt mới gói, bạn có thể tải xuống từ www.python.org.

Thông thường, bạn sẽ muốn có phiên bản mới nhất là version 3, nhưng bạn cũng có thể muốn có phiên bản Python 2 mới nhất - phiên bản 2.7.11 vì nó sẽ tương thích hơn với các dự án hacking mà bạn đang chuẩn bị phát triển. Mặc dù Python 3 có thể là tương lai của ngôn ngữ lập trình này, một số yếu tố như khả năng tương thích với máy tính của bạn hoặc sử dụng dịch vụ của bên thứ ba có thể khiến bạn tải xuống Python 2 thay thế.


Cài đặt trong Windows
Sau khi bạn đã tải xuống gói cài đặt từ website trang chủ của Python, hãy giải nén nó và chạy tập tin .exe để tiến hành thiết lập. Bạn sẽ thấy phần mềm cài đặt sẽ gợi ý 2 cách cài đặt: Install NowCustomize Installation. Mình khuyên bạn nên chọn Customize Installation để dễ dàng tuỳ chỉnh theo ý muốn của mình. Trước khí nhấn bạn nên để ý dòng dưới có ghi là Add Python X.X to PATH, các bạn nên đánh dấu vào vì nó sẽ tự động cài đặt biến môi trường. Sau khi nhấn Customize Installation, bạn sẽ thấy các tuỳ chọn như documentation, pip, IDLE,... khi cài đặt nó sẽ thêm vào các chức năng đó. Ngoài ra bạn cũng có thể chọn đường dẫn dưới mục Customize install location và chọn đường dẫn cài đặt phù hợp. Sau khi cài đặt xong, bạn ra ngoài màn hình Desktop và chọn vào thanh Start để nhấn vào chạy tập tin IDLE (Python X.X) để tiến hành chạy Python Shell (cũng là một dạng CMD của Windows). Bạn sẽ chạy các đoạn code của Python thông qua dấu >>>, bạn cũng có thể kiểm tra phiên bản Python bạn đang sử dụng bằng câu lệnh dưới đây:
python --version



Cài đặt trong MAC OS
Bạn có thể lên trang chủ của Python để tải về hoặc bạn có thể sử dụng Homebrew để lấy gói cài đặt về. Nếu bạn chưa cài đặt Homebrew, hãy mở cửa sổ terminal (hoặc gõ tổ hợp phím Command + space để khởi chạy tìm kiếm Spotlight, sau đó gõ tìm kiếm là với từ khoá là terminal) và nhập lệnh này:
$ /usr/bin/ruby -e 
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sau khi Homebrew được cài đặt, nó sẽ nhắc nhở bạn về cách nó sẽ tiến hành cài đặt. Nhấn Enter và sau đó cung cấp mật khẩu người dùng của bạn để tiếp tục. Sau khi cài đặt, giờ đây bạn có thể sử dụng các câu lệnh brew từ terminal để cài đặt các gói Python cho MAC OS.

Để cài đặt gói Python, hãy mở terminal mới và nhập:
brew install python3



Cài đặt trong Linux
Nếu hệ điều hành của bạn là GNU / Linux, bạn có thể sử dụng hệ điều hành Ubuntu hoặc Debian để cài đặt Python. Để làm điều đó, chỉ cần nhập vào lệnh này:
sudo apt-get update && sudo apt-get install python3
Sau khi bạn cài đặt xong chương trình, hãy chạy nó bằng cách gõ vào python trên Terminal.


Tương tác với ngôn ngữ Python
Bây giờ bạn đã cài đặt Python, điều tiếp theo bạn cần làm là tìm hiểu cách bạn có thể sử dụng nó để khám phá các tính năng hoặc để kiểm tra các đoạn code. Bạn có thể sử dụng Python bằng chế độ script nếu bạn muốn xem toàn bộ tập tin hoặc ứng dụng được diễn giải như thế nào.

Để tương tác bằng Python, bạn có thể sử dụng IDLE (Integrated Development Environment) và nó sẽ trình bày dưới dạng màn hình DOS.


Tương tác thông qua Command Prompt
Ở hệ điều hành Windows thì chúng ta có CMD hoặc là Terminal nếu như đó là LinuxMacOS. Với công cụ này, bạn sẽ thấy cách mà các toán tử Python hoạt động dựa trên mỗi câu lệnh bạn viết.

Đây là cách rất được nhiều người ưa chuông bởi vì dễ dàng tương tác với ngôn ngữ lập trình, ngoài ra nó còn cho phép chúng ta khám nhiều tính năng trong Python.

Để khám phá cách mà các toán tử Python hoạt động như thế nào, chúng ta hãy cùng xem cách mà câu lệnh print hoạt động trong Python.
  • Kéo lên để thấy dòng lệnh Python
  • Một khi bạn thấy dấu >>> này, bạn gõ lệnh print("Python is for hacking.")
  • Nhấn Enter để kết thúc câu lệnh. Ngay sau đó, Python sẽ hiển thị kết quả màn hình là Python is for hacking.
Điều gì sẽ xảy ra nếu bạn làm điều gì đó sai với câu lệnh của bạn? Nếu bạn gặp phải lỗi cú pháp, ví dụ như câu lệnh chưa hoàn thành hoặc thiếu dấu ; chẳng hạn, bạn sẽ được hiển thị thông báo lỗi trông giống như thế này:
Syntax error: invalid syntax


Cách để thoát Python
Nếu bạn muốn thoát cửa sổ lập trình Python, bạn có thể sử dụng một trong những cách dưới đây:
  • Gõ tổ hợp phím Ctrl + Z và nhấn Enter.
  • Gõ vào quit().
  • Gõ vào exit().


Tương tác thông qua IDLE
Khi bạn đang sử dụng ngôn ngữ lập trình, chẳng hạn như Python, bạn sẽ cần phát triển các đoạn code của mình bằng IDE. IDE là một ứng dụng sẽ cung cấp cho bạn tất cả các công cụ mà bạn cần để phát triển phần mềm. Thông thường, các công cụ này là trình soạn thảo văn bản sẽ giúp bạn chỉnh sửa code mà bạn đang làm việc, debugger và một bộ công cụ để tự động hóa xây dựng mà bạn có thể sử dụng thông qua GUI (Graphical User Interface). IDE cũng sẽ cho phép bạn sử dụng tích hợp với các thư viện kiểm soát phiên bản mà bạn có thể lấy từ bên thứ ba, điều đó có nghĩa là bạn có thể lấy các đoạn code do người khác tạo và kết hợp với các đoạn code của riêng bạn để có kết quả mà bạn muốn.

Bạn có thể lấy IDE ưa thích của mình từ các website của bên thứ ba, chẳng hạn như các website giáo dục cho ngôn ngữ lập trình hoặc từ chính các nhà phát triển ngôn ngữ. Ví dụ, Python.org cung cấp cho bạn một IDE hoàn toàn miễn phí mà bạn có thể sử dụng làm điểm khởi đầu để phát triển, nếu bạn không chắc chắn IDE nào sẽ hoạt động tốt nhất với phong cách code của bạn.

Công cụ IDLE đi kèm với gói cài đặt của bạn đóng vai trò là nền tảng nơi bạn có thể code hiệu quả và tương tác với Python. Bạn có thể dễ dàng kéo lên IDLE bằng cách nhấp vào biểu tượng của nó trên màn hình nền, Start Menu hoặc định vị nó trên thư mục cài đặt.

IDLE cho phép bạn sử dụng các tính năng dưới đây:
  • Python Shell cho phép bạn chỉnh sủa màu cho cửa sổ lập trình và các đoạn code, báo lỗi hay cú pháp nếu bạn gõ sai.
  • Debugger kèm với các bước nhảy, xem giá trị các biến cục bộ và toàn cục, cho phép dừng lại tại các điểm dừng liên tục.
  • Trình duyệt và tuỳ chỉnh.
  • Trình soạn thảo văn bản cho phép bạn sử dụng nhiều cửa sổ, chỉnh sửa màu, tự động hoàn thành câu lệnh, xoá và các tính năng khác.


Sử dụng IDLE sẽ cho phép bạn sử dụng hai cửa sổ (ShellEditor) mà bạn có thể sử dụng đồng thời. Bạn cũng có thể có các cửa sổ outputmenu ngữ cảnh và tiêu đề khác nhau.


Các phần mềm bên thứ ba
Bạn có thể viết các đoạn code của mình trong các IDE hoặc trình soạn thảo văn bản khác ngoài IDLE, tùy thuộc vào nhu cầu của bạn. Không có IDE nào thực sự nổi bật hơn IDE nào nên các bạn có thể sử dụng phần mềm nào cũng được miễn là phần mềm bạn đang sử dụng giúp bạn viết các đoạn code thoải mái và đi kèm các highlight cho các dòng code sẽ giúp bạn hình dung chương trình của mình, điều đó giúp bạn dễ dàng phát triển các dự án hacking hơn.


PyCharm Educational Edition
Nếu bạn muốn tập trung vào việc học Python thay vì tập trung điều hướng các cửa sổ trình soạn thảo thì đây chắc chắn là phần mềm dành cho bạn. Bạn có thể lấy các đoạn code hiện có trong trình chỉnh sửa để tìm hiểu cách các chương trình được viết hoặc tìm hiểu bằng cách đọc các tài liệu hướng dẫn.

Bạn có thể tải về trình soạn thảo miễn phí này từ www.jetbrains.com.


Giao diện phần mềm PyCharm


Sublime Text
Sublime Text cho phép bạn sử dụng trình quản lý gói, phù hợp cho tất cả mọi người dùng phần mềm để viết chương trình. Nó cũng đi kèm với các tính năng như folding, ẩn các dòng code mà bạn không làm việc. Ngoài ra bạn có thể toàn quyền tùy biến Sublime Text thông qua việc thêm các plugin hoặc tạo các automation task bằng việc tùy biến các đoạn snippet. Sublime Text hỗ trợ nhiều tính năng hữu ích khi lập trình như: multiple selection, goto anything, command pallete,.... Sublime text không phải là môt phần mềm miễn phí nhưng đối với các lập trình viên thì phiên bản miễn phí đã có sẵn những tính năng cần thiết phục vụ cho việc lập trình rồi.

Giao diện phần mềm Sublime Text


Wing IDE
Wing IDE là một IDE Python mạnh mẽ với debugger nâng cao, trình soạn thảo với vi, emacs, visual studio, tự động hoàn thành, tự động chỉnh sửa, định nghĩa goto, tái sử dụng, tái cấu trúc, testing unit, code broswer, tìm kiếm đa tập tin, và nhiều hơn nữa. Wing IDE có thể gỡ lỗi các đoạn code được khởi chạy từ IDE hoặc điều khiển từ xa sang máy khác. Wing IDE hỗ trợ các chương trình chạy dưới các framework như Django, Zope, Plone, wxPython, PyQt, Blender, Maya, NUKE và nhiều framework của bên thứ ba khác. Phần mềm có bản miễn phí và có cả bản trả phí.


Giao diện phần mềm Wing IDE


VIM
Phần mềm miễn phí này sẽ cho phép bạn thực hiện nhiều tùy chỉnh, thật tuyệt nếu bạn là một lập trình viên có kinh nghiệm muốn làm việc bằng các cài đặt mà bạn cảm thấy thoải mái nhất. Một điểm cộng cho phần mềm này là nó có lịch sử sử dụng mở rộng, điều đó có nghĩa là bạn có một cộng đồng người dùng mà bạn có thể dễ dàng yêu cầu khi bạn cần một số trợ giúp.

Nếu bạn chưa quen với lập trình, khi bạn nhìn vào giao diện của phần mềm này bạn sẽ cảm thấy rất khó tiếp cận. Nhưng nếu bạn sử dụng thành thạo với nó thì bạn thực sự là một hacker với công cụ lập trình này. Bằng cách học cách viết các đoạn code thông qua hacking, bạn sẽ có thể nắm bắt tốt Python khi bạn trải nghiệm nó bằng các công cụ khác nhau đã được tạo bởi các hacker khác.


Giao diện phần mềm VIM


Coda
Phần mềm này đi kèm với bản dùng thử miễn phí trong một tuần và muốn sử dụng nữa phải trả phí 99$. Coda không phải là trình soạn thảo văn bản đi kèm với các tính năng như kết nối SSH, điều khiển code để tự động kết nối với hub và giao diện Terminal. Nếu bạn đang cố gắng phát triển một ứng dụng web cho các bản hack của mình, thì đây có lẽ là IDE sẽ hoạt động tốt nhất cho bạn.


Giao diện phần mềm Coda


Bây giờ bạn đã thiết lập điều kiện đầy đủ để lập trình, đã đến lúc bạn bắt đầu tìm hiểu về các khái niệm cơ bản của Python.



Tóm tắt
Trên đây mình đã giới thiệu sơ lược về ngôn ngữ Python cho các bạn có đam mê lập trình và đặc biệt là về mảng hacking. Ngoài ra, mình còn hướng dẫn cài đặt Python cho các hệ điều hành khác nhau và giới thiệu cho các bạn một số phần mềm lập trình cho Python. Cám ơn các bạn đã xem bài viết.
Next Post Previous Post
No Comment
Add Comment
comment url