|
|
@n2tforever Có thể giải thích rõ hơn được không?
00402381 8B7D08 mov edi, dword ptr [ebp+08] // cho edi tro den tham so thu 2 la dia chi dich
:00402386 8B750C mov esi, dword ptr [ebp+0C] //cho esi tro den tham so thu nhat la dia chi nguon
:00402389 8B4D10 mov ecx, dword ptr [ebp+10] //cho ecx= tham so thu 3 la kich thuoc
|
|
|
Đang cần tìm tài liệu nào ngắn gọn và dễ hiểu hơn.
|
|
|
@n2tforever: Theo bác thì 0xFFFFFFFF có giá trị bằng bao nhiêu (32 bit có dấu)-> Lại nói kháy anh em rồi, đầu óc mu muội mà
:00401247 83C4D0 add esp, FFFFFFD0
tương đương với một lệnh trừ esp -48?
|
|
|
Mình đang cần hiểu một số mã asm sau khi sử dụng W32DASM. Mình có tìm được một số tài liệu về opcodes
nhưng còn sơ sai nên một số chỗ vẫn chưa hiểu được, ai có tài liệu chi tiết cho mình tham khảo hoặc xin nhé
ví dụ trong tài liệu chỉ mô tả:
MOV dest,src
Copies byte or word from the source operand to the destination
operand. If the destination is SS interrupts are disabled except
on early buggy 808x CPUs. Some CPUs disable interrupts if the
destination is any of the segment registers
nhưng mình lại có những dòng lệnh này
:00401265 0FBF55E6 movsx edx, word ptr [ebp-1A]
:00401269 8B4D0C mov ecx, dword ptr [ebp+0C]
:0040126C 8A0411 mov al, byte ptr [ecx+edx]
mình chưa hiểu các hiểu địa chỉ thế nào, operand trong từng trường hợp cụ thể.
tương tự là những lệnh sau:
:0040124C FF7510 push [ebp+10]
:0040124F 8D45E8 lea eax, dword ptr [ebp-18]
Các bạn giải thích và cho mình tài liệu nhé. đang cần nâng cao trình độ gấp.
|
|
|
0040237C : memcpy(dst, scr, size);
thì size có giá trị là 8. 3 tham số lần lượt là:
6A08 push 00000008 //->size
8D45E8 FF7510 push [ebp+10] //scr
l8D45E8 ea eax, dword ptr [ebp-18] //dst
hai lệnh này thì mình hiểu chút là phần khởi tạo stack đầu mỗi hàm
:00401244 55 push ebp
:00401245 8BEC mov ebp, esp
nhưng câu lệnh thứ 3
:00401247 83C4D0 add esp, FFFFFFD0
thì mình khổng hiểu vì sao lại cộng vào esp một số lớn như thế ->Chắc là do hiểu chưa đúng câu lệnh. Ai biết giải thích giùm nhé.
|
|
|
@xuanphongdocco: chính xác rồi bạn ạ.
@TQN: Cảm ơn bạn Bạn có thể giải thích chút về cách đọc hiểu được không, vì còn tầm 10 mấy cái hàm như thế này nữa.
Exported fn(): MyFunc- Ord:0001h
:00401244 55 push ebp
:00401245 8BEC mov ebp, esp
:00401247 83C4D0 add esp, FFFFFFD0
:0040124A 6A08 push 00000008
:0040124C FF7510 push [ebp+10]
:0040124F 8D45E8 lea eax, dword ptr [ebp-18]
:00401252 50 push eax
:00401253 E824110000 call 0040237C
:00401258 83C40C add esp, 0000000C
:0040125B C645F000 mov [ebp-10], 00
:0040125F 66C745E60000 mov [ebp-1A], 0000
-> call 0040237C : chính là gọi cái hàm mà mình đã post.
giải thích giúp mình cách chuyền tham số như thế nào với nhé.
Mong sớm có hồi âm của bạn. Thanks
|
|
|
Mình có một hàm mã ASM đang cần chuyển về C/C++ nhưng đọc không hiểu. Bạn nào rành về ASM thì hỗ trợ mình với nhé. Cảm ơn nhiều
:0040237C 55 push ebp
:0040237D 8BEC mov ebp, esp
:0040237F 56 push esi
:00402380 57 push edi
:00402381 8B7D08 mov edi, dword ptr [ebp+08]
:00402384 8BC7 mov eax, edi
:00402386 8B750C mov esi, dword ptr [ebp+0C]
:00402389 8B4D10 mov ecx, dword ptr [ebp+10]
:0040238C 8BD1 mov edx, ecx
:0040238E D1E9 shr ecx, 1
:00402390 D1E9 shr ecx, 1
:00402392 FC cld
:00402393 F3 repz
:00402394 A5 movsd
:00402395 8BCA mov ecx, edx
:00402397 83E103 and ecx, 00000003
:0040239A F3 repz
:0040239B A4 movsb
:0040239C 5F pop edi
:0040239D 5E pop esi
:0040239E 5D pop ebp
:0040239F C3 ret
|
|
|
Topic " Dò phương thức mã hoá khi có key, message, encoded messgaa?" mình lập sáng nay vẫn vào được. Đang mong chờ sự trợ giúp của ace diễn đàn, giờ đăng nhập không tìm thấy, search thì thông báo là đã bị xóa là sao vậy các mod ơi? Làm ơn khôi phục lại giùm, chẳng lẽ lại đụng chạm đến ai sao?
THanks
|
|
|
XOR và DES mình cũng thử rồi. Chương trình của hãng đã đóng gói thành exe, mình phải phân tích log mới đúc kết được những điều trên. Có cách debug một app bạn chỉ giúp thanks.
|
|
|
Mình có một thiết bị công tơ điện tử Elster A1700. Để đọc được dữ liệu của nó thì cần phải trải bước qua phần đăng nhập. Thiết bị được thiết lập một Password là M_KH_DOC.
Dùng phần mềm của chính hãng (PMU) tôi thấy được kịch bản của nó như sau:
Thiết bị trả về cho chương trình một khoá 16 ký tự (mỗi lần đăng nhập thì khoá sẽ thay đổi) ví dụ 3337782BF90B74F9 . Chương trình sẽ dùng khoá này để mã hoá password (ở đây là M_KH_DOC) cho kết quả là 1 xâu 16 ký tự 38A0D336DC2B6620 và gửi cho thiết bị, thiết bị sẽ giải mã kiểm tra nếu đúng pw thì coi như đăng nhập thành công.
Chạy nhiều lần ta sẽ có các cặp tương ứng như sau: (Pw thiết bị không thay đổi)
3337782BF90B74F9 -> 38A0D336DC2B6620
D64D287696434ECA -> 243699D7A0A7A831
F4652E9BF63990F9 -> 73AD12E58E0BEAA4
Hiện vì nhu cầu tích hợp thiết bị của các hãng khác nhau nên mình cần xây dựng chương trình có thể kết nối trực tiếp với thiết bị (vì mỗi hãng lại có phần mềm riêng, và một số đặc điểm riêng ko kết nối đựoc với nhau). Phần giao thức để lấy dữ liệu thì theo chuẩn IEC 62056-21 về cơ bản là các thiết bị đều giống nhau rồi. Hiện mình đang vướng phần bắt tay này. Liệu với những thông tin trên có các công cụ nào để có thể dò ra phương thức mã hoá không? để ví dụ thiết bị trả về xâu 3337782BF90B74F9 thì mình có thể mã hoá pass M_KH_DOC thành 38A0D336DC2B6620.
Mình đang dự đinh cài đặt thử SHA, MD5 rồi chạy thử xem thế nào. Vì mình cũng chưa có kiến thức hack bao giờ anh em trên diễn đàn ai có kinh nghiệm xin chỉ giáo giúp nhé.
Mong chờ hồi âm của cả nhà. Thanks
|
|
|
|
|
|
|