Cracking part 39

Chia sẻ: Dqwdasdasd Qwdasdasdasd | Ngày: | Loại File: PDF | Số trang:5

0
31
lượt xem
4
download

Cracking part 39

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Các lệnh Tranfer (dời thao tác) (dời sự thực thi của script đến một label nào đó trong trong file script): Có 2 trạng thái cần phân biệt: -Breakpoint (Điểm ngắt trong Olly): Ngắt do người dùng ép buộc -Exception (sự phản kháng của Olly): Ngắt do Olly phản kháng.

Chủ đề:
Lưu

Nội dung Text: Cracking part 39

  1. Tóm tắt: Quote: #LOG, LOG xvi-Các lệnh Gets: Các lệnh này chủ yếu để lấy thông tin nào đó từ dữ liệu ta cung cấp Quote: GN addr ------- Gets the symbolic name of specified address (ex the API it poits to) Sets the reserved $RESULT variable Example: gn 401000 GPA proc, lib ------------- Gets the address of the specified procedure in the specified library. When found sets the reserved $RESULT variable. $RESULT == 0 if nothing found. Useful for setting breakpoints on APIs. Example: gpa "MessageBoxA", "user32.dll" // After this $RESULT is the address of MessageBoxA and you can do "bp $RESULT". GMI addr, info -------------- Gets information about a module to which the specified address belongs. "info" can be MODULEBASE, MODULESIZE, CODEBASE or CODESIZE (if you want other info in the future versions plz tell me). Sets the reserved $RESULT variable (0 if data not found). Example: GMI eip, CODEBASE // After this $RESULT is the address to the codebase of the module to which eip belongs Tóm tắt: Quote: Các lệnh này mới rất hay. Tui tóm tắt như sau GN: Ứng dụng lấy tên của hàm API tại địa chỉ chỉ định GPA : Ứng dụng lấy địa chỉ của một hàm API nào đó để đặt bp tại địa chỉ đó GMI: Thấy thông tin về module mà eip(hay một adrr) đang trỏ. Nhiều khi tử huyệt cần
  2. crack ko nằm trong file exe mà lại nằm trong file dll. Ta ứng dụng lệnh này để lấy thông tin module xvii-Các lệnh Tranfer (dời thao tác) (dời sự thực thi của script đến một label nào đó trong trong file script): Có 2 trạng thái cần phân biệt: -Breakpoint (Điểm ngắt trong Olly): Ngắt do người dùng ép buộc -Exception (sự phản kháng của Olly): Ngắt do Olly phản kháng. Các lệnh này can thiệp vào 2 trạng thái ngắt ở trên. Mục đích chính của các lệnh này là báo cho Script biết, khi nào ngắt xảy ra thì rời ngắt thực thi tiếp (COB,COE) hay nhảy đến một đọan script nào đó thực thi tiếp(EOB,EOE). Vì vậy khi viết script, lệnh này đặt đâu cũng được miễn trước break mà ta dự tính sẽ xử lý. Quote: EOB label --------- Transfer execution to some label on next breakpoint. Example: eob SOME_LABEL EOE label --------- Transfer execution to some label on next exception. Example: eob SOME_LABEL COB --- Makes script continue execution after a breakpoint has occured (removes EOB) Example: COB COE --- Makes script continue execution after an exception has occured (removes EOE) Example: COE Tóm tắt:
  3. Quote: EOB,EOE,COB,COE xiii-Các lệnh thực thi trong Script: Lệnh dễ và cũ , tui ko dịch , chỉ dịch các lệnh mới mà thôi Quote: #INC file --------- Includes a script file in another script file Example: #inc "anotherscript.txt" CMT addr, text -------------- Inserts a comment at the specified address Example: cmt eip, "This is the entry point" RET --- Exits script. Example: ret DBH --- Hides debugger Example: dbh DBS --- Unhides debugger Example: dbs EVAL ---- Mục đích: Kết hợp một string với một giá trị đã tính tóan thành một string mới được set trong biến $RESULT
  4. Evaluates a string expression that contains variables. The variables that are declared in the current script can be enclosed in curly braces {} to be inserted. Sets the reserved $RESULT variable Example: var x mov x, 1000 eval "The value of x is {x}" // after this $RESULT is "The value of x is 00001000" EXEC/ENDE --------- Mục đích của các lệnh này là can thiệp vào trong quá trình thực thi của Olly, như thay đổi giá trị thanh ghi, hay exit tiến trình thực thi. Executes instructions between EXEC and ENDE in the context of the target process. Values in curly braces {} are replaced by their values. Example: // This does some movs var x var y mov x, "eax" mov y, "0DEADBEEF" exec mov {x}, {y} // mov eax, 0DEADBEEF will be executed mov ecx, {x} // mov ecx, eax will be executed ende // This calls ExitProcess in the debugged application exec push 0 call ExitProcess ende ret GO addr ------- Executes to specified address (like G in SoftIce) Example: go 401005 Integration with other plugins (tích hợp với một plugins khác) ---------------------------------
  5. You can call OllyScript from your plugin and make it execute a script. Use something like the source code below: (Bạn có thể gọi OllScript từ một plugin củ abạn và bắt nó thực thi một script .Ta xử dụng hàm này:) HMODULE hMod = GetModuleHandle("OllyScript.dll"); if(hMod) // Check that the other plugin is present and loaded { // Get address of exported function int (*pFunc)(char*) = (int (*)(char*)) GetProcAddress(hMod, "ExecuteScript"); if(pFunc) // Check that the other plugin exports the correct function pFunc("myscript.txt"); // Execute exported function } Tóm tắt: Quote: #INC,CMT,RET,DBH,DBS, EXEC/ENDE,EVAL,GO, HMODULE Đến đây là hết TUT này. Benina hy vọng qua TUT này , các cracker sẽ viết rất nhiều script tuyệt đẹp. Command Line Plugin Welcome, sau một thời gian làm quen với Olly hôm nay em xin giới thiệu với mọi người một Plugin không kém phần quan trọng của Olly , đó chính là Plugin Command Line. 
Đồng bộ tài khoản