Báo cáo Cách hoạt động của lệnh nhảy và các cờ - Môn Tin học đại cương - Học Viện Kỹ Thuật Mật Mã

Đến lệnh nhảy tiếp theo ta xem nó nhảy đến đâu bằng cách đúp chuột rồi ấn F8. Đến đây ta có 2 cách giải quyết. là thay đổi giá trị của cờ để nó thành password đúng, là ấn F8 để chạy từng dòng lệnh tiếp rồi dịch kí tự trên thanh al để lấy được mật khẩu đúng. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!

lOMoARcPSD|4 7892172
lOMoARcPSD|4 7892172
BÁO CÁO
1.Cách hoạt động của lệnh nhảy các cờ
a. Cờ
-Cờ tràn ( over
flo
w
flag
OF) =1 khi kết quả lớn hơn kích thước địa chỉ đích
-Cờ hướng( direction
flag
DF) xác định hướng trái phải DF -=0 từ trái đến phải
-Cờ ngắt (interupt
flag
IF ) =1 thì tin hiệu ngắt x ngược lại bỏ qua
-Cờ dấu ( sign
flag
SF) kết qu hay + phụ thuộc vào giá trị bit ngoài cùng n
trái SF
=1 giá trị âm
-Cờ không (zero
flag
ZF ) thực hiện kết qu phép toán số học hoặc phép so sánh ZF
=1 khi chỉ khi kết quả bằng 0 hoặc phép so sánh kết quả bằng nhau
-Cờ nhớ (Carry
flag
CF ) chứa giá trị nhớ (0,1) của MSB sau khi thực hiện phép toán
số học khi dịch bit hoặc quay thì giá trị của bit v đẩy ra cuối cùng sẽ lưu lại CF
- PF: đặt thành 1 nếu số lượng bit 1 trong kết quả số chẵn, ngược lại
b. Bước nhảy
- jz/je: nhảy nếu ZF =1
-jnz/jne: nhảy nếu ZF=0
-jns: nhảy nếu SF=0
-js: nhảy nếu SF=1
-jc: nhảy nếu CF=1
-jnc: nhảy nếu CF=0
-jo: nhảy nếu OF=1
-jno: nhảy nếu OF=0
lOMoARcPSD|4 7892172
2.
($-arr) có ý nghĩa gì? dấu $ nghĩa là ?
$ là bộ đếm v trí hiện tại
Arr là địa chỉ của mng
$ - arr đ tìm được kích thước của mng
3.
Quá trình remote debug ida
Bước 1: kim tra
fi
le xem dùng ida gì
Bước 2: o ida chn remote linux debugger
Bước 3:vào
fi
le location ida chọn dbgsv chọn
linux_server hoc linux_server64
lOMoARcPSD|4 7892172
lOMoARcPSD|4 7892172
c 4: Bt linux
copy linux_server hoặc linux_server64 và
fi
le cần debug vào máyo
lOMoARcPSD|4 7892172
c 5: vào Terminal cấp quyn thực thi cho linux_server
fi
lecần
debug
bằng lệnh chmod +x (n
fi
le) ./(tên
fi
le)
lOMoARcPSD|4 7892172
c 6: c định đa ch ip trên máy o bằng lệnh hostname -I
lOMoARcPSD|4 7892172
c 7: copy ip rồi vào ida chn process options để nhập ip
c 8: tiến hành gỡ lỗi bng cách breakpoint (F2) sau đó n
debug để g lỗi
lOMoARcPSD|4 7892172
Lệnh nhảy jns c SF bằng 1 khiến đoạn nhảy đến vị trí không
mong muốn ta sửa lại bằng ch chuyển SF=0
c 9: n F8 để kiểm tra từng dòng lệnh dịch lệnh tiếp theo
đến fgets thì ta quay lại linux nhập mật khu
bước 10: Đến lệnh nhy tiếp theo ta xem nó nhảy đến đâu bằng
ch đúp chut rồi n F8. Đến đây ta có 2 cách giải quyết
lOMoARcPSD|4 7892172
1 là thay đổi giá tr của cờ để nó tnh password đúng
2 là ấn F8 để chạy từng dòng lệnh tiếp rồi dịch tự trên thanh al
để ly được mt khu đúng.( bằng cách nhập lệnh chr(0x?) ).
| 1/9

Preview text:

lOMoARcPSD|47892172 lOMoARcPSD|47892172 BÁO CÁO
1.Cách hoạt động của lệnh nhảy và các cờ a. Cờ
-Cờ tràn ( overflow flag OF) =1 khi kết quả lớn hơn kích thước địa chỉ đích
-Cờ hướng( direction flag DF) xác định hướng trái phải DF -=0 từ trái đến phải
-Cờ ngắt (interupt flag IF ) =1 thì tin hiệu ngắt xử lý ngược lại bỏ qua
-Cờ dấu ( sign flag SF) kết quả là – hay + phụ thuộc vào giá trị bit ngoài cùng bêntrái SF =1 giá trị âm
-Cờ không (zero flag ZF ) thực hiện kết quả phép toán số học hoặc phép so sánh ZF
=1 khi và chỉ khi kết quả bằng 0 hoặc phép so sánh có kết quả bằng nhau
-Cờ nhớ (Carry flag CF ) chứa giá trị nhớ (0,1) của MSB sau khi thực hiện phép toán
số học khi dịch bit hoặc quay thì giá trị của bit vị đẩy ra cuối cùng sẽ lưu lại CF
- PF: đặt thành 1 nếu số lượng bit 1 trong kết quả là số chẵn, ngược lại b. Bước nhảy - jz/je: nhảy nếu ZF =1 -jnz/jne: nhảy nếu ZF=0 -jns: nhảy nếu SF=0 -js: nhảy nếu SF=1 -jc: nhảy nếu CF=1 -jnc: nhảy nếu CF=0 -jo: nhảy nếu OF=1 -jno: nhảy nếu OF=0 lOMoARcPSD|47892172
2. ($-arr) có ý nghĩa là gì? dấu $ nghĩa là gì?
$ là bộ đếm vị trí hiện tại
Arr là địa chỉ của mảng
$ - arr để tìm được kích thước của mảng
3. Quá trình remote debug ida
Bước 1: kiểm tra file xem dùng ida gì
Bước 2: vào ida chọn remote linux debugger
Bước 3:vào file location ở ida chọn dbgsv chọn
linux_server hoặc linux_server64 lOMoARcPSD|47892172 lOMoARcPSD|47892172 bước 4: Bật linux
copy linux_server hoặc linux_server64 và file cần debug vào máyảo lOMoARcPSD|47892172
bước 5: vào Terminal cấp quyền thực thi cho linux_server và filecần debug
bằng lệnh chmod +x (tên file) và ./(tên file) lOMoARcPSD|47892172
bước 6: xác định địa chỉ ip trên máy ảo bằng lệnh hostname -I lOMoARcPSD|47892172
bước 7: copy ip rồi vào ida chọn process options để nhập ip
bước 8: tiến hành gỡ lỗi bằng cách breakpoint (F2) sau đó ấn debug để gỡ lỗi lOMoARcPSD|47892172
Lệnh nhảy jns và cờ SF bằng 1 khiến đoạn nhảy đến vị trí không
mong muốn ta sửa lại bằng cách chuyển SF=0
bước 9: ấn F8 để kiểm tra từng dòng lệnh dịch lệnh tiếp theo
đến fgets thì ta quay lại linux nhập mật khẩu
bước 10: Đến lệnh nhảy tiếp theo ta xem nó nhảy đến đâu bằng
cách đúp chuột rồi ấn F8. Đến đây ta có 2 cách giải quyết lOMoARcPSD|47892172
1 là thay đổi giá trị của cờ để nó thành password đúng
2 là ấn F8 để chạy từng dòng lệnh tiếp rồi dịch kí tự trên thanh al
để lấy được mật khẩu đúng.( bằng cách nhập lệnh chr(0x?) ).