|
rgb适合人群:
. u/ n, K9 g7 C% |2 R% X& r3 bwindows开发程序员,windows开发入门者,大学生,IT转行人员,退伍军人转业
. q( A. `+ z: x* a6 S6 y* P- ?! E( @# k a3 ~8 L+ f
课程目标:
4 D7 \: p5 z Y6 I, V通过课程的学习学习以下内容:1. 同步异步IO的原理及编码技巧。2. 线程池的工作原理及编码技巧。3. 动态链接库的原理及调用方式。4. C/C++、C#、VB、Python等语言调用动态链接库的编码技巧。5. 注入DLL的四种方法。6. 拦截API的原理及编码步骤。3 }+ t- z% ] f/ e3 t6 {
: t5 ~2 [+ l/ p3 k& ?3 N, ?% N课程简介:, o; M" M: U6 V, x: d
本部课程共分5章,涵盖了同步异步IO、线程池、动态链接库、注入DLL、拦截API五个主题。学习后可以彻底俯视众多windows初级程序员,尤其是众多专业工具的使用,如:dumpbin、debugview、processexplorer等,可以使你的技术素养再上一个台阶。6 j! V; b* N* O4 x7 S V
课程从原理入手结合大量编码实例讲解了以下具体内容:
; \/ D# ?0 N! N$ g y) p, r% K1. 在windows中如何处理同步异步IO,如何通过debugview进行本地和远程调试。
3 C& L4 T7 f& o) N' m' l+ E+ X2. 线程池调用的四种方式:异步方式调用;周期性调用;内核对象触发调用;异步IO触发调用。" u) y; B, B/ _
3. 线程池同步的五种方法:Interlocked族函数;临界区;事件内核对象;互斥量;信号量。* A0 |! [& U2 f" f
4. 线程池资源判断及定制。7 ^$ i- n- C- t; [% A5 B$ W
5. 动态链接库的编写及导出技巧。1 F$ A7 L/ C# C+ Y* W; u- t
6. 使用C/C++隐式和显式调用方法。
7 O6 j6 o4 n( R7 ^; V7. 使用C#、VB、Python等多种语言的调用技巧。
. n; W% B" o# {* c8. dll类库工业化设计技巧。2 L/ o$ h s9 U/ N
9. 注入DLL的四种方法:注册表法;函数转发;设置挂钩法;远程注入法;. x, f, H* m) l( X
10. DLL的局部钩子、全局钩子、指定线程钩子。- I7 z. c% `$ I' ?
11. 综合利用dumpbin、Debugview及ProcessExplorer等工具分析DLL内部调用关系。! k, q9 M( O2 a
12. 拦截API的原理,导入地址列表(IAT),拦截编码技巧。
6 G/ u" t- M' U# ]13. 注入DLL结合拦截API实例,崩溃到尖叫!!!
' ?& P8 N0 X5 [. i; K$ k/ @% z9 G2 X8 V% W$ O3 P* t' ^. w
课程目录:
, R7 A! K2 H7 S: ^( N9 l第1章 同步异步IO (3小时43分钟 23节)
$ G' _( o+ `# I" N/ X1-1七日成蝶课程体系说明(2020)[20:53]7 G8 |# i/ P+ b
1-2课程概览,学我所需[03:02]
: D+ N9 [3 L4 S: d& k z% i1-3(加餐)VS2019下载安装[11:49]) J5 [9 K2 V: H$ K$ q5 l0 X/ V
1-4(加餐)VS2019初体验[07:00]
# w. f7 m' v/ s$ R+ W1-5(加餐)#pragma once与#ifndef[04:18]7 e2 U/ [8 _6 w) X; h3 z
1-6Windows IO API详解[21:12]
5 A$ A5 H6 [$ _# R2 J1-7打开IO设备[08:17]4 \+ B2 ? \5 \# o* Y: {
1-8写入文件设备[05:22]4 L8 w2 C( p2 _4 c
1-9强制写入设备[03:15]
- |. \- w$ b9 S. C; Y; j, L1-10读取文件设备[06:02]0 u& c* }4 _! X9 T& h% V# i) N* c
1-11解决UNICODE编码问题[13:47]
3 f3 X; o, y4 r7 x+ m) W1-12获取文件大小[06:56]
- I/ C7 Y* a7 a+ w0 y' a1-13设置文件尾[07:49]
1 k3 G9 u( Y7 Y/ e% `- p6 A1-14异步读写[13:36]1 |% `" @0 p+ \3 A0 d
1-15异步读写判断[03:24]
" i: X3 e1 V7 B4 Z. `/ d7 O8 ]- U1-16异步完成IO(一)[06:50]
/ M4 {" u# V* W; e z* o1-17异步完成IO(二)[11:40]
+ I4 L& H+ n7 Q4 [9 M6 r4 y1-18异步完成IO(三)[12:40]
6 k' Z8 F( c( X1-19异步完成IO(四)[17:59]
. T W7 Z# s c( |2 b9 m1-20异步完成IO(五)[13:49]
3 J2 ^" `# b! C6 C! s" C1-21异步完成IO(六)[09:30]: L' d. N) ?( m1 j! v! {
1-22windows调试之debugview本地调试[07:22]
O( }1 l/ Q+ S" @0 [* v; ?1-23windows调试之debugview远程调试[06:31]8 n Q! X* ~ b6 E1 o6 g+ b1 q2 V8 q
8 \- ?8 W" A$ b& h- R第2章 线程池 (2小时36分钟 15节)
! A1 a& I( ~7 _& M$ p) k% i2-1课程概览,学我所需[04:06]& O/ c2 B& G0 s% Y+ h
2-2线程池原理及API[16:39]! a% u# S) A: j n
2-3异步方式调用(上)[08:40]
# a2 L+ ~% A/ }) Y/ t2-4异步方式调用(下)[08:43]
, c; m, @ {( T: O* W2-5周期性调用[30:15]; S" _, }$ e1 \* p& a1 s
2-6内核对象触发调用[12:55]- m& B# C. l3 G+ N6 y
2-7异步IO完成触发调用[15:54]
3 _6 U# T& l2 a2-8线程池同步-Interlocked族函数[08:36]. ~; K% k7 i1 x8 l) E+ C
2-9线程池同步-临界区[08:09]
+ `6 j8 t" D1 Y7 T( y* K7 G. g2-10线程池同步-事件内核对象[09:14]
% A' O# O" s: M2 Z' c2-11线程池同步-互斥量[04:13]+ K; a& k6 U! C% u5 Y
2-12线程池同步-信号量[06:41] y, ]+ a1 T% E0 k6 Z6 i# W7 t
2-13逻辑完成-解除等待[02:55]
0 Z) [& n$ L- U% A2-14线程资源判断[07:29]4 [: K. S1 [* U6 J+ I
2-15线程资源池定制[12:00]) a. @+ h4 L. b2 g- |$ Y2 \
0 |, d D) D7 o' t7 P4 l
第3章 动态链接库 (4小时16分钟 33节)0 }0 N' h' |3 o
3-1课程概览,学我所需[05:47]: H K( @/ n7 ?! c. O
3-2原理说明与初步接触[31:58]
( Y- V( x% P, n0 d2 a3-3从HelloWorld开始[07:15]' V' }4 M9 x! t8 o) X2 W
3-4使用dumpbin查看dll和exe[07:05]
+ _6 S) h4 k6 n! |3-5初始化加载法调用无参Dll[08:19]7 T9 o% v/ K \8 t( F' i
3-6初始加载法调用无参Dll[08:19]
. M+ e! {9 L E3 R/ c3-7随用随加载法调用动态链接库[11:59]( z- i$ Y; D) y _5 V! i3 r
3-8导出函数带参数的DLL[08:38]
|6 j& l6 f# g- s3-9初始加载法调用函数带参数的DLL[07:39]' X! a, N. I) p y5 M- b: z
3-10隐式调用带参函数的dll[09:23]
& f2 y1 K. o/ g8 ]8 X3-11C++调用C语言DLL的处理技巧[07:30]% E/ B) ?/ q8 H) U
3-12C++生成的DLL与C语言的区别[04:07]
7 A$ G& r7 J8 Q1 ^, v# V3-13C++调用C++生成的DLL[05:28]
* t" H2 X9 ?- T9 p. w3-14DLL导出类[05:35]
! W* z6 A6 H v$ q, F3-15C++调用导出类[03:59]9 i4 k: Z% E" u0 Y! U2 K6 }$ ^) _+ f
3-16类库的工业化设计(上)[10:15]
9 j! J& s3 ]+ E) Y. V4 j3-17类库的工业化设计(下)[11:18]
" O0 A5 ]: @/ k1 }% t3-18通过向导自动生成DLL[04:22]3 t9 V7 X5 F" `
3-19入口函数四种情况详解[17:47]% {. \: o7 W5 o; l& X' y, i
3-20安装C#、VB、Python[03:34], t3 j( S9 j9 K# s2 n- G
3-21__cdecl与__stdcall[07:37]
" e3 k. t. F" j4 ?( o* j3-22通过def文件规范C语言导出符号[05:07]1 q: P$ G$ ]: s, y. V
3-23通过def文件规范C++函数导出符号[01:56]
7 l: f) z" W+ M) j' A8 Y3-24通过def文件规范C++带参函数导出符号[05:03]
3 T) t# E) y/ k( G" P3-25C#调用C语言编写的DLL[12:41]
; b# ^8 ]3 G4 _/ u3 b+ h3-26C#无法直接调用C++导出的DLL[04:38] Y8 N# a3 m* V& c4 y1 t+ [
3-27C#调用def导出的C++动态链接库[02:51]7 W' u+ Y8 I- v
3-28C#调用有参导出函数(上)[06:36]
. ?2 A9 N' ~+ Z3-29C#调用有参导出函数(下)[03:18]8 A) o" |& d, i
3-30VB调用dll动态链接库(上)[07:44]
, r. X' X# A2 x& q2 U3-31VB调用dll动态链接库(下)[10:42]$ j! m2 `, j8 V0 ? R8 _
3-32Python调用dll动态链接库(上)[05:38]
8 N; k0 u" [0 C1 v" h9 q3-33Python调用dll动态链接库(下)[02:44]8 D8 L. [8 r0 }1 c) n2 n
' k9 g, v" H' L. C- {第4章 注入DLL (5小时25分钟 33节)8 D. h3 j& h/ O& a/ L+ m
4-1课程概览,学我所需[04:05]
! t" g& ]( ?2 Z* [; G* c% b; F4-2工作原理及技术说明[33:16]" M7 H7 i6 x) v6 R, ]
4-3VS201X的程序如何在windows XP下跑起来[08:25]5 J% z4 |9 L7 B3 {; w6 X
4-4注册表知识准备[10:11]
/ q! A+ T; o& n7 v( r4-5注册表注入DLL(上)[17:03]
4 O# V1 e& ]4 v4-6注册表注入DLL(下)[05:42]# I9 y, |% u1 T7 P2 F+ o' N' _& M
4-7DebugView验证注入DLL[07:34]
) l0 m* G3 c8 @- s9 A4-8ProcessExplorer验证注入DLL[03:23]6 U$ z, _. m6 @* v; @
4-9验证win7系统注入DLL的有效性[06:46]! ]! _. G5 x2 ?: Y
4-10函数转发注入DLL(一)[10:32]1 t8 {) w% X% g' Q( I' ^' P
4-11函数转发注入DLL(二)[08:08]5 z$ k' K- ~8 j& c: o
4-12函数转发注入DLL(三)[13:35] n: K4 ^9 g. ^$ |) w6 G @8 y( Z
4-13函数转发注入DLL(四)[04:28]
& W! t+ _% v3 ~: \4-14函数转发注入DLL(五)[05:07]7 k# w$ m- h6 ~. f4 i" i( B
4-15通过SetWindowsHookEx注入DLL(一)[11:04]4 K* J+ x: f3 t) }1 U- Y1 K
4-16通过SetWindowsHookEx注入DLL(二)[22:12]
; ~( B7 q+ P" Q3 Z+ `4-17通过SetWindowsHookEx注入DLL(三)[05:50]
8 I) N3 N+ i9 o) e& v1 j4-18通过SetWindowsHookEx注入DLL(四)[10:01]
6 N+ G$ t; h0 K9 X2 C4 V: A' D) r! |4-19通过SetWindowsHookEx注入DLL(五)[05:06]
( B$ [9 o) \; `/ f/ Q4-20通过SetWindowsHookEx注入DLL(六)[15:10]
% m8 M8 M! n0 k }' h' w) x' A4-21通过SetWindowsHookEx注入DLL(七)[12:47]
: G/ Z' S/ x& B! }4-22通过SetWindowsHookEx注入DLL(八)[07:10]
5 ~- e5 O( z, e% ]/ o4-23全局钩子(上)[06:48]% {0 R( @1 n, N4 Z4 q8 \4 o* r
4-24全局钩子(下)[14:00]
+ b+ L, b+ Q2 j( U: h. u4-25全局钩子之共享段(上)[15:20]
7 l" w* r/ |- ~. Y3 X3 H" W% D4-26全局钩子之共享段(下)[03:50]
`( X; ^ ~3 }$ {4-27挂钩指定线程(上)[10:01] s. ~# ^ K4 u. T, q# t
4-28挂钩指定线程(下)[03:12]
) S* `7 ^8 D1 N4-29远程注入DLL(一)[07:03]
/ q7 b7 p" h* d( v4 \4-30远程注入DLL(二)[21:40]
$ k. }3 Y; g0 P* N _4-31远程注入DLL(三)[07:10]6 c3 ]2 S: z9 \5 G) y$ x
4-32远程注入DLL(四)[05:42]2 ~: `; C7 J2 Q* n# e; D
4-33远程注入DLL(五)[03:32]
* m3 V* X$ K4 t4 C
( Q, |. ?# j: H- k, R t4 T第5章 拦截API (1小时39分钟 13节)
/ J& w( V" Y( A; `4 n; I4 L4 T* ?: g5-1课程概览,学我所需[03:03] X- g" s" S$ y) p
5-2拦截原理说明[06:22]
6 e+ V1 [2 w1 W3 y# J% i7 ~7 Q5-3先睹为快[03:41]
1 [, ^+ V5 w# F) J0 I5 V( `) ^5-4制作目标API[04:01]
: y7 r7 B2 U1 ?9 K( r5-5导出地址表(IAT)[10:22]
' X1 S7 j! @1 f' P7 @( f; @; F5-6核心编码(上)[25:43]
! S) N, Z4 p' x2 a4 H5-7(加餐)对照IAT表详解核心代码[08:40]
; ^5 M2 f7 @# `5-8核心编码(下)[05:38]
e! P: h$ i$ j5-9拦截调试[09:36]" H0 L3 o6 H+ ^+ t2 J* z* L4 C! @
5-10远程注入+拦截API(一)[05:06]5 z6 V: S6 _5 y, u1 I" X
5-11远程注入+拦截API(二)[06:16]1 n$ f. r$ N) L
5-12远程注入+拦截API(三)[04:58]8 y( w5 M8 o, y
5-13远程注入+拦截API(四)[05:43]
2 t5 S& J; U) J资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见
, p3 i& J- |* P6 L F8 N" O& E) x) K
8 X- W$ t# H+ v' ]! n" W9 x3 g# T, I6 ^
本资源由Java自学网收集整理【www.javazx.com】 |
|