hic, bài này bạn viết từ năm 2008, không lẽ đến năm 2009 bạn vẫn chưa giải quyết được vấn đề?
Dù sao, tôi vẫn xem như bạn chưa hiểu biết về phần mềm và cách hoạt động của một phần mềm trên pc.
Có vài chú ý mà bạn cần biết:
1. Khi một phần mềm được cài đặt trên 1 máy tính. Ngoài việc chép những file chính của phần mềm vào một thư mục (thông thường là C:\Program Files\Ten phan mem\, các phần mềm thường chép các file thư viện (gọi là dll) vào thư mục của Windows (thông thường là C:\Windows\system32)...
2. Ngoài việc ghi chép các file, phần mềm còn cần phải đăng ký với windows để hệ điều hành Windows. Thông thường phần mềm sẽ ghi vài thông tin cơ bản của chúng vào một nơi nào đó trên đĩa (thường là ghi vào registry)
Thông thường, để đơn giản hóa việc chép từng file vào các thư mục đã chỉ định đồng thời ghi các tham số khởi động phần mềm vào registry, các phần mềm sẽ được phân phối dưới dạng file setup. Trong quá trình setup (cài đặt) các file và các thông tin cần thiết sẽ được ghi chép một cách tự động.
Như vậy để chạy được 1 phần mềm trên một máy tính khác, bạn cần có file setup của phần mềm. Hoặc nếu bạn không có file setup, ngoài việc chép file exe (hoặc chép nguyên cả thư mục của phần mềm trong Program Files) bạn cần phải chép cả các file mà phần mềm đã chép vào Windows\system32 (gọi là các file dll hay thư viện), và thêm nữa, bạn cần biết các giá trị mà phần mềm đã ghi vào registry (registry chẳng qua là một thư mục chứa thông tin các phần mềmm đăng ký, và các tham số để khởi động phần mềm nhằm mục đích giúp hệ điều hành nhận biết được phần mềm)
Câu hỏi bạn đặt ra gồm 2 phần, dịch ngược file exe và chạy phần mềm trên một máy tính khác. 2 phần này không liên quan với nhau.
Dịch ngược file exe sang dạng ngôn ngữ lập trình cấp cao hầu như là không thể (cũng có thể trong một vài trường hợp đặc biệt). Hiện nay có vài phần mềm hỗ trợ việc dịch ngược file exe sang ngôn ngữ cấp cao nhưng những phần mềm này không thể làm việc trên mọi file exe. Nói tóm tắt, để dịch ngược file exe bạn cần biết file exe đó được biên dịch (compile) bằng trình biên dịch nào (VB, Delphi, .Net....) và bạn cần phải sử dụng đúng phần mềm dịch ngược cho loại ngôn ngữ đó. Ví dụ, file exe được biên dịch bằng VB, dùng phần mềm VB Decompiler; file exe được biên dịch bằng Delphi, dùng phần mềm Dede (delphi decompiler)...
Tuy nhiên, kết quả dịch ngược file exe luôn không hoàn hảo. Kết quả của việc dịch ngược phần mềm thường được xem như là bản tham khảo cho việc ***** các phần mềm hơn là việc viết lại hoặc hiệu chỉnh chức năng của phần mềm đó.
Cuối cùng, giải pháp cho bạn là: chạy thử và kiểm tra
Cách làm như sau, đầu tiên bạn copy toàn bộ thư mục phần mềm lên máy tính khác.
Tiếp theo, bạn nhấp vào file exe chạy thử xem có bị báo lỗi gì không. Nếu các lỗi liên quan đến thiếu file thì rất dễ, chỉ việc tìm ra file có tên trùng với tên trong báo lỗi, chép vào máy tính đó (và thực hiện việc đăng ký với Windows nếu các file đó có dạng dll hay ocx - việc đăng ký sẽ được thực hiện với lệnh regsvr32.exe - nếu bạn gặp trường hợp này, mình sẽ bàn tiếp). Sau khi chép các file thư viện cần thiết và thực hiện việc đăng ký, bạn có thể thực thi phần mềm (trường hợp phần mềm không cần các tham số khởi động mà nó đã ghi trong registry).
Bạn nên thử nghiệm và ghi lại kết quả. Nếu tiếp tục gặp trục trặc, mình sẽ tiếp tục hỗ trợ bạn trong khả năng.
Bookmarks