PDA

View Full Version : Xem source code của các hàm API chỗ nào?


mrviit
07-08-2009, 10:37 AM
Mình muốn xem source code của hàm LRESULT DispatchMessage(CONST MSG*lpmsg); mà ko biết xem chỗ nào, search trong msdn với trên google đỏ con mắt luôn mà chỉ thấy prototye với cách dùng ko àh. Ai biết xem chỗ nào chỉ mình cái! Thanks.

vduck
07-08-2009, 03:01 PM
Mình muốn xem source code của hàm LRESULT DispatchMessage(CONST MSG*lpmsg); mà ko biết xem chỗ nào, search trong msdn với trên google đỏ con mắt luôn mà chỉ thấy prototye với cách dùng ko àh. Ai biết xem chỗ nào chỉ mình cái! Thanks.

API là một phần quan trọng của HĐH Windows, nó là System Call. Vì thế theo tớ k0 có mã nguồn của nó đâu (vì Windows là HDH đóng mà).
Nhưng có một HDH rất giống Windows, kể cả mô hình tổ chức và API, đó là beactOS, bạn lên google tìm và tải mã nguồn nhé. Bạn sẽ tìm được hàm DispatchMessage thôi :)

Fr0z3n
30-08-2009, 07:02 PM
Mình muốn xem source code của hàm LRESULT DispatchMessage(CONST MSG*lpmsg); mà ko biết xem chỗ nào, search trong msdn với trên google đỏ con mắt luôn mà chỉ thấy prototye với cách dùng ko àh. Ai biết xem chỗ nào chỉ mình cái! Thanks.

dùng olly hoặc IDA disassembler nó ra, dùng trình độ assembly của bạn mà dịch ngược source :))

TQN
30-08-2009, 07:44 PM
Source code của hàm DispatchMessage:

LONG WINAPI DispatchMessageA(const MSG *lpMsg)
{
return DispatchMessageWorker(lpMsg, 1);
}


Vừa ý cậu chưa ? Còn code ASM của nó đây:

.text:7E4196A8 ; LONG __stdcall DispatchMessageA(const MSG *lpMsg)
.text:7E4196A8 public __stdcall DispatchMessageA(x)
.text:7E4196A8 __stdcall DispatchMessageA(x) proc near
.text:7E4196A8
.text:7E4196A8 lpMsg = dword ptr 8
.text:7E4196A8
.text:7E4196A8 mov edi, edi
.text:7E4196AA push ebp
.text:7E4196AB mov ebp, esp
.text:7E4196AD push 1
.text:7E4196AF push [ebp+lpMsg]
.text:7E4196B2 call DispatchMessageWorker(x,x)
.text:7E4196B2
.text:7E4196B7 pop ebp
.text:7E4196B8 retn 4
.text:7E4196B8
.text:7E4196B8 __stdcall DispatchMessageA(x) endp

Cpro
30-08-2009, 10:11 PM
IDA có plugin giúp decode về mã C đấy,chắc bên trên kia ANh TQN sử dụng cái đó rùi :D

Fr0z3n
31-08-2009, 03:17 PM
IDA Pro Advance + HexRays ;)) cái trên kia anh TQN dùng là cái chắc ;))

Xcross87
31-08-2009, 04:13 PM
IDA Pro Advance + HexRays ;)) cái trên kia anh TQN dùng là cái chắc ;))

có gì làm chứng không?

nguyenbinh07
01-09-2009, 08:49 AM
API là một phần quan trọng của HĐH Windows, nó là System Call. Vì thế theo tớ k0 có mã nguồn của nó đâu (vì Windows là HDH đóng mà).
Nhưng có một HDH rất giống Windows, kể cả mô hình tổ chức và API, đó là beactOS, bạn lên google tìm và tải mã nguồn nhé. Bạn sẽ tìm được hàm DispatchMessage thôi :)

Reactos chứ? :D

http://www.reactos.org/