拦截窗口: bp CreateWindow 创建窗口0 I3 ?; @6 J9 o% T bp CreateWindowEx(A) 创建窗口, U& O& U3 z+ Q& K9 R) ?- m' i bp ShowWindow 显示窗口% [' c8 [9 T1 W9 B& @ bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本4 B2 h( |0 j/ l! n; f 拦截消息框:* f7 ]$ \+ d( Z( f1 ~ bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框 , Z4 M+ v0 a: ~: ]6 M3 I6 E 拦截警告声:" k- A* l C/ u3 r% G9 q" H# l bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声) 拦截对话框:9 g9 ]5 l# W" n9 ?4 ~+ w bp DialogBox 创建模态对话框 bp DialogBoxParam(A) 创建模态对话框 bp DialogBoxIndirect 创建模态对话框- |/ y! r, |4 e5 V: t9 c- d3 g bp DialogBoxIndirectParam(A) 创建模态对话框1 B# _; Z9 o: _2 g' }( H bp CreateDialog 创建非模态对话框/ o' V4 v1 C+ Q+ Y bp CreateDialogParam(A) 创建非模态对话框( @$ y9 m0 \& `# b( L bp CreateDialogIndirect 创建非模态对话框 bp CreateDialogIndirectParam(A) 创建非模态对话框8 Y$ d5 u& [, y3 t2 T7 q bp GetDlgItemText(A) 获取对话框文本 bp GetDlgItemInt 获取对话框整数值) [2 A4 o0 i9 y# t) T1 z 拦截剪贴板: bp GetClipboardData 获取剪贴板数据 拦截注册表: bp RegOpenKey(A) 打开子健 bp RegOpenKeyEx 打开子健 bp RegQueryValue(A) 查找子健 bp RegQueryValueEx 查找子健 bp RegSetValue(A) 设置子健. m+ y8 y v* I, P7 ~+ t6 I bp RegSetValueEx(A) 设置子健' Q6 R7 G, g/ R1 V 功能限制拦截断点:; m# Z7 ~( M" O* M2 F6 a4 y4 o5 Z bp EnableMenuItem 禁止或允许菜单项 bp EnableWindow 禁止或允许窗口1 q2 e) ^9 q! B- A 拦截时间:4 O- m7 R! [7 u% z8 U* V: W6 x bp GetLocalTime 获取本地时间 bp GetSystemTime 获取系统时间 bp GetFileTime 获取文件时间' G: D% G; o3 P4 y, i4 r bp GetTickCount 获得自系统成功启动以来所经历的毫秒数& R8 a: G# O# H" w$ B bp GetCurrentTime 获取当前时间(16位)9 q; v: {6 U; I l6 B bp SetTimer 创建定时器7 Y+ v+ k# ^. o bp TimerProc 定时器超时回调函数 拦截文件:, T8 I6 U8 T+ A: R. [- ~+ m bp CreateFileA 创建或打开文件 (32位) e7 Q h$ u3 i i4 R5 R bp OpenFile 打开文件 (32位) bp ReadFile 读文件 (32位)5 L4 a4 g6 B$ Q# l bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件) 拦截驱动器: bp GetDriveTypeA 获取磁盘驱动器类型 bp GetLogicalDrives 获取逻辑驱动器符号* J% y0 y% Q' ` {5 N( q% I1 ] bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径 ★★VB程序专用断点★★ bp __vbaStrCmp 比较字符串是否相等 bp __vbaStrComp 比较字符串是否相等 bp __vbaVarTstNe 比较变量是否不相等2 z1 V+ S+ N# V0 |8 N/ r bp __vbaVarTstEq 比较变量是否相等) c/ W# L6 ~4 z1 D. Y' J bp __vbaStrCopy 复制字符串 bp __vbaStrMove 移动字符串 bp MultiByteToWideChar ANSI字符串转换成Unicode字符串* d' a+ v0 G( g! K# G bp WideCharToMultiByte Unicode字符串转换成ANSI字符串 解自校验% w6 M$ `' G& T) |4 h6 Z' K; t bpx CreateFileA( }" o6 T! D b/ @& b bpx GetFileSize bpx SetFilePointer2 \6 G0 p1 h! |7 [ Y bpx ExitProcess6 v) i- S* ?4 Y* z4 K F12堆栈调用 破解思路 C类# F8 E; z8 `3 C) M Point-H法 bp GetDlgItem(断输入框) bp MessageBoxA(断对话框) 字符串法 F12堆栈调用$ ?) o! W8 U9 | e B、D类# o2 c# t' P' e' ~# A$ d o0 X DEDE、PE Explorer作为强有力的辅助工具4 ~. D! c% e% ^" O/ F8 a 关键还是找按妞事件 Point-H法+ B/ e3 U+ D; E A4 C bp GetDlgItem(断输入框) bp MessageBoxA(断对话框)% O+ i5 t$ N) N) S; J! C 字符串法 F12堆栈调用 V类 VBExplorer、GetVBRes、SmatCheck作为强有力的辅助工具7 ?/ l: N5 s- q* S 关键还是找按妞事件 bp rtcMsgBox(断对话框) ********************************* 如果是重启验证就使用最开始的那些断点 C类语言破解 1、bp MessageBoxA(W)(断对话框)—Ctrl+N 2、Point-H法$ ?) M2 U2 _0 {6 M 3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框) 4、字符串法—插件/搜索所有参考文本 Delphi/BC++语言破解 1、DEDE结合PE Explorer找按妞事件 2、Point-H法- U/ K8 n: R8 x) Q 3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框) 4、bp MessageBoxA(W)(断对话框)—Ctrl+N 5、字符串法—插件/搜索所有参考文本 6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样,可以通过DEDE查找FormCreate/FormShow,找到关键标志位4 f F& c6 ~0 O* v# @ VB语言破解 1、VBExplorer查找按钮事件 2、有提示框则 bp rtcMsgBox(断对话框)$ J4 e$ M1 H; O% n) p8 y1 S 3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq 4、万能断点法(816C24法)5 q1 X" h7 ^: f2 U; U# `# a: f# H 5、字符串法—插件/搜索所有参考文本" o$ ^& R: _8 N5 s6 I- @ 易语言破解0 Q) n% G+ V( x+ @' y 1、借助E-Code Explorer查找按钮事件4 K, t' ?) y! S2 e' ~ 2、下消息断点,查看堆栈再返回 3、eCode法–断按钮事件+ x) \6 N" f: m$ v3 c) v& ^: Q 4、字符串法—插件/搜索所有参考文本 按钮事件固定模式: 0040EC78 837D F4 00 cmp dword ptr ss:[ebp-C],0 ;关键判断 0040EC7C 0F84 3B000000 je dcse.0040ECBD ;关键跳 0040EC82 68 04000080 push 80000004: x( h3 O2 `; F) Z7 c/ t8 Q 0040EC87 6A 00 push 0 0040EC89 68 EC904000 push dcse.004090EC3 k$ ?* e, ]$ s$ F1 b 0040EC8E 68 01030080 push 80000301 0040EC93 6A 00 push 0 00 40EC95 68 00000000 push 0 0040EC9A 68 04000080 push 80000004 0040EC9F 6A 00 push 0+ m. F- q8 b# }# } 0040ECA1 68 F1904000 push dcse.004090F1 0040ECA6 68 03000000 push 35 ?; F1 K0 r7 R6 @ V 0040ECAB BB 00030000 mov ebx,300 0040ECB0 E8 92000000 call dcse.0040ED47 0040ECB5 83C4 28 add esp,28 0040ECB8 E9 36000000 jmp dcse.0040ECF3 0040ECBD 68 04000080 push 80000004' G% s3 P# G$ O" M 0040ECC2 6A 00 push 0 0040ECC4 68 CC904000 push dcse.004090CC1 g+ P. [6 F* [+ v( o$ j z% f 0040ECC9 68 01030080 push 80000301 0040ECCE 6A 00 push 0 t3 S% f( }8 m# D3 c- N 0040ECD0 68 00000000 push 0, r" m' U" U) i& k 0040ECD5 68 04000080 push 800000048 \; @4 U) @8 a 0040ECDA 6A 00 push 02 q1 B9 R; C3 a7 A( W 0040ECDC 68 02914000 push dcse.00409102" Z: q& |0 H5 |5 R7 C+ N1 O 0040ECE1 68 03000000 push 3 0040ECE6 BB 00030000 mov ebx,300 0040ECEB E8 57000000 call dcse.0040ED471 X" j% e" I/ B 0040ECF0 83C4 28 add esp,28. G1 I& }/ M+ w6 ]; C% j 0040ECF3 8BE5 mov esp,ebp 0040ECF5 5D pop ebp- A- Z' c3 Z) l1 t5 S" e s" o 0040ECF6 C3 retn* K y0 N" ]4 X p0 o# W# J4 { ****************************************************************************************************************************************** 按钮事件1 ?: t5 o4 I2 P3 `0 E 1、有注册错误/正确提示 bp MessageBoxA bp rtcMsgBox5 J' o' ]2 V* i# N \3 S |! Z 如果事先找不到按钮事件,可以通过下消息断点,返回后回溯即可找到按钮事件起始位置, S# D: r) R; q3 i( @4 D 2、无任何提示# ^) D; `: L0 |6 M9 y4 q$ c9 S bp GetDlgItem 可以通过bp GetDlgItem获取按钮事件代码- u0 P$ g1 N: p" G* o 3、未注册一启动或者关闭就跳出个注册框或者提示框; L2 n+ B) v' A9 B( F0 A1 W bp RegOpenKey(A) bp CreateFileA0 O8 a( c0 Q* X/ L6 {: p' f( |( k- z5 [ bp GetPrivateProfileStringA 文件: reg/ini/dll/其他 至于保存到什么文件,可以使用以下方法 1、查找字符串,看是否有可疑文件名或者注册表键名/ Q3 s; }9 }: S1 {' D0 B6 } 2、猜。。。下断点观察 3、按钮事件跟踪! c9 ?' w/ m# q 4、未注册一启动或者关闭就打开网页链接( z' `' b3 B4 @! p" e" i, ~3 t% s bp ShellExecuteA 类似的组合 Cmp/test/其他判断0 ] _) E; v; Y1 c Je/jne/jne/jz XXXXXXXX 软件启动—>判断是否注册—>是否Open% v3 @. N- D7 F, ?5 M. E3 Y 断下后回溯代码即可找到关键点,常用的方法,转存跟踪法; X1 `* o# y( C; k2 _ 5、未注册就功能使用限制 判断是否注册—>某种功能是否让你使用,如果不能够用,一定会有提示的,或是错误提示或是弹出注册框等,那么从提示入手即可找到解除限制的关键 不完美破解:解除功能限制 6、未注册就日期限制% H1 S7 M1 D; w9 w( t bp GetLocalTime 获取本地时间 bp GetSystemTime 获取系统时间 bp GetFileTime 获取文件时间( V5 k/ {( U- [" U' i$ R+ n 一般下这几个断点比较难分析关键 捷径:查找字符串–找可疑文件–一般以DLL多见" r/ K$ E4 ^# ?3 E1 m! F. d1 } 只要不让它读取到这个DLL即可解除限制 7、Demo(演示试用版)–功能残缺 这个和上面的功能限制不一样 功能限制是软件本身就有这个功能,对程序而言,相对应的功能代码也存在# a3 @' m. Z. y7 p$ {- a Demo即是没这个功能,空架子一个而已 一句话:破解也无用! 8、网络验证3 x# u- ?9 X) |5 x K" _ 无法登陆有错误提示者:下消息断点回溯代码,找按钮事件,从头来过,从按钮事件开始跟踪,找网络验证CALL(所需要登陆的地址在这个CALL里面),接下来就是分析返回值或者改登陆地址为本地(127.0.0.1),再后面就需要改某些跳转了 无法登陆自动退出者:下bp ExitProcess断下(一般可以断下)回溯代码,找按钮事件,从来来过,从按钮事件开始跟踪,找网络验证CALL(所需要登陆的地址在这个CALL里面),接下来就是分析返回值或者改登陆地址为本地(127.0.0.1),再后面就需要改某些跳转了4 t3 w9 d8 W0 s0 R+ \( c 9、狗加密 一般狗加密软件,一启动就会检测所需要的狗文件,若没有狗文件,提示错误+ B% j% o* ^( \% |3 t: i9 ] 这里我们有两个入手点. E$ e7 p* p9 o" q 1、“一启动就会检测所需要的狗文件”,下bp CreateFileA等断点,断下后,回溯 2、“若没有狗文件,提示错误”,下bp MessageBoxA,断下后,回溯 总结:& s9 c+ n) O K6 W! v 从上面的介绍说明可以看出,有这么一个共同点—按钮事件,可以这么说,按钮事件是我们的思路之门5 |$ \5 i; |5 D3 X( K3 Q 按钮事件可以这样得来:% B3 s9 C! K3 R& _ 1、通过下相应断点,回溯代码' K ^/ T# e% C! w* r 2、通过辅助工具快捷的得到(VBExplorer、DEDE) ******************************************************************************************************************************************' w* e# i# L0 _( f- @+ y. | 重启验证3 t0 w" C2 ]2 N 80%-90%的软件基本都是重启验证类型. @, X" l8 J9 L C$ {+ [ 1、注册表类型 Bpx RegOpenKeyA(W)( K& R& Y' X f. b4 K8 X; G& |, Z Bpx RegOpenKeyExA(W)3 R( W/ k+ H9 E, N8 w 2、ini文件类型(*.reg/*.ini) Bpx GetPrivateProfileStringA 3、其他文件类型(*.dat/*.lic…); s0 q( [+ h; }0 W, P4 X Bpx CreateFileA(W) Bpx ReadFile; t5 _& |* K/ B 4、DLL文件操作类型 如果没有什么有效的拦截函数,不妨试一下Bpx CreateFileA(W).余下的就是通过你的经验去判断了(例如:35课) 注意:建议使用Bpx断点,这样,比较快捷、准确。尚若Bpx失效,再尝试bp% ^% A T4 K3 b' m( f/ |9 y% ?8 k 方便断点设置的有以下3个断点插件,APIBreak中国版(不带Point-H),APIBreak英文版(带Point-H)、+BP-Olly8 _7 Y- H+ F o7 c- b# F1 c3 W ******************************************************************************************************************************************& I5 j) r" g% G" n( v; c 去nag框的方法6 f7 n4 @4 ~; n' t 1、若是Delphi&BCB程序,可以通过FormCreate法查找到FormCreate,再单步跟踪,找到窗口的调用CALL,一般它的具体形式是call dword ptr ds:[edx+E8] 2、OD载入程序后,单步跟踪,找到窗口的调用CALL 8 Z/ i! U( e5 h1 T6 X/ o ******************************************************************************************************************************************+ C& `3 f$ T$ @' k5 h2 ?$ w2 V# X 两种经典方法 1、Point-H法) M+ D( T1 E8 W 此法类似下断点bp GetWindowText(A/W),但是,在某些Point-H断不下来的情况下,bp GetWindowText(A/W)却可以断下来。Point-H能够断下来的,bp GetWindowTextA基本上都可以顺利断下3 B6 |- x, I& |: x G! @ 2、转存跟踪法) [0 w3 y2 }% @' Z# ]7 h: i, M$ z 到底是byte/word/Dword断点,一般情况下是byte,其他特殊情况大家临场判断 ******************************************************************************************************************************************3 j% J1 o6 I. h 灰色按钮3 T- ?3 P, U$ H( t+ q8 _4 Q 有两种情况:通过代码和控件属性 [9 C! q7 h+ b7 O' G8 ^ VB语言: 代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉3 }- j7 X3 ]5 S4 ?9 Z$ \% A7 ^* ?8 q! X 控件属性:VBExplorer 辅助工具改属性+ ~0 y+ A# c) H% l: x Delphi/BC++语言: 代码:通过DEDE找FormCreate,记下地址,改 retn 控件属性:相关辅助工具改属性 易语言: 代码:bp EnableWindow,断下后返回,把 push ebp 改为 retn 控件属性:用十六进制工具查找 BOB4C5A5 ,把它后面的 07 改 051 y$ U$ d* g& D* C( V 破解时常用断点:6 R: J0 [- w: l! ] VB MASM32 VC BCB 易语言 Delphi8 [# T4 z/ f# j0 @ VB破解 1、VBExplorer查找按钮事件. ~! O6 s# b9 b8 M. c 2、有提示框则bp rtcMsgBox 3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq% a9 g7 K5 E2 |; J bp __vbaStrCmp bp __vbaStrComp 4、万能断点法(816C24法)& P3 r5 T S, ]$ Y7 M: f 注册验证程序可以用这个断点下断,一般离程序访问注册表很近: bp __vbaStrToAnsi 5.F12堆栈调用; z/ g# U1 i3 u- M 总结: VB程序破解的关键跳转,一般与其它语言的不同,没有JPM XXXXXXX7 C+ X9 w @2 g4 L 一般以 JE/JNE XXXXXXXXX 跳转记录一般不会很远(虽然是短距离跳转,但是关键就在这里,可以设置大量的信息) 。如果发现False/True 可能是关键点 VB:8 ^3 Q6 t" ^ [: c1 V$ M XXXXXXX JE/JNE XXXXX4 r- i v- t7 ]; K6 D6 `9 [: W+ L 3 t" S; H( P w8 I8 T) P8 k 设置信息( m( R+ C/ S( Y) t Delphi BC++ 易语言 VC++ 汇编: XXXXXXX JE/JNE XXXXX 设置信息 XXXXXXX JMP XXXXX 设置信息 VC++ 汇编(有的 一段,一段的): XXXXXXX JE/JNE XXXXX) Y6 a# m2 g3 T3 o3 P9 Q + g2 N, c" I4 ?/ i! a5 ~9 W' ] 设置信息 retn push xx% p( o0 y2 K1 c% K% ^ ' t* G& D% d. x( O) J) e 设置信息 retn5 L [& G2 Z3 c" x7 c! F. s push xx& F5 ?, d- I) V+ X* E, W 4 j; r" Y& ?; L2 H. ] 设置信息9 f6 m5 b; k4 x, C retn 易语言 易语言破解思路:# ]" ^7 J3 |. d9 | 1. 信息框法 bp MessageBoxA(断对话框)! x0 L( Y8 o- R- o2 a 2.字符串法/ @- X; d4 q9 y; q7 } 查看易语言文本信息: bp GetProcessHeap F9运行4次,取消断点 执行ALT+F9 用户代码 F8单步走; G& Q2 M, g/ D' a' }3 V5 g) U6 o+ s9 h 或者在区段为”.data”/”.ecode”下断,运行: a: }# u0 a. e6 M/ J; h 3.窗口标题法 bp SetWindowTextA 4.F12堆栈调用 0040C0CB=易语言.0040C0CB (ASCII “shaonanshaonvluntan”)% `& D5 g; X9 N( H4 i5 ] DELPHI破解:* s' x: u* e+ j. e1 C 1、DEDE、PE Explorer ResScope作为强有力的辅助工具找按妞事件 2、Point-H法) k# V) p1 f7 F% O/ m+ r 3、bp GetDlgItem/GetDlgItemTextA(断输入框)4 X9 c7 `/ x! k! w0 ?1 ~3 F1 z 4、bp MessageBoxA(W)(断对话框)—Ctrl+N% W! E' R7 \9 `; O* x2 k8 S8 Q 5、字符串法—插件/搜索所有参考文本. O1 C# h* S- F' B 6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的) e+ E @3 [ k. q# n+ { 可以通过查找FormCreate/FormShow—-DEDE,找到关键标志位! 来判断程序怎么样的判断是否注册或者用户类型 7. 窗口标题法 bp SetWindowTextA 8.F12堆栈调用( I1 F/ v, \* ?9 T* ~$ D' {5 L. [, b 注册表:, Z+ e! a* F9 ]7 t9 G bpx RegCreateKeyExA 对于Delphi程序程序来说,用这个断点比较合适7 p3 }9 w. G8 |, f) d: ` bp RegCreateKeyExA 对于加了壳的程序 注册码:Rc1-420+用户名(不能为整数,)+C00L C+破解 C类( {6 f2 ~5 C% _8 n Point-H法 bp GetDlgItem(断按下按钮) bp MessageBoxA(断对话框)9 j( K/ ^% Y- ~# k9 Q9 `/ U 字符串法 F12堆栈调用 窗口标题法 bp SetWindowTextA ★★C+程序专用断点★★9 S$ N4 \5 f2 p. J; J bp lstrcmpA (KERNEL32.lstrcmpA) 比较用法 bp _mbscmp //比较) J; i) u! L, _. Y7 p) A C类程序的经典断点: bp GetWindowTextA(断按下按钮) //也是适用于其它语言 bp GetWindowTextLengthA(断按下按钮) //也是适用于其它语言 bp GetDlgItem(断按下按钮) //也是适用于其它语言 bp GetDlgItemTextA ds:[004021C8]=77C01881 (msvcrt._mbscmp)" M/ i; d) ^6 |! ^# N( p3 b BC++破解 1、DEDE、PE Explorer作为强有力的辅助工具找按妞事件 2、Point-H法" G0 p6 m" C& K+ Q: i. p 3、bp GetDlgItem/GetDlgItemTextA(断输入框) 4、bp MessageBoxA(W)(断对话框)—Ctrl+N2 t7 ?/ `! m* K2 ^$ f4 T" { 5、字符串法—插件/搜索所有参考文本( `; |2 E& h- {7 s I0 f 6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的 可以通过查找FormCreate/FormShow—-DEDE,找到关键标志位! 来判断程序怎么样的判断是否注册或者用户类型 7.窗口标题法 bp SetWindowTextA 8.F12堆栈调用 bpx RegCreateKeyExA 对于Delphi程序程序来说,用这个断点比较合适 A0 {6 W3 n4 c9 S3 s4 x bp RegCreateKeyExA 对于加了壳的程序+ G3 w9 q O+ j4 [/ O MASM32 / TASM32破解% v) j( t, E9 U( U4 k7 N- F& I 入口点 : 004011C7 6A 00 push 0 004011C9 E8 5E070000 call 0040192C 004011CE A3 70614000 mov dword ptr ds:[406170],eax 004011D3 6A 00 push 0 004011D5 68 EE114000 push MASM32.004011EE 004011DA 6A 00 push 02 z. t' G5 S) g+ O0 a7 n8 ~ 004011DC 68 C8000000 push 0C85 V* @ i) Y, j- `" ` Point-H法 bp GetDlgItem(断按下按钮) bp MessageBoxA(断对话框) 字符串法 F12堆栈调用 窗口标题法 bp SetWindowTextA OD常用断点2 1、限制程序功能函数 EnableMenuItem 允许、禁止或变灰指定的菜单条目. |5 [# X( B; n/ Q EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) 2、对话框函数; T9 s2 y: _: h) X' F) R, ~ CreateDialog 从资源模板建立一非模态对话窗 CreateDialogParam 从资源模板建立一非模态对话窗 CreateDialogIndirect 从内存模板建立一非模态对话窗, A% g! T; y6 N% `3 N: Q, E) @" u; S CreateDialogIndirectParam 从内存模板建立一非模态对话窗 DialogBox 从资源模板建立一模态对话窗' |9 {& i) U! O b& d( |* q9 X DialogBoxParam 从资源模板建立一模态对话窗 DialogBoxIndirect 从内存模板建立一模态对话窗 DialogBoxIndirectParam 从内存模板建立一模态对话窗 EndDialog 结束一模态对话窗/ q$ j/ M5 T0 n2 [ MessageBox 显示一信息对话框 MessageBoxEx 显示一信息对话框 MessageBoxIndirect 显示一定制信息对话框 GetDlgItemInt 得指定输入框整数值 GetDlgItemText 得指定输入框输入字符串7 f& A2 J j" ]0 D! K GetDlgItemTextA 得指定输入框输入字符串 Hmemcpy 内存复制 (非应用程序直接调用)* u8 g; I, @8 a3 S 3、磁盘处理函数1273?GAMEHK所有–admin?11326. h% {6 k. S2 d) r' A3 c$ ^ GetDiskFreeSpaceA 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量) A4 Z3 b' L. ?6 ~4 Q& q: x7 R# Z GetDiskFreeSpaceExA 获取与一个磁盘的组织以及剩余空间容量有关的信息 GetDriveTypeA 判断一个磁盘驱动器的类型 GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母 GetFullPathNameA 获取指定文件的详细路径- x1 l6 @; W- H0 O$ n! Y GetVolumeInformationA 获取与一个磁盘卷有关的信息 GetWindowsDirectoryA 获取Windows目录的完整路径名. D! B0 ^" p9 p5 F GetSystemDirectoryA 取得Windows系统目录(即System目录)的完整路径名# g5 C+ r" g, F 4、文件处理函数 CreateFileA 打开和创建文件、管道、邮槽、通信服务、设备以及控制台 OpenFile 这个函数能执行大量不同的文件操作; j1 L m, @; [. Q; K ReadFile 从文件中读出数据: Z: Y$ e5 E& M) \ ReadFileEx 与ReadFile相似,只是它只能用于异步读操作,并包含了一个完整的回调5 I3 A! Z- r. M& U _* E! t WriteFile 将数据写入一个文件 WriteFileEx 与WriteFile类似,只是它只能用于异步写操作,并包括了一个完整的回调 SetFilePointer 在一个文件中设置当前的读写位置 SetEndOfFile 针对一个打开的文件,将当前文件位置设为文件末尾; v6 E9 s$ E+ [) e* G CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等3 \* b/ Y8 N& {1 S! V8 T2 s0 Q _lcreat 创建一个文件 _lopen 以二进制模式打开指定的文件2 \. O( m# R! v, v" a3 a9 ] j _lread 将文件中的数据读入内存缓冲区2 W" f/ F* S- u* p9 B* n _lwrite 将数据从内存缓冲区写入一个文件' V2 `2 \' k5 \7 |0 M$ g/ | _llseek 设置文件中进行读写的当前位置' ?0 G' x% x% s8 N' [- X: H _lclose 关闭指定的文件 _hread 将文件中的数据读入内存缓冲区 _hwrite 将数据从内存缓冲区写入一个文件 OpenFileMappingA 打开一个现成的文件映射对象 CreateFileMappingA 创建一个新的文件映射对象 MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间9 [6 K X/ C+ K: ]/ H1 ^% @" B1 u MapViewOfFileEx (内容同上) CreateDirectoryA 创建一个新目录 CreateDirectoryExA 创建一个新目录 RemoveDirectoryA 删除指定目录) W* r, e' ~5 t, e+ L SetCurrentDirectoryA 设置当前目录2 R6 Y9 @: C6 ?4 N1 P MoveFileA 移动文件& T1 G' F6 y+ X+ j" ? o* \ DeleteFileA 删除指定文件 CopyFileA 复制文件7 X% ^4 K; x% { e2 e) k CompareFileTime 对比两个文件的时间0 X9 Y+ a/ [3 _ SetFileAttributesA 设置文件属性# X$ Z& m" h1 e) s$ u; @. Y SetFileTime 设置文件的创建、访问及上次修改时间 FindFirstFileA 根据文件名查找文件 FindNextFileA 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件' O2 N- G ~6 m( D3 G FindClose 关闭由FindFirstFile函数创建的一个搜索句柄( q! a* e J( w6 { SearchPathA 查找指定文件 GetBinaryTypeA 判断文件是否可以执行 GetFileAttributesA 判断指定文件的属性$ r J, S3 ]) M GetFileSize 判断文件长度- R% I" p* H5 n1 Z% d9 M+ u GetFileTime 取得指定文件的时间信息8 A' V2 f8 x- `9 B GetFileType 在给出文件句柄的前提下,判断文件类型 5、注册表处理函数0 D5 j% `" q6 @+ e$ S* v RegOpenKeyA 打开一个现有的注册表项 RegOpenKeyExA 打开一个现有的注册表项* y9 u) B2 ^2 H8 H1 ~ RegCreateKeyA 在指定的项下创建或打开一个项+ O: ^. p v+ ]# b: b3 _* t/ \ RegCreateKeyExA 在指定项下创建新项的更复杂的方式: O! \$ E; z7 c/ ^% H+ H RegDeleteKeyA 删除现有项下方一个指定的子项7 d9 Q' Y5 X/ ~5 Q$ |! ^! D5 Z5 W9 q RegDeleteValueA 删除指定项下方的一个值 RegQueryValueA 获取一个项的设置值 RegQueryValueExA 获取一个项的设置值 RegSetValueA 设置指定项或子项的值 RegSetValueExA 设置指定项的值 RegCloseKey 关闭系统注册表中的一个项(或键) 6、时间处理函数 CompareFileTime 比较两文件时间 GetFileTime 得文件建立,最后访问,修改时间 w8 H4 u9 u* b- | GetLocalTime 得当前本地时间 GetSystemTime 得当前系统时间 GetTickCount 得windows启动至现时毫秒 SetFileTime 设置文件时间 SetLocalTime 设置本地时间$ @ W% x. @2 a# V& c- w& p2 S6 v6 B SetSystemTime 设置系统时间 7、进程函数 CreateProcessA 创建一个新进程0 S1 e- u1 [" m1 e4 o ExitProcess 以干净的方式关闭一个进程 FindExecutableA 查找与一个指定文件关联在一起的程序的文件名 FreeLibray 释放指定的动态链库 GetCurrentProcess 获取当前进程的一个伪句柄2 L3 T6 c3 l; W' k5 m* m GetCurrentProcessId 获取当前进程一个唯一的标识符 GetCurrentThread 获取当前线程的一个伪句柄 GetExitCodeProces 获取一个已结束进程的退出代码: g; }8 ^; j# M2 t5 m+ b6 B GetExitCodeThread 获取一个已结束线程的退出代码 GetModuleHandleA 获取一个应用程序或动态链接库的模块句柄 GetPriorityClassA 获取特定进程的优先级别 Z; _8 M/ G; ~( v LoadLibraryA 载入指定的动态链接库,并将它映射到当前进程使用的地址空间 LoadLibraryExA 装载指定的动态链接库,并为当前进程把它映射到地址空间, D/ D: J; T* S& \0 I3 j+ ? LoadModule 载入一个windows应用程序,并在指定的环境中运行 TerminateProcess 结束一个进程 |
OD常用断点大全~
最新推荐文章于 2021-04-27 15:07:29 发布