Sao để tạo console trên một process đang chạy
Hỏi thì phải nói rõ ngôn ngữ ra chứ =_=
Tài liệu chính chủ Microsoft : https://docs.microsoft.com/en-us/windows/console/creation-of-a-console
Từ đó bạn áp dụng vào ngôn ngữ lập trình cụ thể và hệ thống thông tin cụ thể.
Thường thì tạo ứng dụng dưới dạng “Console Application” sẽ có sẵn cửa sổ này.
Nhưng tạo ứng dụng Giao diện người dùng (GUI) thì cửa sổ Console sẽ không có.
Bởi vậy phải gọi đến AttachConsole() để gắn tiến trình hiện tại vào một cửa sổ Console có sẵn
.
Để tạo mới cửa sổ này, bạn nên dùng AllocConsole(), hàm này sẽ tạo cửa sổ console mới
và gắn vào tiến trình hiện tại.
Có thể nhập xuất như “Console Application”.
Có nhiều hàm thao tác với Console có thể giúp bạn: https://docs.microsoft.com/en-us/windows/console/console-functions
Nếu ứng dụng được khởi chạy bằng một ứng dụng console khác thì bạn có thể dùng chính cửa sổ console đó làm console cho ứng dụng GUI bằng tham số: AttachConsole(-1);
-1 là giá trị của: ATTACH_PARENT_PROCESS
Lúc trước mình đã từng tạo Winform C# và gắn nó với 1 cửa sổ console. Sau này định gắn 1 tiến trình với nhiều cửa sổ console, nhưng bỏ dở do đi bộ đội.
Lúc xuất ngũ thì cái ổ đĩa (cứng) hư luôn thanh quét, mất hết.
Cua C++ nhe help pls
Theo mình đoán cái console kia là một tool hack game.
Nếu đúng thế thật thì console với game chẳng liên quan gì đến nhau.
Game là game, console chỉ là một chương trình khác bên ngoài lấy icon của game thôi.
Vay ha thx ban nhe :3
Nhưng mà bạn có để ý là nó cùng chạy trên 1 process là RobloxPlayerBeta.exe ko?
Chắc là do chạy bản beta nên nó có cửa sổ console để in những thông tin trong quá trình chơi, thay vì in lên giao diện trò chơi.
Không có cửa sổ console sẵn nha bạn. Khi mình inject file dll thì nó tạo ra cái cửa sổ console riêng dạng như output đó.
Vậy là do cái dll tạo ra cửa sổ console đó.
Game chạy thì sẽ nạp dll vào bộ nhớ > dll cũng là một phần của game nên sẽ có icon giống và chung trong một process.
Cái bản hack là một dll riêng tách biệt với dll của game nha bạn
Có lẽ bạn hiểu nhầm, ý mình là thế này.
Trong bộ cài của game có sẵn một dll (ví dụ tên là ABC.dll), bình thường thì game chạy sẽ nạp dll đó vào bộ nhớ.
Bạn copy dll hack vào trong game, nghĩa là thay thế dll gốc bằng dll đã được hack, game không phân biệt được vì trùng tên, và vẫn nạp vào bộ nhớ.
=> Game sẽ chạy dll đã được hack và dll đó cho hiện console lên, thế thôi.