Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 19 kết quả

Đề tài: Cần hướng dẫn làm tool đọc địa chỉ của một process khác

  1. #1
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    42

    Mặc định Cần hướng dẫn làm tool đọc địa chỉ của một process khác

    Mình đang muốn tiến hành một dự án nhỏ là viết một chương trình cho phép đọc địa chỉ của một process khác (process được liệt kê trong Task Manager), có thể nói chương trình này tương tự CE hay ArtMoney ý. Mục đích của mình là chương trình của tìm sẽ chọn một process nào đó và tiến hành tìm địa chỉ của biến (variable) bất kì do mình yêu cầu.
    Có phải là trong một process thì tên biến (ví dụ "sName") được lưu trữ trong phần địa chỉ Segment và giá trị của biến (ví dụ "chocolate1146") được lưu trữ trong phần địa chỉ offset không? Vậy có khả thi rằng nếu như:
    1. Mình đưa vào tên biến thì tìm được địa chỉ Segment rồi tìm được địa chỉ Offset của biến đó không?
    2. Mình đưa vào giá trị của biến thì tìm được địa chỉ offset rồi tìm ra được địa chỉ segment không?

    Cho mình hỏi là:
    a. Cách nào để mình thực hiện được dự án của mình?
    b. Có chương trình nào có thể làm được công việc như đã nêu trong 1, 2?
    c. Bạn nào có source thì cho mình xin để tham khảo nhé?

    Thanks for advance!
    Avata - Định Công - Giáp Bát mùa lũ

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Xin trả lời bạn như sau :

    a. Trong windows dùng chế độ bộ nhớ protected mode, segment và offset là những thứ xa xỉ, ko dễ gì sờ được từ mức ứng dụng đâu. Mỗi process trong windows chạy trong không gian địa chỉ ảo, có thể coi như là 1 mảng phẳng từ 1 -> 4G. Mà cho dù có segment:offset đi nữa, mình cũng chưa nghe thấy có khái niệm nào là tên biến lưu trong segment, giá trị ghi trong offset cả. Tên biến chỉ là khái niệm của con người khi viết code mà thôi. Khi đã biên dịch thành chương trình thì máy cũng ko cần biết bạn khai báo biến tên gì, nó chỉ cần địa chỉ của biến thôi là chạy được rồi. Chương trình chỉ lưu tên biến khi có debug info, nhưng ko phải chương trình nào cũng có cả đâu. Vả lại debug info cũng ko có ý nghĩa nhiều đối với code đã biên dịch của chương trình, nó cũng chỉ có ý nghĩa với người code mà thôi.

    Bạn dùng CE hay Art mà lại ko hề biết nó hoạt động thế nào thì thật là khó hiểu. CE hay Art nó chẳng hề biết biến khai báo tên gì để mà tìm. Nó chỉ là quét hết toàn bộ bộ nhớ của process và so sánh sự thay đổi giá trị qua các lần tìm kiếm để loại trừ bớt tập cần tìm kiếm mà thôi.

    b. Từ câu a, theo mình nghĩ là ko có

    c. CE
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Xin trả lời bạn như sau :

    a. Trong windows dùng chế độ bộ nhớ protected mode, segment và offset là những thứ xa xỉ, ko dễ gì sờ được từ mức ứng dụng đâu. Mỗi process trong windows chạy trong không gian địa chỉ ảo, có thể coi như là 1 mảng phẳng từ 1 -> 4G. Mà cho dù có segment:offset đi nữa, mình cũng chưa nghe thấy có khái niệm nào là tên biến lưu trong segment, giá trị ghi trong offset cả. Tên biến chỉ là khái niệm của con người khi viết code mà thôi. Khi đã biên dịch thành chương trình thì máy cũng ko cần biết bạn khai báo biến tên gì, nó chỉ cần địa chỉ của biến thôi là chạy được rồi. Chương trình chỉ lưu tên biến khi có debug info, nhưng ko phải chương trình nào cũng có cả đâu. Vả lại debug info cũng ko có ý nghĩa nhiều đối với code đã biên dịch của chương trình, nó cũng chỉ có ý nghĩa với người code mà thôi.

    Bạn dùng CE hay Art mà lại ko hề biết nó hoạt động thế nào thì thật là khó hiểu. CE hay Art nó chẳng hề biết biến khai báo tên gì để mà tìm. Nó chỉ là quét hết toàn bộ bộ nhớ của process và so sánh sự thay đổi giá trị qua các lần tìm kiếm để loại trừ bớt tập cần tìm kiếm mà thôi.

    b. Từ câu a, theo mình nghĩ là ko có

    c. CE
    Cám ơn bạn đã trả lời bài viết của mình. Tất nhiên là mình hiểu các tìm kiếm theo kiểu CE hay AM, chỉ cần nhập giá trị hiện thời và tìm, sau đó thay đổi giá trị và lọc ra được địa chỉ cần tìm. Segment và Offset thì trong asm có thể tác động được nhưng mà asm chỉ có thể chạy trên 1 máy mà thôi nên mình cũng ngại đọc lại.

    Ý tưởng của mình là, cái process mình cần tìm địa chỉ, có lẽ là nó khai báo biến dạng động, nghĩa là mỗi lần chương trình đó thực thi thì cùng một biến có các địa chỉ khác nhau. Mình không thể cứ tìm theo kiểu thủ công như CE hay AM. Mình nghĩ nếu như có tên biến thì có thể tìm được địa chỉ lưu trữ giá trị của nó mà.

    Theo như bạn nói tên biến chỉ là do con người sử dụng khi viết code, đặt ra cho dễ nhớ vậy khi biên dịch ra chương trình, biến đó nó thành cái gì? Khi mà chương trình chưa chạy, chưa được cấp phát bộ nhớ để lưu trữ thì nó là cái gì? Hay khi biên dịch thì tên biến nó được chỉ định lưu giá trị vào một địa chỉ nhớ nào đó? Trong trường hợp định nghĩa địa chỉ một cách tường minh (trường hợp biến static theo kiểu #define xxxx) thì có lẽ được. Nhưng trong trường hợp không thì sao? Nếu như bạn có dùng CE thì sẽ biết cái gọi là địa chỉ màu xanh và màu đen.

    Bạn nghĩ gì về vấn đề này?

    Thanks for reply!
    Avata - Định Công - Giáp Bát mùa lũ

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    520

    Trích dẫn Nguyên bản được gửi bởi chocolate1146 Xem bài viết
    Cám ơn bạn đã trả lời bài viết của mình. Tất nhiên là mình hiểu các tìm kiếm theo kiểu CE hay AM, chỉ cần nhập giá trị hiện thời và tìm, sau đó thay đổi giá trị và lọc ra được địa chỉ cần tìm. Segment và Offset thì trong asm có thể tác động được nhưng mà asm chỉ có thể chạy trên 1 máy mà thôi nên mình cũng ngại đọc lại.

    Ý tưởng của mình là, cái process mình cần tìm địa chỉ, có lẽ là nó khai báo biến dạng động, nghĩa là mỗi lần chương trình đó thực thi thì cùng một biến có các địa chỉ khác nhau. Mình không thể cứ tìm theo kiểu thủ công như CE hay AM. Mình nghĩ nếu như có tên biến thì có thể tìm được địa chỉ lưu trữ giá trị của nó mà.

    Theo như bạn nói tên biến chỉ là do con người sử dụng khi viết code, đặt ra cho dễ nhớ vậy khi biên dịch ra chương trình, biến đó nó thành cái gì? Khi mà chương trình chưa chạy, chưa được cấp phát bộ nhớ để lưu trữ thì nó là cái gì? Hay khi biên dịch thì tên biến nó được chỉ định lưu giá trị vào một địa chỉ nhớ nào đó? Trong trường hợp định nghĩa địa chỉ một cách tường minh (trường hợp biến static theo kiểu #define xxxx) thì có lẽ được. Nhưng trong trường hợp không thì sao? Nếu như bạn có dùng CE thì sẽ biết cái gọi là địa chỉ màu xanh và màu đen.

    Bạn nghĩ gì về vấn đề này?

    Thanks for reply!
    theo mình thấy thì bạn đang thiếu các kiến thức sau để làm được chương trinh này:
    - Hệ điều hành nói chung
    - Cơ bản về hệ điều hành họ Windows
    - Chương trình dịch
    - Kĩ thuật lập trình
    - Lập trình asm 32bit ( dùng masm32 hoặc tasm32 chẳng hạn)
    - Lập trình windows 32bit ( ý mình là dùng VC++ chứ không phải C#)
    - Reverse Engineering

    Học xong các kiến thức trên bạn sẽ hiểu anh Mèo nói gì
    Bạn cứ tìm hiểu theo thứ tự trên nhé ^^

  5. #5
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi quangnh89 Xem bài viết
    theo mình thấy thì bạn đang thiếu các kiến thức sau để làm được chương trinh này:
    - Hệ điều hành nói chung
    - Cơ bản về hệ điều hành họ Windows
    - Chương trình dịch
    - Kĩ thuật lập trình
    - Lập trình asm 32bit ( dùng masm32 hoặc tasm32 chẳng hạn)
    - Lập trình windows 32bit ( ý mình là dùng VC++ chứ không phải C#)
    - Reverse Engineering

    Học xong các kiến thức trên bạn sẽ hiểu anh Mèo nói gì
    Bạn cứ tìm hiểu theo thứ tự trên nhé ^^
    Úi zời, cám ơn bạn đã góp ý. Nghe bạn nói mà mình thấy nản quá. Nhưng mà những cái mà bạn nói mình cũng đã học rồi, có thể nói nó trải dài bằng 2 năm đại học chuyên ngành CNTT đấy. Bạn bảo học xong là học những gì? Nhớ những gì? Bây giờ bạn bảo mình phải đọc lại một loạt các thông tin ít sử dụng: các hệ chuyên gia, hệ điều hành, quản lý bộ nhớ, tiến trình processor, thiết bị...rồi lại compiler từ ngôn ngữ tự nhiên sang ngôn ngữ máy, lập trình cấu trúc, oop, rồi lại còn rtm, dpmi, tasm, tlink nữa chứ (chắc để liên kết asm với ngôn ngữ bậc cao khác như C++). Rồi lại nhất định phải dùng VC++ nữa chứ.

    Trong khi về cơ bản có thể sử dụng C# bằng cách sử dụng ReadProcessMemory và một số nữa để làm công việc này.

    Dù sao cũng cám ơn bạn đã góp ý.

    ps: một số người có lẽ sẽ tặng bạn câu, gì nhỉ? hình như là "Đã...còn..." (just kidding)
    Avata - Định Công - Giáp Bát mùa lũ

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định Cần hướng dẫn làm tool đọc địa chỉ của một process khác

    Trích dẫn Nguyên bản được gửi bởi chocolate1146 Xem bài viết
    Theo như bạn nói tên biến chỉ là do con người sử dụng khi viết code, đặt ra cho dễ nhớ vậy khi biên dịch ra chương trình, biến đó nó thành cái gì? Khi mà chương trình chưa chạy, chưa được cấp phát bộ nhớ để lưu trữ thì nó là cái gì? Hay khi biên dịch thì tên biến nó được chỉ định lưu giá trị vào một địa chỉ nhớ nào đó? Trong trường hợp định nghĩa địa chỉ một cách tường minh (trường hợp biến static theo kiểu #define xxxx) thì có lẽ được. Nhưng trong trường hợp không thì sao? Nếu như bạn có dùng CE thì sẽ biết cái gọi là địa chỉ màu xanh và màu đen.

    Bạn nghĩ gì về vấn đề này?
    Thứ nhất, mình xin khẳng định lại rằng ko có tên biến trong chương trình sau khi đã biên dịch. Khi chương trình đã được biên dịch thành file exe, tất cả mọi biến, hằng đều được quy ra thành địa chỉ ( số nguyên 4 byte ). Bạn đã có cơ bản asm, mình xin lấy asm luôn để minh họa. Mình viết 1 chương trình C đơn giản :

    C Code:
    1. int a = 12;
    2.  
    3. int main()
    4. {
    5.     a = 100;
    6.     return 0;
    7. }

    và đây là code asm sau khi đã biên dịch tương ứng với chỗ a = 100
    ASM Code:
    1. mov dword ptr [405030], 64h

    Cái biến a mà bạn nói khi đã biên dịch xong nó đã trở thành con số địa chỉ 0x405030

    Đó là khi chương trình đang chạy. Còn bạn thắc mắc rằng chương trình ko chạy, biến a sẽ nằm đâu ? Nó nằm trong file exe. File exe thật ra là 1 cơ sở dữ liệu, có cấu trúc hẳn hoi, dùng để lưu nội dung sẽ dùng để nạp lên bộ nhớ khi chạy. Đây là hình minh họa khi phân tích file exe bằng CFF :





    File exe sẽ được nạp lên bộ nhớ tại địa chỉ 0x400000 ( hình 1 ). Biến a nằm trong section ".data" ( vùng nhớ chứa biến ). Vùng nhớ này sẽ được nạp vào bộ nhớ tại địa chỉ 0x5000, lệch 30h. Đi theo vị trí đó sẽ thấy dữ liệu khới tạo của biến a là "0C 00 00 00", đúng = 12 so với code C.

    Nếu biến được cấp phát động, nó phải có con trỏ tĩnh để lưu địa chỉ vùng nhớ đã cấp phát. Bạn phải tìm ra được vùng nhớ này để từ nó truy cập vào vùng nhớ động. Nếu chương trình biên dịch ở chế độ ASLR, bạn phải tính địa chỉ con trỏ tĩnh từ độ lệch so với image base. Độ lệch này luôn là hằng số.

    Mình hy vọng những giải thích và hình ảnh của mình sẽ làm bạn hiểu ra vấn đề.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    @chocolate1146: Để Kevin nói ra hộ bạn "Đã ngu còn tỏ ra nguy hiểm", rất tiếc là câu này dành cho chính bạn!

    Nếu là ứng dụng .NET thì tên biến vẫn còn. Nếu là ứng dụng VB thì vẫn có khả năng đấy... Nếu là ứng dụng C/C++ thì 'cứ bỏ thời gian nghiên cứu đi' rồi sẽ có 'kỳ tích' cho bạn!

    Câu 1: Như giải thích
    Câu 2: Tùy theo từng trường hợp, thử với mấy cái game như WarCraft đi sẽ biết ai là người "Đã...còn...".

    Ý a: Em không biết
    Ý b: Chương trình giải quyết cả 2 vấn đề 1 và 2 đang chờ bạn viết.
    Ý c: Nếu có source thì bạn cũng sẽ không bao giờ có được

    Câu trả lời tổng thể cho bạn là: "Hãy học bò trước khi học chạy"
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  8. #8
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi chocolate1146 Xem bài viết
    Úi zời, cám ơn bạn đã góp ý. Nghe bạn nói mà mình thấy nản quá. Nhưng mà những cái mà bạn nói mình cũng đã học rồi, có thể nói nó trải dài bằng 2 năm đại học chuyên ngành CNTT đấy. Bạn bảo học xong là học những gì? Nhớ những gì? Bây giờ bạn bảo mình phải đọc lại một loạt các thông tin ít sử dụng: các hệ chuyên gia, hệ điều hành, quản lý bộ nhớ, tiến trình processor, thiết bị...rồi lại compiler từ ngôn ngữ tự nhiên sang ngôn ngữ máy, lập trình cấu trúc, oop, rồi lại còn rtm, dpmi, tasm, tlink nữa chứ (chắc để liên kết asm với ngôn ngữ bậc cao khác như C++). Rồi lại nhất định phải dùng VC++ nữa chứ.

    Trong khi về cơ bản có thể sử dụng C# bằng cách sử dụng ReadProcessMemory và một số nữa để làm công việc này.

    Dù sao cũng cám ơn bạn đã góp ý.

    ps: một số người có lẽ sẽ tặng bạn câu, gì nhỉ? hình như là "Đã...còn..." (just kidding)
    Mình theo đuổi lập trình từ hồi năm lớp 7, cho đến nay mình vẫn thấy mình thiếu kiến thức về đủ mọi mặt. Vì vậy, mình thiết nghĩ thời gian 2 năm học đại học của bạn cũng ko phải là nhiều đâu.

    Hàm Read/WriteProcessMemory là hàm đọc/ghi vùng nhớ của process khác. Nhưng bạn có đao trong tay thì cũng chưa chắc đã giết giặc được đâu bạn à. Bạn chỉ cần có địa chỉ truyền vào 2 hàm đó là xong, cái này thì ai cũng làm được, chắc cũng ko cần đến hệ chuyên gia hay compiler ... gì cả đâu. Vấn đề là bạn kiếm được địa chỉ ấy từ đâu ra, chỗ nào tĩnh có thể tóm được, chỗ nào động có thể suy ra từ cái tĩnh. Đây mới là những điều cần thiết cho ý tưởng của bạn. Bạn muốn đánh giặc thì bạn cũng nên xem mặt mũi nó ra sao đã chứ.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 21-12-2011 lúc 10:41 PM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  9. #9
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    520

    Trích dẫn Nguyên bản được gửi bởi chocolate1146 Xem bài viết
    Úi zời, cám ơn bạn đã góp ý. Nghe bạn nói mà mình thấy nản quá. Nhưng mà những cái mà bạn nói mình cũng đã học rồi, có thể nói nó trải dài bằng 2 năm đại học chuyên ngành CNTT đấy. Bạn bảo học xong là học những gì? Nhớ những gì? Bây giờ bạn bảo mình phải đọc lại một loạt các thông tin ít sử dụng: các hệ chuyên gia, hệ điều hành, quản lý bộ nhớ, tiến trình processor, thiết bị...rồi lại compiler từ ngôn ngữ tự nhiên sang ngôn ngữ máy, lập trình cấu trúc, oop, rồi lại còn rtm, dpmi, tasm, tlink nữa chứ (chắc để liên kết asm với ngôn ngữ bậc cao khác như C++). Rồi lại nhất định phải dùng VC++ nữa chứ.

    Trong khi về cơ bản có thể sử dụng C# bằng cách sử dụng ReadProcessMemory và một số nữa để làm công việc này.

    Dù sao cũng cám ơn bạn đã góp ý.

    ps: một số người có lẽ sẽ tặng bạn câu, gì nhỉ? hình như là "Đã...còn..." (just kidding)

    không cần phải ps với mình thế đâu.

    Đối với mình ấy mà, cái câu "Đã ngu còn tỏ ra nguy hiểm" mình nhận nhiều rồi, thêm một vài câu cũng chả khác gì cả. Ngu hay không thì tùy lúc và tùy chỗ, nhưng nói thật với bạn, với win32, mình đã làm nhiều loại ứng dụng , từ các ứng dụng thông thường đến các ứng dụng đặc biệt để bảo vệ game, bảo vệ registry, bảo vệ bộ nhớ tránh Artmoney hay CE nên mình rẩt hiểu vấn đề mà bạn đưa ra ở đây. Tất nhiên để chống lại đọc bộ nhớ, mình cũng phải biết Artmoney hay CE làm thế nào?? Nói không phải khoe, ứng dụng kiểu Artmoney hay CE mình có hàng tá, code cũng có đủ.

    Đọc comment này của bạn, có lẽ 2 năm trong CNTT của bạn hơn nhiều, ăn đứt so với 8 năm code C, 3 năm asm, 3 năm reverse phần mềm, packer, mã virus của mình.

    Như vậy , có lẽ mình không nên "múa rìu qua mắt thợ" nữa nhỉ, không cần nói nhiều với bạn về vấn đề này nữa. Topic này trả cho bạn vậy. Ở đây, nói lung tung lại bị bảo là ngu, quăng cục gạch vào mồm thì bỏ mịa.

    Chào thân ái và quyết thắng!

    Về chương trình của anh Mèo:

    vì đó là biến được khai báo như một global variable , nên compiler sẽ đặt nó trong 1 section có thuộc tính chỉ đọc và ghi là .data section, section này tồn tại trong file PE.
    Nếu nó được khai báo như biến local variable, địa chỉ nó sẽ nằm trong stack.
    chưa kể trường hợp cấp phát động hoặc người lập trình dùng file mapping object thì sao =))
    Đã được chỉnh sửa lần cuối bởi quangnh89 : 21-12-2011 lúc 10:48 PM.

  10. #10
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    42

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Mình theo đuổi lập trình từ hồi năm lớp 7, cho đến này mình vẫn thấy mình thiếu kiến thức về đủ mọi mặt. Vì vậy, mình thiết nghĩ thời gian 2 năm học đại học của bạn cũng ko phải là nhiều đâu.

    Hàm Read/WriteProcessMemory là hàm đọc/ghi vùng nhớ của process khác. Nhưng bạn có đao trong tay thì cũng chưa chắc đã giết giặc được đâu bạn à. Bạn chỉ cần có địa chỉ truyền vào 2 hàm đó là xong, cái này thì ai cũng làm được, chắc cũng ko cần hệ chuyên gia hay compiler ... gì cả đâu. Vấn đề là bạn kiếm được địa chỉ ấy từ đâu ra, chỗ nào tĩnh có thể tóm được, chỗ nào động có thể suy ra từ cái tĩnh. Đây mới là những điều cần thiết cho ý tưởng của bạn. Bạn muốn đánh giặc thì bạn cũng nên xem mặt mũi nó ra sao đã chứ.
    Đúng là vấn đề mà mình đang đề cập đến. Vấn đề là đã có "đao" nhưng mà chưa thể dùng. Thực chất toàn bộ vấn đề cũng chỉ là đi tìm cái địa chỉ, mà cái "tĩnh" mình đã nghĩ đến là tên biến đấy. Có vẻ mình đã suy nghĩ quá nhiều, muốn đi theo một chiều hướng mà hình như sẽ không đem lại kết quả gì.
    Bạn có kinh nghiệm gì về mấy cái địa chỉ này không?

    ps: cho mình thành thật xin lỗi về mấy phút bồng bột nhé...
    Avata - Định Công - Giáp Bát mùa lũ

Các đề tài tương tự

  1. Inter Process Communication - Share Memory Multi - Process
    Gửi bởi yaiba_forever trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 20
    Bài viết cuối: 11-01-2013, 10:38 PM
  2. Trả lời: 2
    Bài viết cuối: 19-10-2012, 04:20 PM
  3. [Linux API] Hướng Dẫn Kỹ Thuật Inter Process Memory và semaphore Nhiều Process
    Gửi bởi AlexF trong diễn đàn Thủ thuật, Tutorials và Mã nguồn
    Trả lời: 0
    Bài viết cuối: 21-04-2011, 11:06 PM
  4. Thắc mắc Theo Dõi Process. Bắt một process mới hoạt động.
    Gửi bởi nguyengiaba trong diễn đàn Windows API, Hooking, xử lý Windows Message
    Trả lời: 20
    Bài viết cuối: 09-11-2010, 11:28 PM
  5. Inter Process Communication - Share Memory Multi - Process
    Gửi bởi yaiba_forever trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 13
    Bài viết cuối: 25-12-2008, 09:45 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn