kỹ thuật đảo ngược
Để 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 tế. Kỹ thuật đảo ngược Mộ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 đó.
Hệ thống phân tích kỹ thuật: Xu hướng tăng có thể bị đảo ngược. Tín hiệu bán đã xuất hiện đồng loạt nên tình hình khá bi quan. Vì vậy, nhà đầu tư không nên đua lệnh giá cao để hạn chế rủi ro ngắn hạn và thua lỗ bất ngờ.
Ngày 14/10/2022 Trường TH Lê Văn Thọ tập huấn chuyên đề kĩ thuật "Lớp học đảo ngược". Báo cáo triển khai cô Nguyễn Thị Tuyết Trinh - Phó Hiệu trưởng
Không thể tránh 100% kỹ thuật đảo ngược của APK Android, nhưng bạn có thể sử dụng các cách này để tránh trích xuất thêm dữ liệu, như mã nguồn, tài sản tạo thành APK và tài nguyên của bạn: Sử dụng ProGuard để làm xáo trộn mã ứng dụng. Sử dụng NDK bằng C và C
Popword: Reverse EngineeringCó những phần mềm và dịch vụ yêu cầu khóa nối tiếp để sử dụng.Tin tặc tạo ra "Keygens" tạo nên các khóa nối tiếp này.Các khó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ự.
Hủy Hợp Đồng Vay Tiền Online. 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ẻ
6 bước đơn giản để bắt đầu lớp học đảo ngược Lớp học đảo ngược là một trong những xu hướng được nhắc đến nhiều nhất trong giáo dục ở những năm gần đây. Lớp học đảo ngược sẽ là một xu hướng lâu dài của giáo dục Việt Nam nói riêng và thế giới nói chung. Điều đó thật sự tuyệt vời, bởi vì nó mang lại rất nhiều lợi thế cho lớp học của thầy cô bất kể độ tuổi học sinh của thầy cô hay chủ đề thầy cô đang trình bày trong lớp học của mình. Nếu thầy cô chưa quen với khái niệm này, việc tổ chức một lớp học đảo ngược có thể ban đầu thầy cô cảm thấy hơi choáng ngợp và lo lắng Tôi nên bắt đầu lớp học đả ngược như thế nào? Điều gì là tốt nhất để bắt đầu một lớp học đảo ngược ngay tại nhà? Tại sao tôi lại nên bắt đầu một lớp học đảo ngược này? Infographic dưới đây sẽ hướng dẫn thầy cô 6 bước đơn giản giúp toàn bộ quá trình tổ chức lớp học của thầy cô trở nên dễ dàng hơn rất nhiều. Nếu thầy cô mới bắt đầu làm quen hãy học hỏi từ những người đồng nghiệp xung quanh đã có kinh nghiệm hoặc bắt đầu từ bắt đầu từ những mong muốn đơn giản của thầy cô đối với lớp học của mình. Khi thầy cô đã có kiến thức cơ bản, có rất nhiều tài nguyên thầy cô có thể tham khảo để tinh chỉnh các trải nghiệm lớp học đảo ngược đồng thời điều chỉnh sắc thái của loại hình lớp học này. Bắt đầu lớp học đảo ngược với 6 bước đơn giản như sau Kế hoạch Chọn và chuẩn bị một nội dung đặc biệt mà thầy cô muốn thực hiện trên lớp học đảo ngược của mình. Phác thảo mục tiêu và những nội dung chính của bài học đồng thời lập một kế hoạch bài học cho nội dung đặc biệt lại video Thay vì giảng dạy bài học của thầy cô một cách bình thường như truyền thống. Thầy cô có thể làm điều này theo bất kỳ cách nào thầy cô muốn, chỉ cần đảm bảo rằng bài học chứa tất cả các yếu tố, mục tiêu mà thầy cô muốn có giống như triển khai 1 lớp học truyền thống. Hãy biên tập lại video một cách thú vị, hấp dẫn và thu hút đối với học sinh. Để biết được video của mình có thật sự hấp dẫn và cuốn hút hay không, hãy tự đặt câu hỏi cho bản thân “Nếu là mình, mình có cảm thấy hứng thú khi xem video này hay không?”Chia sẻ Chia sẻ video với học sinh của thầy cô. Hãy giải thích cho học sinh của thầy cô biết rằng nội dung video này sẽ được sử dụng và thảo luận trong lớp sắp đổi Khi học sinh của thầy cô đã xem video bài học, thầy cô hãy tin rằng học sinh sẽ hứng thú hơn và chủ động đào sâu và tìm hiểu các kiến thức trong chủ đề , nội dung mà video đã đề cập!Phân nhóm Một cách tuyệt vời để học sinh chủ động khám phá chủ đề, nội dung bài học là thu hút cả lớp tham gia vào các cuộc thảo luận nhóm. Chia học sinh thành các nhóm nhỏ hơn để học sinh có cơ hội chia sẻ ý kiến, quan điểm và có cơ hội lắng nghe, tiếp thu cũng như đặt cho nhau nhiều hơn các câu hỏi. Hãy giao cho mỗi nhóm một nhiệm vụ và một mục tiêu để hướng nhóm lại Bây giờ là lúc thầy cô nên gộp các nhóm nhỏ lại thành một lớp như ban đầu, để các nhóm có cơ hội trình bày và phản biện lẫn nhau. Khuyến khích thảo luận và khuyến khích đặt nhiều câu hỏi cho các nhóm Sau đó, đánh giá, điều chỉnh, cải tiếp và lặp lại ! Tìm ra những gì hiệu quả và những gì không, thêm hoặc bớt các phần tử, thay đổi những thứ xung quanh và thử lại với một bài học khác. Các bài học của thầy cô sẽ tốt dần lên hơn với thời gian và kinh nghiệm thực hành! Trên đây là một số hướng dẫn nhanh, giúp những thầy cô mới có thể dễ dàng bắt đầu một lớp học đảo ngược một cách dễ dàng và hiệu quả. Chúc thầy cô thành công. Tham khảo thêm >> Flipped Class – Lớp học đảo ngược là gì? >> Phương pháp dạy học theo dự án >> STEM và dạy học Dự án – Những điều giáo viên cần biết Billy Nguyễn
Kỹ thuật đảo ngược Nếu bạn quyết định phân tích cú pháp một ứng dụng SaaS bằng Reverse Engineering, vui lòng đọc kỹ Điều khoản và Điều kiện. Hầu hết các nhà cung cấp SaaS có một quy tắc rõ ràng cấm thiết kế ngược phần mềm. Điều này không chỉ áp dụng cho giải pháp SaaS mà bạn đã đăng ký, mà còn nếu thời gian dùng thử đã được thỏa thuận. Lệnh cấm này thường áp dụng ngay cả đối với các bản tải xuống miễn phí. Bạn muốn tránh phải tạo lại phần mềm và mang lại một dịch vụ tương tự cho thị trường. Thiết kế ngược là một phương pháp sao chép phần mềm hiện có, làm sáng tỏ một sản phẩm mà không cần sự hỗ trợ của thiết kế, tài liệu hoặc mô hình. Bạn có thể nói rằng thiết kế ngược là quá trình phát triển theo hướng ngược lại để đạt được yêu cầu. Lý do áp dụng Kỹ thuật đảo ngược Kỹ thuật đảo ngược có thể được coi là quá trình phân tích một hệ thống để Xác định các thành phần của phần mềm và mối quan hệ chung của chúng. Giả mạo phần mềm trên một nền tảng khác hoặc một mức trừu tượng khác. Tạo chính xác cùng một phần mềm. Một lý do khác để áp dụng kỹ thuật đảo ngược là rút ngắn thời gian phát triển. Trong một thị trường cạnh tranh, các nhà cung cấp không ngừng tìm kiếm những cách thức mới để rút ngắn thời gian phát triển để đưa một ứng dụng SaaS mới ra thị trường. Đây là lý do để áp dụng kỹ thuật đảo ngược trên các ứng dụng SaaS Không có đủ tài liệu về thiết kế ban đầu. Thiết kế ban đầu đã bị mất hoặc không bao giờ tồn tại. Nhà sản xuất ban đầu không còn cung cấp ứng dụng SaaS nữa. Nhà sản xuất ban đầu không còn tồn tại nữa, nhưng khách hàng cần điều chỉnh. Một số phần xấu của phần mềm phải được viết lại. Tăng cường các tính năng tốt của phần mềm làm cơ sở để sử dụng lâu dài. Phân tích các tính năng tốt và xấu của phần mềm của đối thủ cạnh tranh. Để khám phá những cách thức mới để cải thiện hiệu suất và chức năng. Người sáng tạo ban đầu không thể hoặc sẵn sàng nhận ra các chức năng bổ sung. Để thay thế các máy tính đã lỗi thời cho các hệ thống hiện đại hơn, thường rẻ hơn. Khía cạnh chi phí / lợi ích Kỹ thuật đảo ngược Reverse Engineering cho phép sao chép phần mềm hiện có bằng cách phân tích các giao diện màn hình, hành vi và các thuộc tính khác. Sau đó chúng trở thành yêu cầu cho bản sao. Trước đó, chúng tôi cần một ứng dụng phân tích vòng đời và thực hiện phân tích chi phí / lợi ích để biện minh cho dự án thiết kế ngược. Kỹ thuật đảo ngược thường chỉ hiệu quả về chi phí nếu phần mềm phản ánh mức đầu tư cao hoặc nếu nó tạo ra doanh thu cao. Hơn nữa, chúng tôi chỉ áp dụng kỹ thuật đảo ngược nếu phần mềm là hoàn toàn bắt buộc và quan trọng trong kinh doanh. Mặt pháp lý của Kỹ thuật đảo ngược Giả sử chúng tôi cung cấp phần mềm theo mô hình SaaS. Điều gì sẽ xảy ra nếu người bán lại của chúng tôi quyết định thiết kế ngược lại phần mềm của chúng tôi để họ có thể khởi chạy một dịch vụ cạnh tranh? Và điều gì sẽ xảy ra nếu chúng tôi không bao giờ ký hợp đồng với người bán lại đó? Chỉ có một thỏa thuận miệng về tính bảo mật và các quyền liên quan đến phần mềm. Mặc dù người bán lại không có quyền truy cập vào mã nguồn, nhưng anh ta có quyền quản trị ở cấp cao nhất và do đó có cái nhìn sâu sắc hơn về cấu trúc, chức năng và cấu trúc của phần mềm. Thông qua các thủ tục pháp lý, chúng tôi sẽ phát hiện ra rằng những vấn đề như vậy tương đương với việc bảo hộ Sở hữu trí tuệ và bí mật kinh doanh. Thẩm phán đã phân biệt giữa mã nguồn của phần mềm có thể là bí mật thương mại và hoạt động và "giao diện" của phần mềm. Chúng tôi không thể bảo vệ thứ sau là bí mật thương mại, vì những thuộc tính này rất dễ nhận ra đối với bất kỳ người dùng nào. Tuy nhiên, nếu chúng tôi không ký kết thỏa thuận không tiết lộ, thẩm phán sẽ bác bỏ yêu cầu của chúng tôi. Nhưng liệu chúng tôi, với tư cách là nhà cung cấp SaaS ban đầu, có thể chứng minh rằng Kỹ thuật đảo ngược đã được thực hiện không? Các thỏa thuận bằng văn bản rõ ràng luôn được ưu tiên hơn các giao dịch bắt tay và các thỏa thuận bảo mật bằng lời nói. Rủi ro của việc triển khai On Premise Một kỹ sư phần mềm quyết tâm có thể thiết kế ngược bất kỳ phần mềm nào trên các máy chủ cục bộ. Bí quyết là làm cho điều này khó đến mức không phải trả tiền để thử. Trình chỉnh sửa chương trình Nếu chúng ta mở một chương trình đã biên dịch trong một trình soạn thảo, chúng ta sẽ thấy rằng nó không thể đọc được. Nó là dữ liệu nhị phân của tệp thực thi. Nghệ thuật đọc và viết loại mã chương trình này đã bị mất đi phần lớn bởi vì mọi người đều là vì mọi người ngôn ngữ lập trình có thể đọc được chẳng hạn như C, Java, PHP, Cố gắng tìm hiểu những gì một chương trình thực hiện chỉ bằng cách xem đầu ra của nó cái gọi là kiểm tra hộp đen, chúng tôi không thể áp dụng đúng cách trong kỹ thuật đảo ngược. Phần mềm có thể vô cùng phức tạp và không có gì đảm bảo rằng một chương trình sẽ hoạt động giống nhau trong mọi môi trường. Sử dụng Trình gỡ lỗi Cai khac công cụ đối với môi trường cục bộ là một trình gỡ lỗi tốt. Hầu như tất cả các hệ điều hành đều hỗ trợ gỡ lỗi ở một mức độ nào đó. Trong khi gỡ lỗi phần mềm, trình gỡ lỗi sẽ kiểm soát toàn bộ ứng dụng. Với trình gỡ lỗi, chúng ta có thể xem bất cứ lúc nào trong các biến và trong không gian bộ nhớ và mã chương trình nào đang được thực thi. Trình gỡ lỗi có thể bắt đầu hoặc tạm dừng chương trình một cách ngẫu nhiên, thay đổi dữ liệu hoặc đặt nó tạm dừng nếu đáp ứng các điều kiện nhất định. Ví dụ với trình gỡ lỗi, chúng ta có thể xem xét các lệnh gọi API. Bất cứ khi nào phần mềm muốn ghi dữ liệu từ bộ nhớ vào đĩa, truy cập internet, in thứ gì đó hoặc làm điều gì đó khác, nó có thể được tìm thấy với trình gỡ lỗi. Bảo vệ mã trong đám mây Có một số lý do để bảo vệ mã nguồn của ứng dụng SaaS. Các ứng dụng hiện đại là kết quả của quá trình phát triển tốn kém và chúng ta phải bảo vệ chúng trước các đối thủ cạnh tranh. Ngoài yếu tố kinh tế, đó còn là vấn đề an ninh. Hackers tìm kiếm mã nguồn nếu họ muốn bỏ qua quá trình xác thực. Việc bảo vệ chống lại thiết kế ngược không phải là một vấn đề hoàn toàn khả thi mà là một vấn đề có thể quản lý được. Những kẻ tấn công luôn phải đối mặt với một câu hỏi quan trọng "Liệu nỗ lực tôi bỏ ra có đủ so với lợi nhuận mà tôi thu được từ nó không?" Điều quan trọng là làm chậm kẻ tấn công càng nhiều càng tốt, lý tưởng nhất là anh ta không nghĩ như vậy trường hợp kinh doanh và nó không phải là giá trị nỗ lực của nó. Có một số giải pháp kỹ thuật đảo ngược mà một nhà phát triển có thể sử dụng, trong đó obfuscation là quan trọng nhất. Obfuscators Obfuscators biến mã nguồn hoàn hảo, con người có thể đọc được thành một định dạng khó đọc. Mã nguồn vẫn đúng 100% về mặt cú pháp và ngữ nghĩa. Chiến lược này dẫn đến rất khó đọc mã nguồn. Tuy nhiên, có một điểm bất cập, nếu phần mềm sử dụng các API công khai thì giao tiếp này không được mã hóa. Có thể mất một khoảng thời gian, nhưng cuối cùng thì hacker sẽ thoát ra được. Cần lưu ý rằng việc này tốn rất nhiều thời gian và đòi hỏi nhiều hiểu biết sâu sắc về mã nguồn được mã hóa. Bảo vệ thời gian chạy Thời gian chạy bảo vệ là miếng mã nguồn đã được chèn vào ở những nơi chiến lược. Những kiểm tra môi trường thời gian chạy. Một số kiểm tra phổ biến mà các vệ sĩ có thể thực hiện là Phần mềm có chạy trên thiết bị chạy trốn hoặc bẻ khóa không? Xác minh nguồn, kiểm tra xem các nguồn có bị giả mạo không? Có một trình gỡ rối không? Các vệ sĩ có thể đóng phần mềm nếu một trong các kiểm tra này có chứa một sự bất thường. Mã hóa khi sử dụng hiện tại Mã hóa các mô-đun chúng tôi hiện không sử dụng. Giải mã các mô-đun khi chúng tôi tải chúng để sử dụng. Tuy nhiên, đây được xem là điều dành cho các chuyên gia, bởi nó không dễ thực hiện thành công. Cần phải rõ ràng rằng việc bảo vệ mã là một nhiệm vụ rất nghiêm trọng và quan trọng. Nó phải là một bước chuẩn trong chu kỳ phát hành. Thảo luận với chúng tôi LinkedIn. Tóm tắt điều khoản Kỹ thuật đảo ngược ứng dụng SaaS Mô tả Kỹ thuật đảo ngược là phương pháp sao chép phần mềm hiện có, làm sáng tỏ một sản phẩm mà không cần sự trợ giúp của thiết kế, tài liệu hoặc mô hình. Tác giả Tên nhà xuất bản ITpedia Biểu trưng nhà xuất bản
kỹ thuật đảo ngược