|
rgb适合人群:
, H7 B6 H/ j4 M9 M! Hwindows开发程序员,windows开发入门者,大学生,IT转行人员,退伍军人转业
: T6 y6 A; c |1 S# Y2 U* j' H7 u8 V4 {1 q( K
课程目标:
( ~4 M. Z% D P _' z通过课程的学习学习以下内容:1. 同步异步IO的原理及编码技巧。2. 线程池的工作原理及编码技巧。3. 动态链接库的原理及调用方式。4. C/C++、C#、VB、Python等语言调用动态链接库的编码技巧。5. 注入DLL的四种方法。6. 拦截API的原理及编码步骤。6 P: Y/ f5 u, B$ `, ?
5 M5 Z/ ~0 c- F. [9 |6 v+ [$ Z
课程简介:* @$ c/ P# }9 P5 V9 L; s
本部课程共分5章,涵盖了同步异步IO、线程池、动态链接库、注入DLL、拦截API五个主题。学习后可以彻底俯视众多windows初级程序员,尤其是众多专业工具的使用,如:dumpbin、debugview、processexplorer等,可以使你的技术素养再上一个台阶。
2 L3 u0 ]4 j# G. K: }5 S6 |' l. n课程从原理入手结合大量编码实例讲解了以下具体内容:5 B2 E+ B2 F, u; f1 @" ?; n* D
1. 在windows中如何处理同步异步IO,如何通过debugview进行本地和远程调试。
8 B# `* N9 d8 y) I+ _' n2. 线程池调用的四种方式:异步方式调用;周期性调用;内核对象触发调用;异步IO触发调用。2 Y) Z& [0 x9 @9 W5 T& S# F6 ^7 F
3. 线程池同步的五种方法:Interlocked族函数;临界区;事件内核对象;互斥量;信号量。1 {/ C9 f0 p: M# I' u
4. 线程池资源判断及定制。( ?5 @( s0 l/ S8 j6 D
5. 动态链接库的编写及导出技巧。
/ {5 q& p: I6 K `7 I; [7 ?6. 使用C/C++隐式和显式调用方法。+ A. y3 P4 ]; c, ? C3 X/ {& x
7. 使用C#、VB、Python等多种语言的调用技巧。/ l( E: |; e7 T
8. dll类库工业化设计技巧。( \2 _$ X0 J- K' x3 B3 t' z8 A
9. 注入DLL的四种方法:注册表法;函数转发;设置挂钩法;远程注入法;; M# i/ |1 H! R$ v$ T
10. DLL的局部钩子、全局钩子、指定线程钩子。7 k- N2 l5 ~4 S
11. 综合利用dumpbin、Debugview及ProcessExplorer等工具分析DLL内部调用关系。
0 W4 w% ?% T8 [- D* i, N( O C& T- s( z12. 拦截API的原理,导入地址列表(IAT),拦截编码技巧。
6 }6 [( ~; y0 h h! R' P13. 注入DLL结合拦截API实例,崩溃到尖叫!!!
5 @. C f j; I# ]* H) B5 d3 L1 O4 v9 T: q5 m
课程目录:
9 H( x- `, V2 v# \* D N; K第1章 同步异步IO (3小时43分钟 23节)9 R& f/ e; e% z1 j
1-1七日成蝶课程体系说明(2020)[20:53]: P4 X( p- \) l2 u
1-2课程概览,学我所需[03:02]
: ~. s t8 Y; C) w2 z$ a1-3(加餐)VS2019下载安装[11:49]
2 j9 J, w+ M$ ~8 C$ y' o1-4(加餐)VS2019初体验[07:00]
+ E( z2 A0 n' m+ ~' J2 m4 d1-5(加餐)#pragma once与#ifndef[04:18]
5 |3 c$ E$ _2 \; g1-6Windows IO API详解[21:12]- E" B% h/ P; b! Q# d
1-7打开IO设备[08:17]
7 u7 p- Y5 `. y8 g1-8写入文件设备[05:22]
9 I) L u( J& l F2 v/ c8 _# F1-9强制写入设备[03:15]7 u: L3 B9 I8 G& c* B5 v' E
1-10读取文件设备[06:02]' _8 J2 a8 x6 }0 k
1-11解决UNICODE编码问题[13:47]
: @/ f) Q" H; d, U' o1-12获取文件大小[06:56]% m- f3 Q% d! }4 x9 X" j
1-13设置文件尾[07:49]
|- \( x! _: ? N1-14异步读写[13:36]0 S+ Q+ _7 {* G. H: k0 g) C
1-15异步读写判断[03:24]+ {! _$ @8 @5 C$ L3 ~ l( }5 M- ]
1-16异步完成IO(一)[06:50]
# {; P) q. ]( d6 R0 Z: a5 |1-17异步完成IO(二)[11:40]
2 _/ j/ c' y5 s% F! W2 ]1-18异步完成IO(三)[12:40]0 y6 m7 c" k6 q& g' ?9 m$ e' k9 S& W
1-19异步完成IO(四)[17:59]! ]/ v% _ _* W: w; K* }
1-20异步完成IO(五)[13:49]1 e2 ?0 a7 S- ^
1-21异步完成IO(六)[09:30]4 R; _2 G! a: ~9 {4 ?9 g9 p/ Z4 T
1-22windows调试之debugview本地调试[07:22]
! W- |# e2 t# ^1 L$ j9 w4 r8 h4 {1-23windows调试之debugview远程调试[06:31]
7 d) i( ^' p. F% n% w+ l5 W
2 D. o; S# Z* d4 k) P! L第2章 线程池 (2小时36分钟 15节)
: U o- }# m/ J, v2-1课程概览,学我所需[04:06]
3 H) |3 l6 b6 k' d u9 V& P2-2线程池原理及API[16:39]
# d; i. ?9 c# ]$ z2 e2-3异步方式调用(上)[08:40]/ ~) B4 d5 ]% S6 `% K5 F u8 h, `
2-4异步方式调用(下)[08:43]) U' ]8 ]/ b7 {: `& [8 G4 E1 n
2-5周期性调用[30:15]5 ?% [1 g9 b" Y4 x
2-6内核对象触发调用[12:55]
5 F. ?# L) r) h3 o& u) M2-7异步IO完成触发调用[15:54]
1 f2 ~! k" p+ o/ p& i; h2-8线程池同步-Interlocked族函数[08:36]
- S# _. v o. j1 O2-9线程池同步-临界区[08:09]9 U0 r! _' C) ^
2-10线程池同步-事件内核对象[09:14]
" Z: A5 }8 n6 P, y- o+ _- w2-11线程池同步-互斥量[04:13]' G3 @. D) U, [ I V' r: K0 y( M
2-12线程池同步-信号量[06:41]
7 C; r: ~" Q5 l5 L2-13逻辑完成-解除等待[02:55]
( {& M2 Y. u# ?5 p' X2-14线程资源判断[07:29]; E; w/ |8 ~0 s" {6 U
2-15线程资源池定制[12:00]8 K! b- ]( P% w( G) ?+ F& K2 T9 [6 `
4 Y' p! f3 Q' i# s4 w
第3章 动态链接库 (4小时16分钟 33节)5 u# f M3 {4 H+ e1 Y+ o+ s+ z8 J0 l! x
3-1课程概览,学我所需[05:47]1 S o# L O7 [
3-2原理说明与初步接触[31:58]
* P3 \9 ~& {4 t Y6 v _6 f9 r3-3从HelloWorld开始[07:15]( S2 ] B g1 C3 H" i0 |9 }
3-4使用dumpbin查看dll和exe[07:05], |" ]3 s$ [6 n& @6 H8 F' s
3-5初始化加载法调用无参Dll[08:19]
, G! {' {1 A1 ?' C# F1 u" U1 b u3 m3-6初始加载法调用无参Dll[08:19]
2 J9 J: b: j+ ~# j& C1 v3 Q/ @9 }3-7随用随加载法调用动态链接库[11:59]
1 O4 `# D' Y! E6 @$ _: y1 ^9 a3-8导出函数带参数的DLL[08:38]$ y9 t! q1 O, T. A* G9 ?
3-9初始加载法调用函数带参数的DLL[07:39]
; w! u5 ~! Y7 l7 M) t# I. s3-10隐式调用带参函数的dll[09:23]) T' e/ L5 x2 v" m
3-11C++调用C语言DLL的处理技巧[07:30]3 p; Q( k" g" ?, h9 E1 d
3-12C++生成的DLL与C语言的区别[04:07]8 \; U; Y" H/ c% [$ }5 ]$ T" H+ _
3-13C++调用C++生成的DLL[05:28]
# W u8 s4 M0 D: l0 I2 p1 V& `% N3-14DLL导出类[05:35]
+ N. P9 N* H8 U8 Y% A' X3-15C++调用导出类[03:59]' A! A8 h% P8 T5 F, d7 v& z$ P% Y
3-16类库的工业化设计(上)[10:15]0 U; T% [* i& h2 t
3-17类库的工业化设计(下)[11:18]9 Z- ^+ t4 Y, Z$ k! e: z' U& S7 h
3-18通过向导自动生成DLL[04:22]1 G* S) E% W$ W1 o
3-19入口函数四种情况详解[17:47]
5 L- R: H: z+ f$ |) F; k S3-20安装C#、VB、Python[03:34]9 @5 z3 k% d6 K T7 I
3-21__cdecl与__stdcall[07:37]3 A8 h3 r2 o1 n% o. {9 p0 ~: w
3-22通过def文件规范C语言导出符号[05:07]4 X- k3 P& u# [: Y l
3-23通过def文件规范C++函数导出符号[01:56]
6 t+ U, C6 ]! H2 {$ N3-24通过def文件规范C++带参函数导出符号[05:03]6 z$ y5 H& W+ K) h3 X5 U0 ]8 b
3-25C#调用C语言编写的DLL[12:41]
5 e* U; U7 G) F! m4 i0 R! G4 |" A3-26C#无法直接调用C++导出的DLL[04:38]
# {& }( f. k* R R3-27C#调用def导出的C++动态链接库[02:51]! `$ k; l0 O# }9 [7 v( ^, N! O/ }4 Q
3-28C#调用有参导出函数(上)[06:36]
$ Z% S; ~, Q+ b) ^/ j3 q3-29C#调用有参导出函数(下)[03:18]
2 d8 x) `, d1 c, w" X3-30VB调用dll动态链接库(上)[07:44]
6 G7 I6 |- Z6 ~% q' a% I0 Z1 T3-31VB调用dll动态链接库(下)[10:42]& b7 g2 Y- w, H3 n5 m4 C9 r
3-32Python调用dll动态链接库(上)[05:38]4 Q! l1 G& Y; L2 y% k6 u
3-33Python调用dll动态链接库(下)[02:44]# P/ B+ w0 c6 @/ W
, ?3 Z4 `+ b W4 T5 E6 N
第4章 注入DLL (5小时25分钟 33节)( r$ ]; r5 d& j9 S. ? z4 M% N2 w
4-1课程概览,学我所需[04:05]' g: T2 r6 e9 j' [) D$ V
4-2工作原理及技术说明[33:16]' J3 N4 @! T: Z+ S2 k
4-3VS201X的程序如何在windows XP下跑起来[08:25]
5 T) S/ C, g) N- |% s( [6 G4-4注册表知识准备[10:11]
! S7 h3 T2 o- F7 o4 j. O4-5注册表注入DLL(上)[17:03]
6 F( c+ x* a' ~1 t& \$ w4-6注册表注入DLL(下)[05:42]+ X6 {2 a; I; n% F* ?# {6 N+ g
4-7DebugView验证注入DLL[07:34]8 g2 ~( ?3 }' @5 p9 r, B. i0 N
4-8ProcessExplorer验证注入DLL[03:23]4 \: r9 s+ o2 ~; Q! u" M+ D8 c
4-9验证win7系统注入DLL的有效性[06:46]
) J. U) v" `/ {/ h4-10函数转发注入DLL(一)[10:32]! t3 y: G. f- c. @
4-11函数转发注入DLL(二)[08:08]( \8 s: N% E ^4 I: h* b1 l
4-12函数转发注入DLL(三)[13:35]+ j9 m0 Y6 d. M. w; \
4-13函数转发注入DLL(四)[04:28]
* `! p8 ~7 ?8 f6 W5 g' s4-14函数转发注入DLL(五)[05:07]7 K+ c' k5 Z- C* D9 E, G
4-15通过SetWindowsHookEx注入DLL(一)[11:04]
. ]) s( W H. P4-16通过SetWindowsHookEx注入DLL(二)[22:12]0 Y# J8 r* B# J! U& ]+ E
4-17通过SetWindowsHookEx注入DLL(三)[05:50]0 m. G' q8 j- l$ I" V% x, c
4-18通过SetWindowsHookEx注入DLL(四)[10:01]
# z7 }. ^0 X! ]. V' h0 R4-19通过SetWindowsHookEx注入DLL(五)[05:06]2 l% v% U! ?- q+ G: p' Q, T
4-20通过SetWindowsHookEx注入DLL(六)[15:10]8 y8 M: X+ H* h& _" c
4-21通过SetWindowsHookEx注入DLL(七)[12:47]
. C" R! l' L2 D% g1 L i4-22通过SetWindowsHookEx注入DLL(八)[07:10]
4 v+ Z& V" R) K* c& C a, j8 G, _4-23全局钩子(上)[06:48]5 C* F5 m! i/ ] q
4-24全局钩子(下)[14:00]
+ b" S. a6 l: R0 _; r6 t K; ^, I4-25全局钩子之共享段(上)[15:20]
6 J0 }" _% ^$ U/ G4-26全局钩子之共享段(下)[03:50] C8 y) Q4 h/ k q
4-27挂钩指定线程(上)[10:01]
) I. b$ m) T8 ?5 t$ n* O4-28挂钩指定线程(下)[03:12]
- m, i, [0 B5 C% b4-29远程注入DLL(一)[07:03]
3 `; e& K0 A! d0 y4-30远程注入DLL(二)[21:40]
, a$ i8 o2 ~: O4 K( A4-31远程注入DLL(三)[07:10]+ ^" j9 S, W4 \7 r% H
4-32远程注入DLL(四)[05:42]. v( M6 A0 U1 i' I
4-33远程注入DLL(五)[03:32]
- s5 N, @- C6 ?1 g) p
7 I+ f! _- ?" j4 u3 N- T1 Y) p第5章 拦截API (1小时39分钟 13节)
3 l! _& O$ j! d6 M5-1课程概览,学我所需[03:03]
- a( k# y/ A/ b$ p4 _5-2拦截原理说明[06:22]
. |# |% v: {: D: I5-3先睹为快[03:41]& V# o( s* U4 S1 f. g- N! V% g
5-4制作目标API[04:01]
& I8 {; D# G L4 x+ C1 }0 o9 K7 R" m, B5-5导出地址表(IAT)[10:22]& a1 T3 | o" Q7 A6 K
5-6核心编码(上)[25:43]
3 y& G. e$ l8 {% P W8 z# X5-7(加餐)对照IAT表详解核心代码[08:40]
?" u+ f4 f' d# b1 N: t2 Z5-8核心编码(下)[05:38]- b% L4 V6 \! b9 M# s3 Z
5-9拦截调试[09:36]
5 A: t' F9 }7 m% c1 I5-10远程注入+拦截API(一)[05:06]( C; i# o4 a7 U2 Q2 ?' N
5-11远程注入+拦截API(二)[06:16]
; z1 `# u) p: M" O+ i. D) p3 b5-12远程注入+拦截API(三)[04:58]! t0 A4 R$ B6 K) ?( ?2 z5 t
5-13远程注入+拦截API(四)[05:43] * z1 U7 g7 A2 w8 E) ~0 i3 b7 }
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见
9 g; g5 E) A+ v+ x$ x
6 U3 ^7 m4 x, Z- z3 x. @8 U! \! P# a$ o& N
/ M& f- z9 v, U本资源由Java自学网收集整理【www.javazx.com】 |
|