banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Hỏi về lập trình Assembly  XML
  [Programming]   Hỏi về lập trình Assembly 09/05/2008 14:18:51 (+0700) | #1 | 129714
tuankma
Member

[Minus]    0    [Plus]
Joined: 07/05/2008 20:50:16
Messages: 1
Offline
[Profile] [PM]
Mình đang nghiên cứu lập trình thời gian bằng ngôn ngữ Assembly cụ thể là chạy chương trình để xem,thay đổi ngày giờ của máy tính.Bạn nào có chút kiến thức về phần này giúp mình với. ( Các ngắt liên quan tới hệ thống thời gian, hoặc phương pháp lập trình trực tiếp).Rất mong được sự giúp đỡ. Thanks
[Up] [Print Copy]
  [Question]   Hỏi về lập trình Assembly 09/05/2008 14:43:06 (+0700) | #2 | 129716
facialz
Elite Member

[Minus]    0    [Plus]
Joined: 20/07/2004 03:48:17
Messages: 197
Location: HoChiMinh city
Offline
[Profile] [PM]

tuankma wrote:
Mình đang nghiên cứu lập trình thời gian bằng ngôn ngữ Assembly cụ thể là chạy chương trình để xem,thay đổi ngày giờ của máy tính.Bạn nào có chút kiến thức về phần này giúp mình với. ( Các ngắt liên quan tới hệ thống thời gian, hoặc phương pháp lập trình trực tiếp).Rất mong được sự giúp đỡ. Thanks 


Bác nên nói rõ lập trình cho chip nào, hệ điều hành nào chứ.
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 10/05/2008 19:39:43 (+0700) | #3 | 129916
[Avatar]
mystery_hacker
Member

[Minus]    0    [Plus]
Joined: 30/06/2006 16:16:03
Messages: 365
Location: Khánh Hòa
Offline
[Profile] [PM] [Yahoo!]
Theo mình nhớ là ngắt 8 là ngắt thời gian thì phải!
[Up] [Print Copy]
  [Question]   Hỏi về lập trình Assembly 14/08/2008 12:05:41 (+0700) | #4 | 146772
trimitu
Member

[Minus]    0    [Plus]
Joined: 30/11/2007 21:31:23
Messages: 2
Offline
[Profile] [PM]

tuankma wrote:
Mình đang nghiên cứu lập trình thời gian bằng ngôn ngữ Assembly cụ thể là chạy chương trình để xem,thay đổi ngày giờ của máy tính.Bạn nào có chút kiến thức về phần này giúp mình với. ( Các ngắt liên quan tới hệ thống thời gian, hoặc phương pháp lập trình trực tiếp).Rất mong được sự giúp đỡ. Thanks 


Bác đọc techhelp hình như có đóa! Nếu để lấy và đặt thời gian thì hình như là 2A với 2B thì phải! Em ít xài món nì bác thông cảm. ^^
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 14/08/2008 20:34:49 (+0700) | #5 | 146805
[Avatar]
sunrise_vn
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 21:06:26
Messages: 179
Location: Kim Quyên's heart
Offline
[Profile] [PM]
Cho mình hỏi ngoài lề tísmilie. Assembly có ưu điểm gì hơn các SDK của OS mà các bạn ko dùng mà lại dùng nó? Và Assembly có dạng IDE hay chỉ toàn là màn hình Code giống như C++ cho DOS?
Mong được học tập từ các đồng chísmilie.
What is love?
What real love can do?
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 14/08/2008 23:43:15 (+0700) | #6 | 146843
congminh923
Member

[Minus]    0    [Plus]
Joined: 26/02/2008 22:35:52
Messages: 278
Location:
Offline
[Profile] [PM] [Yahoo!]
Assembly có ưu điểm gì hơn các SDK của OS mà các bạn ko dùng mà lại dùng nó? Và Assembly có dạng IDE hay chỉ toàn là màn hình Code giống như C++ cho DOS?  


Để cr@ck giỏi thì phải học Assembly giỏi chứ sao. smilie
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 04:44:34 (+0700) | #7 | 146898
[Avatar]
sunrise_vn
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 21:06:26
Messages: 179
Location: Kim Quyên's heart
Offline
[Profile] [PM]

congminh923 wrote:
Assembly có ưu điểm gì hơn các SDK của OS mà các bạn ko dùng mà lại dùng nó? Và Assembly có dạng IDE hay chỉ toàn là màn hình Code giống như C++ cho DOS?  


Để cr@ck giỏi thì phải học Assembly giỏi chứ sao. smilie  

Như vậy mình Decompile phần mềm lại rồi crack à? Tại sao mình không thể Decompile lại dưới ngôn ngữ khác ví dụ như: C/C++ hay Java gì đó mà nhất thiết phải là Assembly. Tất cả ứng dụng đều được dịch ra mã nhị phân mà.
What is love?
What real love can do?
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 04:57:32 (+0700) | #8 | 146903
[Avatar]
Tal
Member

[Minus]    0    [Plus]
Joined: 15/09/2007 16:50:17
Messages: 67
Offline
[Profile] [PM]
@sunrise_vn

Giời ạ, Nếu dùng soft bạn decompile nó về C/C++, Java làm sao được?
Tất cả là mã nhị phân, nhưng cùng mã nhị phân, cùng chỉ thị nhưng có nhiều câu lệnh ở ngôn ngữ cấp cao thì làm sao decode ra ngôn ngữ cấp cao được?

Bạn phải tìm hiểu crack là thế nào đã chứ? Người ta làm thế nào để crack? Và mục đích hỏi của bạn cụ thể là gì nữa?
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 05:12:53 (+0700) | #9 | 146910
[Avatar]
sunrise_vn
Member

[Minus]    0    [Plus]
Joined: 10/03/2008 21:06:26
Messages: 179
Location: Kim Quyên's heart
Offline
[Profile] [PM]
@Tal

Cám ơn bạn đã chỉ dzạysmilie. Cho mình hỏi thêm tại sao ko dịch được ngôn ngữ cấp cao mà lại dịch ngược được ngôn ngữ cấp thấp. Mình đã dùng thử Visual Basic Decompiler rất tốt. Như vậy thuật toán Compile của Microsoft khác với của Bolarnd hả bạn? Tool để Decompile Visual C++ và cả Borland C++ cũng có luôn đóa.
What is love?
What real love can do?
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 05:45:25 (+0700) | #10 | 146925
[Avatar]
Tal
Member

[Minus]    0    [Plus]
Joined: 15/09/2007 16:50:17
Messages: 67
Offline
[Profile] [PM]

sunrise_vn wrote:

Cho mình hỏi thêm tại sao ko dịch được ngôn ngữ cấp cao mà lại dịch ngược được ngôn ngữ cấp thấp.
 

Tại vì khi dịch ra ngôn ngữ cấp cao sẽ gặp phải sự thiếu chính xác --> Ảnh hưởng đến mục đích của việc dịch ngược.

Ví dụ:
mov ecx,3
shr eax,ecx

cái này khó mà dịch cho đúng nhé vì compiler có thể dịch thành:
a = a * 8
hoặc cũng chỉ đơn giản là:a<<8. Tất nhiên ảnh hưởng ở đây là không rõ ràng nhưng tôi muốn minh họa là 2 câu lệnh trên khác nhau rồi.

sunrise_vn wrote:

Mình đã dùng thử Visual Basic Decompiler rất tốt. Như vậy thuật toán Compile của Microsoft khác với của Bolarnd hả bạn? Tool để Decompile Visual C++ và cả Borland C++ cũng có luôn đóa. 


Khác chứ. Các trình biên dịch chỉ tuân thủ chuẩn ngôn ngữ thôi, còn đâu mã các trình biên dịch khác nhau sinh ra về cơ bản là khác nhau (Thậm chí còn tùy vào nó compile cho môi trường nào nữa ấy chứ). Ngay cả trong 1 ngôn ngữ, việc thay đổi các option cũng sinh ra mã assembly khác nhau rồi.

Tôi chưa dùng thử mấy tool đó nên không biết nó chính xác đến đâu. Bạn có thể giới thiệu vài công cụ tốt tốt được không? smilie
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 07:02:25 (+0700) | #11 | 146944
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Decompiler # Disassembler.
Decompiler có cho Java, C#.
Diassembler thì vô số: mạnh nhất là IDA.
VB Decompiler không thể gọi là một decompiler được. Chỉ là lai giữa decom và disas. Code decom ra không chính xác lắm, còn nhiều sai sót.
Khi analyse các VB virus, đừng nên tin tưỡng vào kết quả của VB Decompiler, nên kết hợp với IDA và một vài trình debugger.
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 15/08/2008 11:13:24 (+0700) | #12 | 146985
congminh923
Member

[Minus]    0    [Plus]
Joined: 26/02/2008 22:35:52
Messages: 278
Location:
Offline
[Profile] [PM] [Yahoo!]
Decompile thì được một phần nào đó thôi. Phần còn lại là Assembly. Bạn không tin? Trong sổ tay cracker, để crack được soft thì toàn là Assembly thôi. Không rành Assembly thì khó làm lắm.

Ebook về www.comms.scitech.susx.ac.uk/fft/books/ArtOfAsm.
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 18/09/2008 11:23:47 (+0700) | #13 | 151839
[Avatar]
satzoom
Member

[Minus]    0    [Plus]
Joined: 12/04/2008 16:44:44
Messages: 59
Location: Top of the Hell
Offline
[Profile] [PM] [MSN]
Bạn nào có thể cho mình tài liệu học asm đc không?
One person's sadness sometimes brings the happiness to the others.
[Up] [Print Copy]
  [Question]   Re: Hỏi về lập trình Assembly 18/09/2008 16:13:08 (+0700) | #14 | 151877
[Avatar]
canhkha
Member

[Minus]    0    [Plus]
Joined: 01/08/2008 01:00:20
Messages: 3
Offline
[Profile] [PM]
Muốn học lập trình hợp ngữ:
1. Bạn phải biết về tập lệnh (Instruction Set), các thanh ghi (Register), có thể phải tìm hiểu cả phần mạch (phần cứng) của hệ thống bạn đang dùng (thông thường là Intel x86).
2. Cách tổ chức một chương trình viết bằng hợp ngữ (các khai báo, chỉ dẫn, cách viết các hàm, cách sắp xếp các segment: code, data, stack..)
3. Học cách sử dụng một số thư viện, sử dụng mấy cái ngắt của BIOS!


Note:
- Bạn cần có compiler (MASM, TASM ...) để compile chương trình bạn viết sang dạng nhị phân.
- Hầu hết các sách hướng dẫn đều có đầy đủ những phần trên.
- Nên tìm hiểu thêm một số kiến thức về kiến trúc máy tính.
- Một số useful link:
http://en.wikipedia.org/wiki/BIOS_call : Ngắt Bios
http://www.mediafire.com/?z9cjlv9x9tz: Ebook: The Art of Assembly Language (pdf)
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|