1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracking part 18 potx

6 251 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 102,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đọc Synchronization để biết thêm thông tin về alertable wait state và quá trình overlapped input / output WritePrivateProfileStringA / WritePrivateProfileStringW Code: BOOL WritePrivateP

Trang 1

Returns

Nếu function hoàn thành , giá trị trả về là TRUE

Nếu function không hoàn thành , giá trị trả về là FALSE Để có thêm thông tin về lỗi, chúng ta dùng hàm GetLastError

Nếu hàm WriteFileEx hoàn thành , calling thread có quá trình I/O không đồng bộ trong khoảng thời gian : overlapped viết thao tác vào file Khi quá trình I/O này kết thúc, và lệnh gọi thread bị khóa trong alertable wait state, hệ thống gọi hàm

IpCompletionRoutine, và sự chờ đợi hoàn thành với đoạn code trở lại

WAIT_IO_COMPLETION

Nếu function hoàn thành và quá trình viết dữ liệu vào file hoàn thành, nhưng lệnh call thread không nằm trong alertable wait state, hệ thống queue lệnh call *IpCompletion, típ tục lệnh call cho đến khi lệnh gọi thread “gia nhập” alertable wait state Đọc

Synchronization để biết thêm thông tin về alertable wait state và quá trình overlapped input / output

WritePrivateProfileStringA / WritePrivateProfileStringW

Code:

BOOL WritePrivateProfileString(

LPCTSTR lpszSection, // address of section name

LPCTSTR lpszKey, // address of key name

LPCTSTR lpszString, // address of string to add

LPCTSTR lpszFile // address of initialization filename

);

Returns

Nếu function copy string vào file khởi tạo thành công, giá trị trả về là TRUE

Nếu function không hoàn thành , hoặc nếu nó flush cached version của hầu hết file khởi tạo truy cập gần đây, giá trị trả về là FALSE Để có thông tin về lỗi, chúng ta dùng hàm GetLastError

03.5 Registry Accesses

==============

RegCreateKeyA / RegCreateKeyW

Hàm RegCreateKey có nhiệm vụ tạo specified key Nếu key đã có trong registry, hàm này sẽ mở nó Hàm này tương thích với Windows 3.1 Đối với Win32 chúng ta nên sử dụng hàm RegCreateKeyEx

Code:

LONG RegCreateKey(

HKEY hKey, // handle of an open key

LPCTSTR lpszSubKey, // address of name of subkey to open

PHKEY phkResult // address of buffer for opened handle

);

Trang 2

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegCreateKeyExA / RegCreateKeyExW

Hàm RegCreateKeyEx có nhiệm vụ tạo specified key Nếu key đã có trong registry, hàm này sẽ mở nó

Code:

LONG RegCreateKeyEx(

HKEY hKey, // handle of an open key

LPCTSTR lpszSubKey, // address of subkey name

DWORD dwReserved, // reserved

LPTSTR lpszClass, // address of class string

DWORD fdwOptions, // special options flag

REGSAM samDesired, // desired security access

LPSECURITY_ATTRIBUTES lpSecurityAttributes, // address of key security structure

PHKEY phkResult, // address of buffer for opened handle LPDWORD lpdwDisposition // address of disposition value buffer );

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegDeleteKeyA / RegDeleteKeyW

Hàm RegDeleteKey có nhiệm vụ xóa key và tất cả các key khác nằm trong nó

Code:

LONG RegDeleteKey(

HKEY hKey, // handle of open key

LPCTSTR lpszSubKey // address of name of subkey to delete );

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegDeleteValueA / RegDeleteValueW

Hàm RegDeleteValue có nhiệm vụ di chuyển named value từ specified registry key Code:

LONG RegDeleteValue(

Trang 3

HKEY hKey, // handle of key

LPTSTR lpszValue // address of value name

);

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegOpenKeyA / RegOpenKeyW

Hàm RegOpenKey có nhiệm vụ mở specified key Hàm này tương thích với Windows 3.1 Đối với Win32 chúng ta nên dùng hàm RegOpenKeyEx

Code:

LONG RegOpenKey(

HKEY hKey, // handle of open key

LPCTSTR lpszSubKey, // address of name of subkey to open

PHKEY phkResult // address of handle of open key

);

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegOpenKeyExA / RegOpenKeyExW

Hàm RegOpenKeyEx có nhiệm vụ mở specified key

Code:

LONG RegOpenKeyEx(

HKEY hKey, // handle of open key

LPCTSTR lpszSubKey, // address of name of subkey to open

DWORD dwReserved, // reserved

REGSAM samDesired, // security access mask

PHKEY phkResult // address of handle of open key

);

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegQueryValueA / RegQueryValueW

Hàm RegQueryValue có nhiệm vụ tìm giá trị kết hợp với giá trị không tên cho specified key trong registry Những giá trị trong registry có tên, type (loại) và thành phần dữ liệu Hàm này tìm dữ liệu cho giá trị đầu tiên của key có NULL name Hàm này tương thích với Windows 3.1 Còn đối với Win32 thì chúng ta nên dùng hàm RegQueryValueEx Code:

Trang 4

LONG RegQueryValue(

HKEY hKey, // handle of key to query

LPCTSTR lpszSubKey, // address of name of subkey to query

LPTSTR lpszValue, // address of buffer for ret string

PLONG pcbValue // address of buffer for size of ret string

);

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

RegQueryValueExA / RegQueryValueExW

Hàm RegQueryValueEx có nhiệm vụ tìm loại và dữ liệu cho giá trị có tên đã được xác định kết hợp với việc mở registry key

Code:

LONG RegQueryValueEx(

HKEY hKey, // handle of key to query

LPTSTR lpszValueName, // address of name of value to query

LPDWORD lpdwReserved, // reserved

LPDWORD lpdwType, // address of buffer for value type

LPBYTE lpbData, // address of data buffer

LPDWORD lpcbData // address of data buffer size

);

Returns

Nếu function hoàn thành , giá trị trả về là ERROR_SUCCESS

Nếu function không hoàn thành , giá trị trả về là 1 giá trị lỗi

03.6 Serial Catching

============

GetDlgItemInt

Hàm GetDlgItemInt có nhiệm vụ dịch text của specified control trong dialog box sang giá trị integer

Code:

UINT GetDlgItemInt(

HWND hDlg, // handle to dialog box

int nIDDlgItem, // control identifier

BOOL* lpTranslated, // points to var to rec suc/failr indicator

BOOL bSigned // specifies whether value is un/-signed

);

Returns

Nếu function hoàn thành , biến số pointed to bởi IpTranslated được set TRUE, và giá trị trả về là giá trị đã dịch từ control text

Trang 5

Nếu function không hoàn thành , biến số pointed to bởi IpTranslated được set FALSE, và giá trị trả về là 0 Nếu như 0 là giá trị translated thì giá trị trả về của 0 không tự indicate failure

Nếu IpTranslated là NULL, function return không có thông tin về hoàn thành hay không hoàn thành

Nếu thông số bSigned là TRUE, ghi rõ giá trị được tìm thấy là giá trị integer signed,

“quăng” giá trị trả về vào int type

GetDlgItemText / GetDlgItemTextA / GetDlgItemTextW

Hàm GetDlgItemText có nhiệm vụ tìm title hoặc text kết hợp với control trong dialog box

Code:

UINT GetDlgItemText(

HWND hDlg, // handle of dialog box

int nIDDlgItem, // identifier of control

LPTSTR lpString, // address of buffer for text

int nMaxCount // maximum size of string

);

Returns

Nếu function hoàn thành , giá trị trả về ghi rõ số kí tự được copy vào buffer, không bao gồm kí tự null

Nếu function không hoàn thành , giá trị trả về là 0

GetWindowLong / GetWindowLongA / GetWindowLongW

Hàm GetWindowLong có nhiệm vụ tìm thông tin về specified window Hàm này còn tìm giá trị 32bit tại specified offset và đưa nó vào extra window memory của window

Code:

LONG GetWindowLong(

HWND hWnd, // handle of window

int nIndex // offset of value to retrieve

);

Returns

Nếu function hoàn thành , giá trị trả về là giá trị 32bit

Nếu function không hoàn thành , giá trị trả về là 0 Để biết thêm thông tin về lỗi, chúng ta dùng hàm GetLastError

GetWindowText / GetWindowTextA

Hàm GetWindowText có nhiệm vụ copy text của title bar(nếu nó chỉ có 1) của specified window vào buffer Nếu specified window là 1 control thì text của control sẽ được copy Code:

int GetWindowText(

HWND hWnd, // handle of window or control with text

LPTSTR lpString, // address of buffer for text

Trang 6

 

Ngày đăng: 01/07/2014, 13:20

TỪ KHÓA LIÊN QUAN