常用断点设置

bpx hmemcpy
bpx Lockmytask

实在找不到断点可以试下面的方法:

bmsg handle wm_gettext
bmsg handle wm_command

拦截窗口:

bpx CreateWindow                     创建窗口
bpx CreateWindowEx(A/W)              创建窗口
bpx ShowWindow                       显示窗口
bpx UpdateWindow                     更新窗口
bpx GetWindowText(A/W)               获取窗口文本

拦截消息框:

bpx MessageBox(A/W)                  创建消息框
bpx MessageBoxExA(W)                 创建消息框
bpx MessageBoxIndirect(A/W)          创建定制消息框

拦截警告声:

bpx MessageBeep                      发出系统警告声

拦截对话框:

bpx DialogBox                        创建模态对话框
bpx DialogBoxParam(A/W)              创建模态对话框
bpx DialogBoxIndirect                创建模态对话框
bpx DialogBoxIndirectParam(A/W)      创建模态对话框
bpx CreateDialog                     创建非模态对话框
bpx CreateDialogParam(A/W)           创建非模态对话框
bpx CreateDialogIndirect             创建非模态对话框
bpx CreateDialogIndirectParam(A/W)   创建非模态对话框
bpx GetDlgItemText(A/W)              获取对话框文本
bpx GetDlgItemInt                    获取对话框整数值

拦截剪贴板:

bpx GetClipboardData                获取剪贴板数据

拦截注册表:

bpx RegOpenKey(A/W)                 打开子健
bpx RegOpenKeyExA(W)                打开子健
bpx RegQueryValue(A/W)              查找子健
bpx RegQueryValueEx(A/W)            查找子健
bpx RegSetValue(A/W)                设置子健
bpx RegSetValueEx(A/W)              设置子健

功能限制拦截断点:
                    
bpx EnableMenuItem                  禁止或允许菜单项
bpx EnableWindow                    禁止或允许窗口
bmsg hMenu wm_command          拦截菜单按键事件,其中hMenu为菜单句柄
bpx K32Thk1632Prolog

拦截时间:

bpx GetLocalTime                    获取本地时间
bpx GetSystemTime                   获取系统时间
bpx GetFileTime                     获取文件时间
bpx GetTickCount                获得自系统成功启动以来所经历的毫秒数
bpx GetCurrentTime                  获取当前时间(16位)  
bpx SetTimer                        创建定时器
bpx TimerProc                       定时器超时回调函数

拦截文件:

bpx CreateFileA(W)                  创建或打开文件 (32位)
bpx OpenFile                        打开文件       (32位)
bpx ReadFile                        读文件         (32位)
bpx WriteFile                       写文件         (32位)
bpx _lcreat                         创建或打开文件 (16位)
bpx _lopen                          打开文件       (16位)
bpx _lread                          读文件         (16位)
bpx _lwrite                         写文件         (16位)
bpx _hread                          读文件         (16位)        
bpx _hwrite                         写文件         (16位)

拦截驱动器:

bpx GetDrivetype(A/W)               获取磁盘驱动器类型
bpx GetLogicalDrives                获取逻辑驱动器符号
bpx GetLogicalDriveStringsA(W)  获取当前所有逻辑驱动器的根驱动器路径

拦截狗:

bpio -h 378(或278、3BC) R          378、278、3BC是并行打印端口
bpio -h 3F8(或2F8、3E8、2E8) R     3F8、2F8、3E8、2E8是串行端口

VB程序专用断点:

bpx msvbvm60!rtcMsgBox
bpx msvbvm60!__vbaStrCmp
bpx msvbvm60!__vbaStrComp
bpx msvbvm60!__vbaStrCompVar
bpx msvbvm60!__vbaStrTextCmp
bpx msvbvm60!__vbaFileOpen
bpx msvbvm60!__vbaInputFile
bpx msvbvm60!__vbaFileSeek
bpx msvbvm60!__vbaWriteFile
bpx msvbvm60!__vbaFileClose
bpx msvbvm60!rtcFileAttributes
bpx msvbvm60!rtcFileDateTime
bpx msvbvm60!rtcFileLen
bpx msvbvm60!rtcFileLength
bpx msvbvm60!__vbaVarInt
bpx msvbvm60!__vbaVarCmpGe
bpx msvbvm60!__vbaVarCmpGt
bpx msvbvm60!__vbaVarCmpLe
bpx msvbvm60!__vbaVarCmpLt
bpx msvbvm60!__vbaVarCmpNe
VB常用的一些函数:
   MultiByteToWideChar   将ANSI字符串转换成UNICODE字符
        WideCHatToMultiByte  将UNICODE字符转换成ANSI字符
        rtcT8ValFromBstr   把字符转换成浮点数  
        vbaStrCmp       比较字符串(常用断点)
        vbaStrComp      字符串比较(常用断点)
        vbaStrCopy      复制字符串
        StrConv        转换字符串
        vbaStrMove      移动字符串
        __vbaVarCat           连接字符串
        rtcMidCharVar         在字符串中取字符或者字符串!
        __vbaLenBstr          取字符串的长度
        vbaVarTstNe      变量比较
        vbaVarTstEq      变量比较
        rtcMsgBox       显示对话框
        VarBstrCmp      比较字符串
        VarCyCmp       比较字符串

常用断点设置API函数原型

--------------------------------------------------------------------------------

HWND CreateWindow(

LPCTSTR lpClassName, // 指向注册窗口类名的指针
LPCTSTR lpWindowName, // 指向窗口名的指针
DWORD dwStyle, // 窗口样式
int x, // 窗口水平位置
int y, // 窗口垂直位置
int nWidth, // 窗口宽度
int nHeight, // 窗口高度
HWND hWndParent, // 父窗口句柄
HMENU hMenu, // 菜单句柄
HANDLE hInstance, // 应用程序实例句柄
LPVOID lpParam // 指向创建窗口所需的数据
);

返回值:如果成功就返回新窗口的句柄;失败则返回NULL值

--------------------------------------------------------------------------------

HWND CreateWindowEx(

DWORD dwExStyle, // 扩展窗口样式
LPCTSTR lpClassName, // 指向注册窗口类名的指针
LPCTSTR lpWindowName, // 指向窗口名的指针
DWORD dwStyle, // 窗口样式
int x, // 窗口水平位置
int y, // 窗口垂直位置
int nWidth, // 窗口宽度
int nHeight, // 窗口高度
HWND hWndParent, // 父窗口句柄
HMENU hMenu, // 菜单句柄
HINSTANCE hInstance, // 应用程序实例句柄
LPVOID lpParam // 指向创建窗口所需的数据
);

返回值:如果成功就返回新窗口的句柄;失败则返回NULL值

--------------------------------------------------------------------------------

BOOL ShowWindow(

HWND hWnd, // 窗口句柄
int nCmdShow // 窗口显示状态
);

返回值:如果先前的窗口可见就返回非零值;如果先前的窗口隐藏则返回零值

--------------------------------------------------------------------------------

BOOL UpdateWindow(

HWND hWnd // 窗口句柄
);

返回值:如果成功就返回非零值;失败则返回零值

--------------------------------------------------------------------------------

int GetWindowText(

HWND hWnd, // 窗口或文本控件句柄
LPTSTR lpString, // 缓冲区地址
int nMaxCount // 最大字符数
);

返回值:如果成功就返回文本长度;失败则返回零值

--------------------------------------------------------------------------------

int MessageBox(

HWND hWnd, // 父窗口句柄
LPCTSTR lpText, // 消息框文本地址
LPCTSTR lpCaption, // 消息框标题地址
UINT uType // 消息框样式
);

返回值:如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT Abort 按钮被选择
IDCANCEL Cancel 按钮被选择
IDIGNORE Ignore 按钮被选择
IDNO No 按钮被选择
IDOK OK 按钮被选择
IDRETRY Retry 按钮被选择
IDYES Yes 按钮被选择

--------------------------------------------------------------------------------

int MessageBoxEx(

HWND hWnd, // 父窗口句柄
LPCTSTR lpText, // 消息框文本地址
LPCTSTR lpCaption, // 消息框标题地址
UINT uType, // 消息框样式
WORD wLanguageId // 语言标识
);

返回值:如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT Abort 按钮被选择
IDCANCEL Cancel 按钮被选择
IDIGNORE Ignore 按钮被选择
IDNO No 按钮被选择
IDOK OK 按钮被选择
IDRETRY Retry 按钮被选择
IDYES Yes 按钮被选择

--------------------------------------------------------------------------------

int MessageBoxIndirect(

LPMSGBOXPARAMS lpMsgBoxParams // 消息框参数结构地址
);

返回值:如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT Abort 按钮被选择
IDCANCEL Cancel 按钮被选择
IDIGNORE Ignore 按钮被选择
IDNO No 按钮被选择
IDOK OK 按钮被选择
IDRETRY Retry 按钮被选择
IDYES Yes 按钮被选择

--------------------------------------------------------------------------------

BOOL MessageBeep(

UINT uType // 声音类型
);

声音类型:
0xFFFFFFFF Standard beep using the computer speaker
MB_ICONASTERISK SystemAsterisk
MB_ICONEXCLAMATION SystemExclamation
MB_ICONHAND SystemHand
MB_ICONQUESTION SystemQuestion
MB_OK SystemDefault

返回值:如果成功就返回文本长度;失败则返回零值

--------------------------------------------------------------------------------

int DialogBox(

HINSTANCE hInstance, // 应用程序实例句柄
LPCTSTR lpTemplate, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc // 对话框处理函数指针
);

返回值:如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

--------------------------------------------------------------------------------

int DialogBoxParam(

HINSTANCE hInstance, // 应用程序实例句柄
LPCTSTR lpTemplateName, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc, // 对话框处理函数指针
LPARAM dwInitParam // 初始化值
);

返回值:如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

--------------------------------------------------------------------------------

int DialogBoxIndirect(

HINSTANCE hInstance, // 应用程序实例句柄
LPDLGTEMPLATE lpTemplate, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc // 对话框处理函数指针
);

返回值:如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

--------------------------------------------------------------------------------

int DialogBoxIndirectParam(

HINSTANCE hInstance, // 应用程序实例句柄
LPCDLGTEMPLATE lpTemplateName, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc, // 对话框处理函数指针
LPARAM dwInitParam // 初始化值
);

返回值:如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

--------------------------------------------------------------------------------

int CreateDialog(

HINSTANCE hInstance, // 应用程序实例句柄
LPCTSTR lpTemplate, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc // 对话框处理函数指针
);

返回值:如果成功就返回对话框句柄;失败则返回NULL

--------------------------------------------------------------------------------

int CreateDialogParam(

HINSTANCE hInstance, // 应用程序实例句柄
LPCTSTR lpTemplateName, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc, // 对话框处理函数指针
LPARAM dwInitParam // 初始化值
);

返回值:如果成功就返回对话框句柄;失败则返回NULL

--------------------------------------------------------------------------------

int CreateDialogIndirect(

HINSTANCE hInstance, // 应用程序实例句柄
LPDLGTEMPLATE lpTemplate, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc // 对话框处理函数指针
);

返回值:如果成功就返回对话框句柄;失败则返回NULL

--------------------------------------------------------------------------------

int CreateDialogIndirectParam(

HINSTANCE hInstance, // 应用程序实例句柄
LPCDLGTEMPLATE lpTemplateName, // 对话框模板指针
HWND hWndParent, // 父窗口句柄
DLGPROC lpDialogFunc, // 对话框处理函数指针
LPARAM dwInitParam // 初始化值
);

返回值:如果成功就返回对话框句柄;失败则返回NULL

--------------------------------------------------------------------------------

UINT GetDlgItemText(

HWND hDlg, // 对话框句柄
int nIDDlgItem, // 控件标识
LPTSTR lpString, // 文本缓冲区指针
int nMaxCount // 最大字符数
);

返回值:如果成功就返回文本长度;失败则返回零值

--------------------------------------------------------------------------------

UINT GetDlgItemInt(

HWND hDlg, // 对话框句柄
int nIDDlgItem, // 控件标识
BOOL *lpTranslated, // 接收成功/失败指示的指针
BOOL bSigned // 指定是有符号数还是无符号数
);

返回值:如果成功,lpTranslated被设置为TRUE,返回文本对应的整数值;如果失败,lpTranslated被设置为FALSE,返回值为零

--------------------------------------------------------------------------------

HANDLE GetClipboardData(

UINT uFormat // 剪贴板格式
);

返回值:如果成功就返回剪贴板对象的句柄;失败则返回NULL

--------------------------------------------------------------------------------

LONG RegOpenKey(

HKEY hKey, // 要打开的主键句柄
LPCTSTR lpSubKey, // 要打开的子键名地址
PHKEY phkResult // 存放打开子键句柄的地址
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

LONG RegOpenKeyEx(

HKEY hKey, // 要打开的主键句柄
LPCTSTR lpSubKey, // 要打开的子键名地址
DWORD ulOptions, // 保留,必须为0
REGSAM samDesired, // 存取掩码
PHKEY phkResult // 存放打开子键句柄的地址
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

LONG RegQueryValue(

HKEY hKey, // 需要查找的主键的句柄
LPCTSTR lpSubKey, // 需要查找的子键名地址
LPTSTR lpValue, // 存放结果的缓冲区地址
PLONG lpcbValue // 存放返回结果字节长度的缓冲区地址
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

LONG RegQueryValueEx(

HKEY hKey, // 需要查找的主键的句柄
LPTSTR lpValueName, // 需要查找的子键名地址
LPDWORD lpReserved, // 保留,必须为NULL.
LPDWORD lpType, // 存放子键类型的缓冲区地址
LPBYTE lpData, // 存放返回结果的缓冲区地址
LPDWORD lpcbData // 存放返回结果字节长度的缓冲区地址
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

LONG RegSetValue(

HKEY hKey, // 需要设置键值的主键句柄
LPCTSTR lpSubKey, // 需要设置的子键名地址
DWORD dwType, // 键值类型
LPCTSTR lpData, // 所设置的数据地址
DWORD cbData // 所设置的数据字节长度
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

LONG RegSetValueEx(

HKEY hKey, // 需要设置键值的主键句柄
LPCTSTR lpValueName, // 需要设置的子键名地址
DWORD Reserved, // 保留,必须为0
DWORD dwType, // 键值类型
CONST BYTE *lpData, // 所设置的数据地址
DWORD cbData // 所设置的数据字节长度
);

返回值:如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

--------------------------------------------------------------------------------

BOOL EnableMenuItem(

HMENU hMenu, // 菜单句柄
UINT uIDEnableItem, // 菜单项标识
UINT uEnable // 控制标志
);
uEnable的三种有用情况:
MF_DISABLED 禁止
MF_ENABLED 允许
MF_GRAYED 变灰

返回值:返回菜单项以前的状态,如果菜单项不存在就返回0xFFFFFFFF

--------------------------------------------------------------------------------

BOOL EnableWindow(

HWND hWnd, // 窗口句柄
BOOL bEnable // 禁止或允许标志
);
bEnable的两种状态:
TRUE 允许
FALSE 禁止

返回值:如果先前的窗口是禁止状态,则返回非零值;如果先前的窗口是允许状态,则返回零

--------------------------------------------------------------------------------

VOID GetLocalTime(

LPSYSTEMTIME lpSystemTime // 存放系统时间结构的地址
);

返回值:无

--------------------------------------------------------------------------------

VOID GetSystemTime(

LPSYSTEMTIME lpSystemTime // 存放系统时间结构的地址
);

返回值:无

--------------------------------------------------------------------------------

BOOL GetFileTime(

HANDLE hFile, // 文件句柄
LPFILETIME lpCreationTime, // 存放文件创建时间的地址
LPFILETIME lpLastAccessTime, // 存放文件最后一次存取时间的地址
LPFILETIME lpLastWriteTime // 存放文件最后一次写的地址
);

返回值:如果成功就返回非零值;失败则返回零

--------------------------------------------------------------------------------

DWORD GetTickCount(VOID)

返回值:如果成功就返回自WINDOWS启动以来所经历的毫秒数

--------------------------------------------------------------------------------

UINT SetTimer(

HWND hWnd, // 与定时器相关的窗口句柄
UINT nIDEvent, // 定时器标识
UINT uElapse, // 定时间隔,以毫秒为单位
TIMERPROC lpTimerFunc // 定时器超时函数地址
);

返回值:如果成功就返回新定时器的句柄,用于KillTimer结束定时器;失败则返回零

--------------------------------------------------------------------------------

VOID CALLBACK TimerProc(

HWND hwnd, // 与定时器相关的窗口句柄
UINT uMsg, // WM_TIMER 消息
UINT idEvent, // 定时器标识
DWORD dwTime // 由GetTickCount获得的当前系统时间
);

返回值:无

--------------------------------------------------------------------------------

HANDLE CreateFile(

LPCTSTR lpFileName, // 要打开的文件名指针
DWORD dwDesiredAccess, // 存取(读-写)模式
DWORD dwShareMode, // 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SECURITY_ATTRIBUTES 结构指针
DWORD dwCreationDistribution, // 打开方式
DWORD dwFlagsAndAttributes, // 文件属性
HANDLE hTemplateFile // GENERIC_READ方式存取的临时文件句柄
);

返回值:如果成功就返回文件句柄;失败则返回INVALID_HANDLE_VALUE

--------------------------------------------------------------------------------

HFILE OpenFile(

LPCSTR lpFileName, // 要打开的文件名指针
LPOFSTRUCT lpReOpenBuff, // 存放文件信息的缓冲区地址
UINT uStyle // 打开方式
);

返回值:如果成功就返回文件句柄;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

BOOL ReadFile(

HANDLE hFile, // 要读取的文件句柄
LPVOID lpBuffer, // 存放读出数据的缓冲区地址
DWORD nNumberOfBytesToRead, // 要读的字节数
LPDWORD lpNumberOfBytesRead, // 指向读取字节数的地址
LPOVERLAPPED lpOverlapped // OVERLAPPED 结构的地址
);

返回值:如果成功就返回非零值;失败则返回零

--------------------------------------------------------------------------------

BOOL WriteFile(

HANDLE hFile, // 要写入的文件句柄
LPCVOID lpBuffer, // 存放写入数据的缓冲区地址
DWORD nNumberOfBytesToWrite, // 写入的字节数
LPDWORD lpNumberOfBytesWritten, // 指向写入字节数的地址
LPOVERLAPPED lpOverlapped // OVERLAPPED 结构的地址
);

返回值:如果成功就返回非零值;失败则返回零

--------------------------------------------------------------------------------

HFILE _lcreat(

LPCSTR lpPathName, // 要打开的文件名指针
int iAttribute // 文件属性
);

返回值:如果成功就返回文件句柄;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

HFILE _lopen(

LPCSTR lpPathName, // 要打开的文件名指针
int iReadWrite // 文件存取模式
);

返回值:如果成功就返回文件句柄;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

UINT _lread(

HFILE hFile, // 文件句柄
LPVOID lpBuffer, // 存放读出数据的缓冲区地址
UINT uBytes // 读取的字节数
);

返回值:如果成功就返回实际读取的字节数;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

UINT _lwrite(

HFILE hFile, // 文件句柄
LPCSTR lpBuffer, // 存放写入数据的缓冲区地址
UINT uBytes // 写入的字节数
);

返回值:如果成功就返回实际写入的字节数;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

UINT _hread(

HFILE hFile, // 文件句柄
LPVOID lpBuffer, // 存放读出数据的缓冲区地址
UINT uBytes // 读取的字节数
);

返回值:如果成功就返回实际读取的字节数;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

UINT _hwrite(

HFILE hFile, // 文件句柄
LPCSTR lpBuffer, // 存放写入数据的缓冲区地址
UINT uBytes // 写入的字节数
);

返回值:如果成功就返回实际写入的字节数;失败则返回HFILE_ERROR

--------------------------------------------------------------------------------

UINT GetDriveType(

LPCTSTR lpRootPathName // 根路径地址
);

返回值如下所示之一:
0 无法决定
1 根目录不存在
DRIVE_REMOVABLE 可移动驱动器
DRIVE_FIXED 固定驱动器
DRIVE_REMOTE 远程(网络)驱动器
DRIVE_CDROM CD-ROM 驱动器
DRIVE_RAMDISK RAM disk

--------------------------------------------------------------------------------

DWORD GetLogicalDrives(VOID)

返回值:如果失败就返回零值,成功则返回由位掩码表示的当前可用驱动器:
bit 0 drive A
bit 1 drive B
bit 2 drive C
bit 3 drive D
。。。以此类推

--------------------------------------------------------------------------------

DWORD GetLogicalDriveStrings(

DWORD nBufferLength, // 缓冲区大小
LPTSTR lpBuffer // 缓冲区地址,如成功则返回结果为如下形式: c:\\d:\\
);

返回值:如果成功就返回实际的字符数;失败则返回零

时间: 2024-08-07 17:01:50

常用断点设置的相关文章

破解常用断点设置

bpx hmemcpy    破解万能断点,拦截内存拷贝动作bpx Lockmytask 当你用其它断点都无效时可以试一下,这个断点拦截按键的动作bmsg handle wm_gettext 拦截注册码(handle为对应窗口的句柄)bmsg handle wm_command 拦截OK按钮(handle为对应窗口的句柄) 拦截窗口:bpx CreateWindow      创建窗口bpx CreateWindowEx(A) 创建窗口bpx ShowWindow        显示窗口bpx

汇编命令及OD常用命令及断点设置

汇编32位CPU所含有的寄存器有: 4个数据寄存器(EAX.EBX.ECX和EDX)对低16位数据的存取,不会影响高16位的数据.这些低16位寄存器分别命名为:AX.BX.CX和DX,它和先前的CPU中的寄存器相一致.4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL.BX:BH-BL.CX:CH-CL.DX:DH-DL),每个寄存器都有自己的名称,可独立存取. 寄存器EAX通常称为累加器(Accumulator)     用累加器进行的操作可能需要更少时间.可用于乘. 除.输入/

OD常用断点之CC断点

在做Windows平台软件逆向时,Ollydbg是极其常用的逆向工具,动态调试功能非常强大.在调试过程中,断点的使用有助于确定关键的破解位置,今天讲解的内容是OD常用断点中的CC断点. CC断点有很多名称,比如普通断点.F2断点或者int3断点,每个名称都有它的来源.下面我们以crackme_01.exe为例子讲解一下如何设置CC断点以及其原理. 打开VM虚拟机,虚拟机中运行的操作系统为XP,接着使用OD载入crackme_01.exe.如下所示. 汇编窗口中展示的是crackme_01.exe

在vs2008中添加lib文件以及一些常用项目设置选项

下面以添加ws2_32.lib文件为例 方法一(直接添加代码): 直接在.cpp文件中,添加#pragma comment(lib, "ws2_32.lib");即可.(ws2_32.lib即为你要添加的lib文件) 方法二(在vs工具栏中添加): 1.项目(project) -> TcpSrv属性(TcpSrv properties) (其中TcpSrv为工程名) 2.打开TcpSrv属性页后,配置属性 -> 链接器(linker) -> 输入(Input) ,在附

Chrome 中的 JavaScript 断点设置和调试技巧

你是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容.嗯~,用这两种土办法确实解决了很多小型 JavaScript 脚本的调试问题.不过放着 Chrome 中功能越发强大的开发者工具不用实在太可惜了.本文主要介绍其中的 JavaScript 断点设置和调试功能,也就是其中的 Sources Panel(以前叫 Scripts).如果你精通 Eclipse 中的

OD调试程序常用断点大全

常用断点 拦截窗口: bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本 拦截消息框: bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框 bp IsDialogMessageW 拦截警告声: bp MessageBe

JVM常用参数设置

-server -Xms8g 初始堆大小 -Xmx8g 最大堆大小 -Xmn2g 年轻代大小 -Xss1024K 每个线程的堆栈大小 -XX:PermSize=256m -XX:MaxPermSize=512m Perm不属于堆内存,由虚拟机直接分配,可通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小 设置持久代(perm gen)初始值   设置持久代最大值 -XX:ParallelGCThreads=8 并行收集器的线程数 -XX:+UseConcMarkSwe

jvm常用参数设置 good

1.堆的大小可以通过 -Xms 和 -Xmx 来设置,一般将他们设置为相同的大小,目的是避免在每次垃圾回收后重新调整堆的大小,比如 -Xms=2g -Xmx=2g 或者 -Xms=512m -Xmx=512m 2.年轻代大小可以通过 -Xmn 来设置,比如-Xmn=2g 或者 -Xmn512m,此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8 3.年老代大小 = 堆大小 – 年轻代大小 4.持久代或者永久代大小可以通过 -XX:PermSize 和 -XX:MaxPermSize 来控

SecureCRT学习之道:SecureCRT常用快捷键设置与字体设置方法

常用快捷键: 全屏View->Full Screen 快捷键 Alt + Enter 菜单View 快捷键 Alt + V 打开新的终端 快捷键 Alt + B 字体设置: options->global options->general->Default session-> Edit Defalut Settings 网上有人建议用fixedsys,这个字体虽然不是最美丽的,但在终端上也是一个不错选择,大家都可以接受. 选择它,主要是因为它大小固定,在所有地方显示,效果都一