Kỹ thuật đảo ngược phần mềm là một quá trình khôi phục thiết kế, yêu cầu kỹ thuật và chức năng của một sản phẩm từ phân tích mã của nó. Nó xây dựng một cơ sở dữ liệu chương trình và tạo ra thông tin từ nó. Mục đích của thiết kế ngược là tạo điều kiện thuận lợi cho công việc bảo trì bằng
Tuy nhiên, kỹ thuật đảo ngược sẽ là một quá trình mất nhiều thời gian và tẻ nhạt, do đó chúng tôi cố gắng làm cho nó thân thiện với người sử dụng nhất có thể. Siemens muốn giúp mọi người hiểu rõ hơn về những gì kỹ thuật đảo ngược có thể làm được và cách
Kỹ thuật đảo ngược thường là một thuật ngữ tổng hợp được sử dụng cho nhiều ứng dụng thiết kế và kỹ thuật. Nhưng hãy tin tưởng chúng tôi, có rất nhiều thứ khác trong danh mục này để sử dụng máy quét 3D, CMM di động và thiết bị theo dõi laser của chúng tôi. Ngoài […]
Một số lợi ích của kỹ thuật đảo ngược mang lại Dễ dàng thay thế các bộ phận đã cũ hoặc hỏng hóc trong một hệ thống động cơ lớn. Điều này, giúp các công ty tiết kiệm Kỹ thuật đảo ngược giúp cho các quá trình sản xuất diễn ra liên tục mà không bị đình trệ. Giúp lưu giữ lại thiết kế của các dòng sản
Kỹ thuật đảo ngược ngày càng được chú ý hơn với sự phổ biến ngày càng tăng của công nghệ in 3D. Điều này là do việc tái tạo một đối tượng hoặc thiết kế hiện có thể tiếp cận được thông qua in 3D so với các quy trình sản xuất khác, đặc biệt là với việc
Nền tảng Netflix đã đảo ngược tình trạng sụt giảm khách hàng đã ảnh hưởng đến cổ phiếu của họ trong năm nay và dự báo sẽ tăng trưởng nhiều hơn ở phía trước, trấn an nhà đầu tư Phố Wall khi họ chuẩn bị cung cấp một tùy chọn phát trực tuyến mới với quảng cáo.
bgld.
Khi lần đầu tiên nhìn vào những thứ này, bạn có thể nghĩ rằng có sự khác biệt lớn giữa chúng và có thể bạn đúng một trong số chúng có nghĩa là bảo vệ thông tin khỏi bị đánh cắp, thỏa hiệp, nhưng một cái khác có nghĩa là hack hoặc cố gắng hãy xem xét phần mềm nếu chúng ta có thể nói điều bài viết này, chúng ta có thể thử nhìn vấn đề này từ một góc độ khác - hai điều này có thể đi đôi với nhau như bình đẳng. Vì vậy, chúng ta hãy bắt bạn phải biết, bảo mật thông tin ở tất cả các khía cạnh liên quan đến việc xác định, đạt được và duy trì tính bảo mật, tính toàn vẹn, tính khả dụng, tính không từ chối, trách nhiệm giải trình và tính xác khác, thiết kế ngược là một quá trình khôi phục các nguyên tắc, ý tưởng, thuật toán của chương trình để nghiên cứu và hoặc tạo ra phần mềm tương tự. Chúng tôi có thể chia nó thành ba phần lớnThiết kế ngược phần mềmKỹ thuật đảo ngược phần cứngKỹ thuật đảo ngược xã hộiTất nhiên, không có viên đạn bạc. Ứng dụng của bạn không thể được bảo vệ hoàn toàn khỏi tất cả các lỗ hổng và phương pháp mà tin tặc sử dụng để đạt được thông tin đăng nhập mong nhiên, chúng ta có thể, hoặc tôi phải nói là phải tiến gần hơn đến bức tranh lý tưởng về các ứng dụng an toàn dịch vụ web, ứng dụng dành cho thiết bị di động, Và, đó là tất cả những gì bài viết này nói về. Tôi hy vọng sẽ viết nhiều hơn về chủ đề này trong tương vậy, theo quan điểm của tôi, nếu bạn muốn giỏi bảo mật thông tin và viết phần mềm an toàn, bạn cần phải giỏi kỹ thuật đảo bắt đầu, chúng ta sẽ bắt đầu với kỹ thuật đảo ngược và một ví dụ thực thuật đảo ngượcMột số công ty có thể đề nghị bạn thử hack hoặc nghiên cứu thuật toán của một ứng dụng thử nghiệm đơn giản; Tôi nghe nói rằng Kaspersky Lab đang làm điều những gì tôi liên quan, tôi nghĩ đây là một cách tiếp cận tốt vì bạn cần phải phân tích dấu hiệu của virus và thêm nó vào cơ sở dữ liệu của virus. Bằng cách đó, phần mềm chống vi-rút của bạn sẽ nhận ra những sinh vật điện tử độc ác nhỏ bé đó và loại bỏ những lĩnh vực khác, nơi bạn có thể sử dụng kiến thức về thiết kế ngược bao gồm phân tích phần mềm, định dạng tệp, trình điều khiển, nhiên, có rất nhiều phần mềm mà bạn có thể sử dụng trong công việc của mình tất cả phần mềm phụ thuộc vào hệ điều hành, mục tiêu, định dạng tệp và ngôn ngữ lập trình như PEiD , PE Explorer để tìm ra ngôn ngữ nào được sử dụng để viết chương trình, dotPeek hoặc NetReflector trình biên dịch ngược .NET, DJ Java Decompiler , IDA Pro trình tháo gỡ, OllyDBG trình gỡ lỗi cấp 3 và nhiều người xem cách chúng ta có thể sử dụng một số công cụ tôi sẽ cố gắng thực hiện nghiên cứu trên một chương trình thử nghiệm nhỏ và xem làm thế nào để tin tặc có thể vô hiệu hóa biện pháp bảo vệ. Bạn sẽ thấy hai cách tiếp cận bản vá và bộ tạo đây là giao diện của chương trình thử nghiệmPhương pháp tiếp cận đầu tiên - PATCHĐầu tiên, chúng ta hãy thử tìm hiểu ngôn ngữ lập trình nào được sử dụng để tạo chương trình này, tìm điểm nhập và xem chương trình có sử dụng bất kỳ biện pháp bảo vệ nào không. Chúng tôi sẽ sử dụng PeiD hoặc ExeInfo pe. Xem ảnh chụp màn hình bên dưới Chúng ta có thể thấy gì trên ảnh chụp màn hình đó? Điều đầu tiên là viết về Delphi. Bây giờ, bạn có thể sử dụng phương pháp hộp đen. Đầu tiên, hãy xem chương trình mà không thấy mã nguồn hoặc sử dụng trình tháo gỡ, Vì vậy, trong tình huống này, chúng tôi sẽ là một kỹ sư QA, chúng tôi sẽ nhập một số dữ liệu và chúng tôi sẽ quan sát cách chương trình xử lý dữ liệu thử nghiệm của chúng tôi. Vì vậy, chúng ta hãy làm điều đó. Mở chương trình thử nghiệm của chúng tôi và trước mặt chúng tôi, chúng tôi có thể thấy cửa sổ chính của chương trình. Hãy nhìn kỹ hơn. Chúng tôi thấy nút “ Dùng thử ” và hai trường văn bản, “ Tên ” và “Số sê-ri ”.Chỉ cần lưu ý một chút có hai loại số sê-ri tĩnh và sê-ri tĩnh hoặc “ Số sê-ri cứng ” được tạo bởi một lập trình viên / nhà phát triển và tồn tại dưới dạng một hằng số trong mã nguồn hoặc nó có thể là một mục nhập trong cơ sở dữ liệu hoặc thậm chí là một mục nhập trong sê-ri động ngược lại với số tĩnh. Các loại số sê-ri này dựa trên dữ liệu đầu vào tên người dùng, email, từ bí mật hoặc thứ gì đó khác. Nhân tiện, có thể không có bất kỳ trường văn bản nào và số sê-ri sẽ được tạo dựa trên thông tin hệ thống có thể là tên máy tính hoặc nó có thể là một thuật toán cụ thể. Quay lại chương trình của chúng tôi; chúng ta thấy hai trường văn bản cho tên và nối tiếp. Về thông tin này, tôi cho rằng số sê-ri của chúng tôi sẽ dựa trên tên. Hãy nhập một số dữ liệu. Như chúng ta đã nhận thấy, khi chúng ta cố gắng nhập số sê-ri, chúng ta không thể nhập bất kỳ ký hiệu nào ngoại trừ số. Bằng cách này, chúng ta có thể kết luận số sê-ri chỉ bao gồm các đó, nhấn nút “ Hãy thử ” và bạn sẽ thấy cửa sổ nhỏ với thông báo tiếp theo, “ Không phải vậy, hãy tiếp tục cố gắng… ” .Có một điều nhỏ mà chúng ta có thể nhận thấy nếu chúng ta nhập một tên dài và không nhập một số sê-ri; nhấn nút “ Dùng thử ” và chúng ta sẽ có thể thấy thông báo “ Này, bạn đã làm được ”. Hãy đi sâu vào. Mở OllyDBG và tải chương trình thử đầu với việc xem xét một số chuỗi văn bản mà chúng ta có thể thấy trong chương trình trước đó. Để làm điều đó, hãy sử dụng menu ngữ cảnh nhấp chuột phải của chuột và chọn Tìm kiếm -> Tất cả chuỗi văn bản được tham chiếu . Bạn sẽ thấy cửa sổ tiếp theo nàyTrong ảnh chụp màn hình, chúng ta có thể thấy một số chuỗi văn bản quen thuộc như “ Này, bạn đã làm được ” và “ Không phải vậy, hãy tiếp tục cố gắng… ”. Tôi phải lưu ý rằng đôi khi có thể có sự bảo vệ khỏi phân tích tham chiếu chuỗi và nếu thứ gì đó tương tự đang được sử dụng, bạn sẽ không thể xem tất cả hoặc một số chuỗi văn chọn chuỗi văn bản " Này, bạn đã làm xong " và nhấp đúp vào nó; chúng tôi sẽ xuất hiện ở một nơi mà nó được sử dụng như sauDòng được chọn cho chúng ta thấy rằng địa chỉ 42515C, nơi chứa chuỗi văn bản của chúng ta, sẽ chuyển đến thanh ghi EDX . Sau đó, một cái gì đó đang ghi vào thanh ghi EAX và gọi một hàm - CALL 00421ACC . Hãy xem đó là CALL 00421ACC và nhấn enter; bạn phải có thể nhìn thấy phần thân của hàm đó. Đây là một chức năng MessageBoxA điển hình WinAPI. Để quay lại CALL 00421ACC, chỉ cần nhấn dấu vậy, chúng ta có thể kết luận rằng một phần của mã tháo từ 004250AB địa chỉ để 004250BC địa chỉ gọi hàm được thể hiện cho chúng ta một hộp thông báo với "chúc mừng".Chúng ta hãy xem xét một chút cắn cao hơn từ CALL 00421ACC và xem các chuỗi văn bản, “ Đó không phải là nó, tiếp tục cố gắng ... ”, và là một phần của một mã tháo từ địa chỉ để các 004250A4 địa chỉ; nó hiển thị cho chúng tôi một hộp thông báo với thông báo cao hơn một chút, chúng ta có thể nhận thấy lệnh tiếp theo, JE SHORT 004250AB , đây là một câu lệnh if nếu bằng thì đi đâu đó. Trong trường hợp của chúng tôi, nó sẽ là địa chỉ 004250AB . Đây là nơi chúng tôi đặt mã chịu trách nhiệm cho tin nhắn chúc mừng. Tiến về phía trên lệnh JE SHORT 004250AB , chúng ta có thể thấy CMP EDI, ESI ; Nó là một lệnh so sánh. Nhưng, hãy để nó ngay bây giờ. Tại thời điểm này, chúng tôi cần vá chương trình thử nghiệm của mình và lưu nó. Để làm điều đó, hãy nhấp đúp vào JE SHORT 004250AB , và bạn sẽ thấy cửa sổ tiếp vào JMP 004250AB. Đây là lệnh nhảy vô điều kiện và bây giờ bạn có thể nhấn vào nút " Lắp ráp ". Bằng cách này, bất cứ điều gì chúng ta nhập vào trường văn bản " Tên ", chúng ta sẽ có thể thấy cửa sổ chúc nhiên, nếu chúng tôi đóng OllyDBG ngay bây giờ, chúng tôi sẽ mất các thay đổi của mình. Vì vậy, chúng ta cần phải cứu nhiên, để làm điều đó, chúng tôi có thể sử dụng một trong các trình chỉnh sửa HEX , nhưng tại sao? Chúng tôi có OllyDBG, vì vậy hãy sử dụng dụng menu ngữ cảnh, Sao chép vào tệp thực thi -> Tất cả sửa đổi và nhấn nút “ Sao chép ”. Xem cửa sổ tiếp theoMột lần nữa, hãy chuyển đến menu ngữ cảnh, nhấp vào “ Lưu tệp ” và chúng tôi đã hoàn pháp tiếp cận thứ hai - KEYGENTrước khi viết một chương trình keygen, chúng ta cần nghiên cứu và hiểu cách chương trình thử nghiệm của chúng ta tạo ra một số sê-ri dựa trên “ Tên ”. Hãy quay lại lệnh bao gồm, CMP EDI, ESI , nằm ở trên trên bước nhảy không điều kiện đã thay đổi, JMP 004250AB .Lệnh này so sánh hai số sê-ri, được tạo bởi chương trình và của chúng tôi. Nếu chúng ta xem xét kỹ hơn, chúng ta sẽ thấy một hàm CALL 004251A0 , tính toán số sê-ri. Làm thế nào chúng ta có thể chắc chắn về nó? Chà, chúng ta có thể kiểm tra điều này. Chúng ta có thể tạo một số điểm ngắt và đi vào bên trong hàm, quan sát các thanh ghi, Nhưng, điều này là không cần thiết. Sau khi CALL 004251A0, chúng ta thấy lệnh MOV EDI, EAX hầu như tất cả các hàm đều đẩy kết quả thực hiện vào thanh ghi EAX và sau đó là CMP EDI, ESI . Nhìn vào bên trong hàm CALL 004251A0 , chọn nó và nhấn phân tích nó. Tạo một điểm ngắt trên chức năng CALL 004251A0, chọn nó và nhấn F2. Sau đó, chạy chương trình thử nghiệm nhấn F9. Nhập tên và số sê-ri, nhấp vào nút “ Dùng thử ” và chúng tôi sẽ dừng chức năng của chúng ta nhìn vào cửa sổ đăng ký, chúng ta sẽ nhận thấy rằng thanh ghi EAX chứa tên của chúng ta và ví dụ ECX r chứa số sê-ri của chúng ta. Theo dõi mã tháo gỡ nhấn F7. Khi chúng ta vào hàm, chúng ta sẽ thấy lệnh PUSH EBX bạn có thể thấy phần đó trên ảnh chụp màn hình, trong khu vực đã chọn. Chúng tôi sẽ cố gắng phân tích phần đó của mã và viết một chương trình nhỏ để tạo khóa. Dưới đây, bạn có thể xem mô tả của tất cả các lệnh của chức năngPUSH EBX ;push EBX register into the stack save value, so after we can restore it MOV EBX,EAX ;move our name into EBX register EAX contains the name that we input CMP EBX,0 ;check if EBX = 0 if we did not input anything into name text field JE SHORT 004251BB ;if previous comparing is true then go to 004251BB address MOV EAX,1 ;push 1 into EAX register XOR ECX,ECX ;reset to zero ECX register MOV CL,BYTE PTR DS[EBX] ;kind of for loop push the first letter/symbol of our name into CL register CMP CL,0 ;check if we reach the end of the string CL != 0 JE SHORT 004251BB ;if so then leave our loop MUL ECX ;multiply EAX by ECX and save the result of it into EAX register INC EBX ;increment EBX by one the next letter/symbol of our name JMP SHORT 004251AF ;next iteration MOV CL,BYTE PTR DS[EBX], and so on AND EAX,0FFFFFFF ;once we are done with the last letter/symbol, JE SHORT 004251BB command occurs. In this place AND operation take a place. EAX contains calculated serial number, 0FFFFFFF hex number for 268435455 POP EBX ;restore EBX remember the first command PUSH EBX RETN ;exit from function and see next command after that MOV EDI, cùng, thanh ghi EAX sẽ chứa số sê-ri thực cho tên mà chúng ta nhập nghĩ rằng sẽ đủ để viết keygen. Bạn có thể tìm thấy mã của keygen và chính chương trình thử nghiệm trong kho lưu trữ Github của tôi có sẵn phiên bản Java và Delphi.Trong bài tiếp theo, chúng ta sẽ xem xét cách chúng ta có thể bảo vệ các ứng dụng của ơn bạn và chăm sóc! 16 hữu ích 0 bình luận xem chia sẻ
HomeỨNG DỤNGBạn đã thật sự hiểu rõ về kỹ thuật đảo ngược chưa ? Kỹ thuật đảo ngược là một quá trình thiết kế lại sản phẩm với các giải pháp đo lường 3D. Nó liên quan đến phân tích ngược và nghiên cứu một sản phẩm mục tiêu, để suy ra và thu được các yếu tố thiết kế như dòng quy trình, cấu trúc tổ chức, đặc điểm chức năng và thông số kỹ thuật của sản phẩm để sản xuất các sản phẩm tương tự. Kỹ thuật đảo ngược được sử dụng để phân tích phần cứng trong các lĩnh vực thương mại và quân sự. Mục đích chính là phân tích các nguyên tắc thiết kế trực tiếp từ sản phẩm hoàn chỉnh khi chúng ta không thể dễ dàng có được thông tin sản xuất cần thiết. Với sự phát triển ngày càng tăng của các cấp độ thiết kế sản xuất và sản phẩm, độ phức tạp và độ chính xác làm cho việc lập bản đồ ngược trở nên khó khăn hơn, đặc biệt là đối với các phần phức tạp với bề mặt cong. Do đó, ánh xạ thủ công và đảo ngược là cần thiết hoặc sản xuất một sản phẩm hoàn chỉnh là gần như không thể. Máy quét 3D cao cấp của Công ty ThinkSmart vượt qua tình trạng tiến thoái lưỡng nan của mô hình đảo ngược. Các máy quét 3D cao cấp công nghiệp của chúng tôi, như sê-ri PRINCE, HSCAN và TrackScan có thể lấy dữ liệu 3D thông qua phần mềm 3D chuyên nghiệp và có được chính xác các bản vẽ 3D của bề mặt cong, sườn, hốc, 1 Kiểm tra 3D bộ phận ô tô. Thật khó để kiểm tra các bộ phận khung gầm ô tô, bởi vì máy quét 3D Camera rất dễ phá hủy bề mặt và máy quét 3D cầm tay thông thường không thể đạt được yêu cầu chi tiết cao. Giải pháp. 2 Kỹ thuật đảo ngược nhanh rút ngắn chu kỳ R & D sản phẩm Phải mất hơn 2 năm cho thiết kế ghế xe hơi; kỹ thuật đảo ngược là một cách bình thường để phát triển thứ cấp. Nhưng đo lường tiếp xúc không thể có được dữ liệu 3D hoàn chỉnh của ghế xe hơi vì cấu trúc phức tạp và bề mặt mềm mại của nó. Giải pháp Áp lực lớn ngành ô tô ViệtNam, Công ty ThinkSmart Tiên Phong đưa công nghệ gia công quét 3D, in 3D SLA Cao Cấp vào quy trình sản xuất ô tô, tàu tại Việt Nam. *Liên hệ Công ty ThinkSmart để được tư vấn thêm về gói giải pháp công nghệ ☏ Hotline HCM 098 3553 768 & 0286 2715968 ⊙ Địa chỉ 35B đường số 10, Tăng Nhơn Phú, Quận 9, TP HCM. ☏ Hotline HN 036 549 8888 ⊙ Địa chỉ Số 10 ngõ 208/2, Phố Ngô Xuân Quảng, TT. Trâu Quỳ, H. Gia Lâm, Hà Nội. ☏ Hotline Cần Thơ 0787 896 032 ⊙ Địa chỉ Đường 8, KCN Trà Nóc, P. Phước Thới, Q. Ô Môn, Tp. Cần Thơ. ☏ Hotline Huế 0904 342 394 ⊙ Địa chỉ 79/107 Phùng Hưng, TP. Huế. ✎ Mail info Website
Reverse Engineering là gì? Reverse Engineering là gì? Là công nghệ kỹ thuật đảo ngược, tức là quá trình giải cấu trúc một đối tượng ví dụ như máy móc cơ khí thành từng phần để trích xuất thông tin thiết kế từ chúng và nghiên cứu chi tiết cách thức hoạt động của nó. Kỹ thuật đảo ngược được ứng dụng trong nhiều lĩnh vực bao gồm như điện tử, cơ khí, công nghệ thông tin, thiết kế, hóa học, sinh học, Mục đích và ứng dụng của kỹ thuật đảo ngược là gì? Mục đích của kỹ thuật đảo ngược là thông qua việc phân tích cấu trúc, chức năng và cơ chế hoạt động của một đối tượng để tìm ra các nguyên lý. Có nhiều lý do để thực hiện công nghệ này, nó có thể được sử dụng để tái tạo lại một đối tượng không còn nữa hoặc tạo ra đối tượng tương tự đã được cải tiến. Ứng dụng của công nghệ này trong một số lĩnh vực Trong CNTT. Giải quyết các vấn đề tương thích của phần cứng hoặc phần mềm giữa các hệ điều hành khác nhau. Trong phát triển phần mềm. Giúp phục hồi lại các thông tin bị mất theo thời gian có thể là thông tin thiết kế hay các cải tiến của nó. Trong nghiên cứu và phát triển sản phẩm. Các công ty có thể dùng kỹ thuật này để phân tích thiết kế của đối thủ cạnh tranh. Trong thiết bị sản xuất. Một bộ phận bị trục trặc hoặc hỏng hoàn toàn, kỹ thuật đảo ngược có thể giúp chỉ thay thế linh kiện đó mà không phải toàn bộ thiết bị. Trong điện tử. Giúp các công ty thiết kế lại các linh kiện điện tử đã cũ hoặc đã ngừng sản xuất như các bảng vi mạch hoặc các thẻ kết nối. Trong công nghiệp ô tô. Được sử dụng để tạo lại thiết kế của động cơ và các bộ phận thân ô tô cho các loại xe cũ và cổ điển. Quy trình của Reverse Engineering Mỗi một đối tượng khác nhau sẽ có quy trình kỹ thuật đảo ngược khác nhau. Tuy nhiên, dù là đối tượng nào thì đều sẽ có 3 bước chung dưới đây 1. Khai thác thông tin trong quy trình kỹ thuật đảo ngược Thông qua kỹ thuật này, một đối tượng sẽ được nghiên cứu và khai thác các thông tin về thiết kế để xem xét cách mà từng thành phần lắp ghép lại với nhau. Trong cơ khí, bước này thường sử dụng công nghệ quét 3D để thực hiện các phép đo. 2. Dựng mô hình 3D trong quy trình kỹ thuật đảo ngược thiết kế 3D Khi nói đến Reverse Engineering ở trong lĩnh vực thiết kế 3D, ta có thể dịch thuật ngữ này thành Thiết Kế Ngược. Công việc làm thiết kế ngược trong ngành 3D có thể được hình dung như sau Bạn có một mẫu vật, một sản phẩm hoặc một chi tiết máy móc nào đó ngoài thực tế và bạn cần thiết kế lại để tạo ra dữ liệu CAD của sản phẩm đó. Bạn sử dụng máy quét 3D 3D scanner để quét dữ liệu của chi tiết cần thiết kế ngược. Máy này sẽ giúp bạn thu thập dữ liệu của vật thể ở dạng đám mây điểm cloud point. Bạn sử dụng các phần mềm thiết kế chuyên dụng để dựng lại, tạo file CAD của chi tiết cần thiết kế ngược – dựa trên dữ liệu 3D dạng đám mây điểm đã thu thập được bằng máy quét 3D. 3. Kiểm tra lại trong quy trình kỹ thuật đảo ngược Thử nghiệm mô hình trong các tình huống khác nhau để đảm bảo nó đúng với mục đích ban đầu. Sau khi kết thúc quá trình kiểm tra, mô hình được đưa vào để xây dựng đối tượng mới. Một số lợi ích của kỹ thuật đảo ngược mang lại Dễ dàng thay thế các bộ phận đã cũ hoặc hỏng hóc trong một hệ thống động cơ lớn. Điều này, giúp các công ty tiết kiệm được chi phí để sửa chữa và bảo dưỡng động cơ. Kỹ thuật đảo ngược giúp cho các quá trình sản xuất diễn ra liên tục mà không bị đình trệ. Giúp lưu giữ lại thiết kế của các dòng sản phẩm lâu đời đã ngừng sản xuất. Và sửa chữa, thay thế linh kiện bị hỏng để chúng có thể hoạt động trở lại.
kỹ thuật đảo ngược