自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

511遇见

511遇见视频教程涉及易语言、大漠、多线程、ADB、模拟器,游戏辅助,word press主题制作等

原创 易语言多线程启动方式许可证显示线程信息

通过创建许可证,来显示线程的启动信息,便于了解线程情况。511遇见易语言多线程大漠多线程代码:.版本 2.支持库 EThread.子程序 子程序1.参数 参数.局部变量 n编辑框2.内容 = “正在启动线程” + 到文本 (参数)许可证1 = 创建进入许可证 ()进入许可区 (许可证1).判断开始 (参数 = 1)标签1.文本颜色 = #红色标签1.标题 = “线程1已经启动”.循环判断首 ()程序_延时 (5000, )n = n + 1编辑框1..

2020-05-31 09:21:06 207

原创 易语言多线程大漠多线程初始化COM库
原力计划

一、什么是COM组件1、COM是Component Object Model (组件对象模型)的缩写2、COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。3、COM组件是遵循COM规范编写的4、COM组件必须是动态链接的5、COM组件不是一种计算机语言6、COM组件不是DLL,只是利用DLL来给组件提供动态链接的能力7、COM组件不是一个API函数集。8、COM组件不是类,COM 就是一套接口规范,就好象交通规则一样9、可以供多种语言调用,跨语言

2020-05-31 09:20:23 1247

原创 易语言大漠多线程启动方式许可证

易语言线程许可证一、许可证1、E语言也叫做许可证 = 锁2、一般用许可证是在多个线程要同时写一个集变量或全局变量才或部分组件的读写3、不要毫秒级的频繁的操作某些个组件,4、 基本原则是,任何组件都不要多线程操作。除非,你能确保他不会同时操作!5、无论是那种语言的界面组件,频繁的操作组件,不是界面假死,就是崩溃,真的死掉6、原则上来说,界面组件只是展示数据的,不是存储数据的。如非必要,不要频繁的去读取和修改7、可用数组存储起来,多线程中根据索引操作数组,数组改变时,同步列表就好了

2020-05-31 09:19:44 165

原创 易语言大漠多线程免注册调用大漠插件

易语言免注册调用大漠1、使用dmreg.dll来配合实现,这个文件有2个导出接口SetDllPathW和SetDllPathA。 SetDllPathW对应unicode,SetDllPathA对应ascii接口.2、LoadLibrary 然后调用SetDllPathA或者SetDllPathW都可以首先解释一下,不注册调用大漠插件,实际上是使用dmreg.dll来配合实现,这个文件有2个导出接口SetDllPathW和SetDllPathA。 SetDllPathW对应unicode,S

2020-05-31 09:18:51 347

原创 易语言多线程Api封装线程等待CPU优化

API-线程等待CPU优化用到的API1、MsgWaitForMultipleObjects2、WaitForSingleObject3、SetThreadAffinityMask4、SetThreadIdealProcessor511遇见易语言多线程大漠多线程模块源码.子程序 线程_等待, 逻辑型, 公开, 等待一个线程,返回真表示线程运行结束,返回假表示已超时.参数 线程句柄, 整数型.参数 等待时间, 整数型, 可空, 单位毫秒,默认为5秒,无限等待--4294967

2020-05-31 09:18:27 167

原创 易语言多线程Api封装线程挂起恢复销毁

封装多线程模块-api-线程的挂起和恢复销毁强制杀死或挂起线程会导致线程正在获取的锁资源无法释放;如果正在操作一块公共内存,可能会导致公共内存被破坏。一、SuspendThread在实际环境中,调用SuspendThread时必须小心,因为不知道暂停线程运行时它在进行什么操作。如果线程试图从堆栈中分配内存,那么该线程将在该堆栈上设置一个锁。当其他线程试图访问该堆栈时,这些线程的访问就被停止,知道第一个线程恢复运行 。只有确切知道目标线程是什么(或者目标线程正在做什么),并且采取强有力的措施来避免因暂停

2020-05-31 09:17:55 193

原创 易语言大漠免注册程序集模块制作方法

以程序集模块的方式调用,采用免注册的办法,防止大漠插件注册到系统后被拦截。模块源码:.版本 2.程序集 集_单线程.程序集变量 obj, 对象.子程序 初始化插件, 逻辑型, 公开, 成功返回真.参数 是否收费版, 逻辑型, 可空, 为空免费创建目录 (取运行目录 () + “\game”)置文件属性 (取运行目录 () + “\game”, 2 + 4)写到文件 (取运行目录 () + “\game\greg.dll”, #dmmreg)置文件属性 (取运行目录 () +

2020-05-31 09:11:56 216

原创 C#实现带图像列表的系统登录器

常用的管理软件一般都有系统登录验证模块,对进入系统的用户进行安全性检查,防止非法用户进入系统,本实例运行后,用户列表框中的每个用户都以图标的形式显示,增强了登录窗体的视觉效果。。采用ListView控件,ListView控件的View属性是一个View枚举值,包括:LargeIcon、Details、SmallIcon、List和Tile,用于获取或设置数据项在控件中的显示方式。using System;using System.Collections.Generic;using Syst

2020-05-31 09:11:29 134

原创 Win10桌面隐藏显示版本号

Win10怎么在桌面上显示版本号,那么我们如何不使用第三方工具来控制和显示它。当然也可以使用win10去水印工具:My WCP Watermark Editor,然后点击下方的“Apply newsettings”即可。首先在windows 10桌面上的Cortana搜索框中键入“regedit”。 (或者可以直接按win+R键打开运行窗口,输入regedit运行打开注册表)单击搜索结果中的条目,该条目引用注册表编辑器程序(regedit.exe)。 打开应用程序,导航到此特定键:Comput.

2020-05-31 09:11:04 253

原创 易语言大漠多线程启动线程传递参数自定义数据

线程传参自定义数据• 1、自定义数据类型• 2、传递自定义数据类型的指针• 3、把数据内存指针转换为新数据内存指针• 4、赋给新的自定义数据变量源码:.子程序 子程序1.参数 a, 整数型.局部变量 C, 自定义数据置换数据指针 (a, 取变量地址 (C))释放内存 (a)调试输出 (C.文本型)信息框 (到文本 (C.整数型) + C.文本型, 0, , ).子程序 置换数据指针, , 公开.参数 参_原数据内存地址, 整数型.参数 参_新数据内存地址, 整...

2020-05-30 09:22:52 304

原创 易语言大漠多线程传参指针地址

传参-指针地址• 1、到字节集(文本变量)• 2、取字节集长度()• 3、取指针地址()• 4、线程启动(&子程序1,指针地址,)源码:程序集 窗口程序集_启动窗口.程序集变量 字节集长度, 整数型.程序集变量 字节集变量, 字节集.子程序 _按钮1_被单击.局部变量 传参地址字节集变量 = 到字节集 (编辑框1.内容)字节集长度 = 取字节集长度 (字节集变量)传参地址 = 取指针地址 (字节集变量)启动线程 (&子程序1, 传参地址, )...

2020-05-30 09:22:37 168

原创 易语言大漠多线程创建线程

进程(process)和线程(thread)是操作系统的基本概念进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行第一课易语言大

2020-05-30 09:22:19 253

原创 易语言大漠多线程启动线程传参数组传参

多线程传参-数组传参1、传递数组变量2、取变量数据地址()3、等待线程()源码:.版本 2.支持库 EThread.支持库 spec.局部变量 n编辑框1.内容 = “”.计次循环首 (200, n) 文本数组 [n] = “编号--” + 到文本 (n) 启动线程 (&子程序1, 取变量数据地址 (文本数组 [n]), t) 等待线程 (t, 10).计次循环尾 ().子程序 子程序1.参数 a_address, 整数型.局部...

2020-05-30 09:21:45 234 1

原创 易语言多线程时钟多线程数组传参

传参-时钟多线程-数组传参1、时钟组件2、数组传参3、多线程传参教程源码:.版本 2.支持库 EThread.支持库 spec.局部变量 n, 整数型n = 取数组成员数 (A_str)重定义数组 (A_str, 真, n + 1)置随机数种子 ()A_str [n + 1] = “511遇见” + “|” + “www.511yj.com” + “|” + “不一样的遇见” + 时间到文本 (取现行时间 (), ) + “|” + 到文本 (取随机数 (666, 999..

2020-05-30 09:21:33 252

原创 易语言多线程多参数自定义封装

多线程多参数自定义封装• 1、启动线程_自定义(,,,,,,)• 2、.版本 2• 文件号 = 打开内存文件 ()• 写出数据 (文件号, 参数1, 参数2, 参数3, 参数4)• 启动线程 (子程序指针, 文件号, 线程句柄)• 3、移到文件首 (文件号)• 读入数据 (文件号, 整数, 字节集1, 逻辑, 文本)• 关闭文件 (文件号)源码:.子程序 启动线程_自定义, 整数型, 公开, 局线程句柄.参数 子程序指针, 子程序指针.参数 参数1, 整数型.参数 参数2, 字

2020-05-30 09:21:07 320

原创 易语言多线程封装线程启动优先权设置

线程启动-设置优先级1、SetThreadPriority2、ResumeThread模块源码:.子程序 线程_启动_优先权, 整数型, 公开, 返回线程句柄,必须用 线程_关闭_句柄()关闭这个句柄.参数 要启动的子程序, 子程序指针, , 要启动的子程序.参数 要传去子程序的参数, 整数型, 可空, 往子程序传递一个整数型参数.参数 不立即执行, 逻辑型, 可空, 是否立即执行,默认为空立即执行,不立即执行的话,ResumeThread线程_恢复.参数 线程优先级, 整数型, 可

2020-05-30 09:20:28 537

原创 语言多线程封装线程启动返回逻辑

封装多线程模块-线程启动(返回值-逻辑)• 1、线程_启动_逻辑()• 2、SHCreateThread• 易语言SHCreateThreadSHCreateThread function | Microsoft Docs https://docs.microsoft.com/zh-cn/windows/desktop/api/shlwapi/nf-shlwapi-shcreatethread511遇见易语言多线程大漠多线程SHCreateThread.版本 2.参数 线程地址,

2020-05-30 09:20:10 309

原创 易语言多线程封装线程启动返回句柄
原力计划

封装多线程模块-线程启动• 1、CreateThread• 2、线程_启动_句柄()• 3、线程_启动_逻辑()• 4、线程句柄• 5、线程ID• 6、易语言SHCreateThread511遇见易语言多线程大漠多线程SHCreateThread function | Microsoft Docs https://docs.microsoft.com/zh-cn/windows/desktop/api/shlwapi/nf-shlwapi-shcreatethread.版本

2020-05-30 09:19:49 1695

原创 大漠多线程线程传参数据变量地址

传参-变量数据地址• 1、变量数据地址=取变量数据地址()• 2、启动线程(,变量数据地址,,)• 3、指针到文本(变量数据地址)511遇见易语言多线程大漠多线程课程源码:.版本 2.支持库 spec.支持库 EThread.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击.局部变量 文本, 文本型.局部变量 地址, 整数型文本 = “511遇见(www.511yj.com)”地址 = 取变量数据地址 (文本)启动线程 (&子程序1, ...

2020-05-30 09:18:52 362

原创 语言多线程大漠多线程中转子程序传多参

线程传参线程启动(&子程序,整数参数,线程句柄)分类原则:511遇见易语言多线程大漠多线程(一)参数的多少1、一个整数参数2、多个整数参数3、一个文本参数4、多个文本参数(二)传参方法1、中转子程序2、传入变量地址3、传递内存地址4、用数组传递参数5、自定义(三)总结:(多线程文本传参方式)1.传入变量地址,适合单线程,多线程就容易出错。线程里面有可能还没取到数据,变量内容就有可能被主线程修改掉了。2.将参数文本写到内存,传递内存地址到线程里面,程序偶尔直.

2020-05-29 11:56:55 305

原创 易语言多线程大漠多线程进程线程多线程

进程-线程-多线程1、进程(process)狭义定义:进程就是一段程序的执行过程简单的来讲进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。进程状态:进程有三个状态,就绪、运行、阻塞。511遇见易语言多线程大漠多线程

2020-05-29 11:50:01 544

原创 易语言多线程许可证的几点理解

线程是一个程序内部的顺序控制流。cpu实际上在一个时间点上,只执行一个。只不过我们把cup分成了多个时间片,由于速度很快,我们看起来像是多个线程.线程许可证是用来解决并发冲突的!当进行多线程编程时,在操作会进行修改操作的程序集变量或全局变量时,需要进入许可区防止并发冲突,所以这个时候就需要一个排队序号,那就是许可证!如果你的多线程只是用来查询、读取或者都是局部变量的话,不需要创建许可区去解决并发冲突。1、许可证的添加一般是子程序变量或者是全局变量2、一般用许可证是在多个线程要同时写一个集变量或全局变量

2020-05-29 00:22:44 283

原创 易语言创建进程CreateProcessA暂停注入DLL到游戏进程

通过API(CreateProcessA)创建进程后,先暂停这个进程,然后申请内存空间,把我们注入DLL路径写入内存,再通过CreateRemoteThread创建远程线程调用LoadLibraryA函数,获取远程句柄,然后ResumeThread唤醒主线程,实现注入,本课视频演示了注入的主体部分CreateProcessA暂停注入.版本 2.支持库 spec.局部变量 文件路径, 文本型.局部变量 运行目录, 文本型.局部变量 si, STARTUPINFO.局部变量 pi, 进程.

2020-05-29 00:19:21 211

原创 SetWindowsHookExA键盘线程钩子注入DLL到游戏

本课通过SetWindowsHookExA键盘线程钩子把一个控制的游戏的DLL注入到游戏中。hook.dll源码.版本 2.支持库 EThread.程序集 程序集1.程序集变量 bg, 整数型.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码bg = 0_临时子程序 () ' 在初始化代码执行完毕后调用测试代码返回 (0) ' 返回值被忽略。.子程序 _临时子程序' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译...

2020-05-29 00:18:40 618

原创 CreateRemoteThread远程线程注入dll到游戏

远程线程注入是指通过CreateRemoteThread在目标进程创建一个线程,然后加载注入我们的DLL,由于易语言只能编译32位DLL,所以我们只能注入到32进程,本课录制视频分为3个课时,第一课时主要完成线程注入的主程序。远程线程注入.版本 2.支持库 spec模块名称 = 编辑框1.内容' 1、 获取游戏进程句柄,0表示不继承句柄进程句柄 = OpenProcess (2035711, 0, 到数值 (编辑框2.内容)).如果真 (进程句柄 = 0) 信息框 (“打开进.

2020-05-29 00:17:51 172

原创 易语言APC应用层注入

这里的APC是R3应用层(用户层),APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,APC注入可以让一个线程在它正常的执行路径运行之前执行一些其他的代码,每一个线程都有一个附加的APC队列,他们在线程处于可警告的时候才被处理(WaitForSingObjectEx,SleepEx)R3用户模式:线程可利用QueueUserAPC排入一个让远程线程调用的函数,QueueUser函数的参数 pfnAPC,hThread,dw

2020-05-29 00:16:03 187

原创 易语言输入法注入dll到游戏进程

易语言的输入法注入,需要一个易语言专门的输入法,我们在这里集成到程序里,通过判断先写到system32目录输入法注入流程:1、安装输入法2、激活一下3、将输入法文件复制到c:\WINDOWS\system32\4、开始注入(IMESetPubString)5、激活目标进程输入法6、启动注入函数7、卸载输入法UnloadKeyboardLayout释放输入法.版本 2.局部变量 lret, 逻辑型.判断开始 (寻找文件 (目录_取system32目录 () + “EI..

2020-05-28 17:20:55 221

原创 易语言APC内存注入到游戏测试

前面我们曾经录制了APC应用层的注入,我们把PEload.pe以字节集的形式加载到我们的注入程序,在这里在QQVIP群提供这个文件,我们先看看注入流程:APC内存注入流程1、打开进程2、读入DLL文件及获取主要汇编指令3、创建文件映射对象4、将文件映射对象映射到当前程序内存空间5、 写入内存(1)写汇编指令(2)写注入的DLL6、关闭文件映射对象7、创建内存映射对象 内核8、获取GetModuleHandleA地址9、创建远程线程并挂起10、把APC对象加入到指定线程的APC队

2020-05-28 17:16:49 546

原创 易语言EIP永久注入

EIP是寄存器的一种,它和EBP、ESP都是为“栈”而生,用来存储CPU要读取指令的地址,CPU通过EIP寄存器读取即将要执行的指令。每次CPU执行完相应的汇编指令之后,EIP寄存器的值就会增加。EIP存储着下一条指令的地址,每执行一条指令,该寄存器变化一次。易语言实现EIP永久注入,步骤难道很大,需要先看看以下文章:易语言EIP注入易语言EIP永久注入步骤1、获取进程ID和注入DLL路径2、打开进程,获取进程句柄3、获取系统线程快照句柄,包涵进程中所有的块照4、通过对比获取线程ID5、打.

2020-05-28 17:12:56 163

原创 易语言PE永久注入

易语言PE永久注入是指把我们的DLL注入进程后生成一个新的EXE.当我们每次创建这个进程时,都会加载我们注入的DLL,所以称之为永久注入,还有在易语言里实现PE永久注入,需要PEload,我们以资源的形式加载到易语言。易语言PE永久注入源码:.版本 2.局部变量 字节集, 字节集.局部变量 DLL, 字节集.局部变量 映像基址, 整数型.局部变量 映像大小, 整数型.局部变量 区段, 区段信息.如果 (编辑框1.内容 ≠ “” 且 编辑框2.内容 ≠ “”) 字节集..

2020-05-28 11:57:00 452

原创 易语言内存注入

易语言完成内存注入的难度很大。内存注入流程1、获取注入进程ID2、获取注入DLL的路径3、打开进程,获取进程句柄4、申请内存,读入DLL5、将DLL路径写入内存地址6、将DLL路径写入内存地址7、为内存中的汇编指令申请内存地址8、把汇编指令写入内存9、把汇编指令写入内存10、创建远程线程,执行装载DLL函数11、线程等待12、取终止线程退出的代码13、 关闭线程和进程句柄易语言内存注入源码:.版本 2.子程序 内存注入, 逻辑型.参数 进程ID, 整数型.

2020-05-28 11:51:53 593

原创 易语言API hook MessageBoxA

windows中三个最重要的动态链接库,Kenerl32.dll, User32.dll, GDI32.dll.HOOK API截获的是应用程序对系统API的调用,它在应用程序对系统API的调用之前截获此调用动作,让其转而调用我们所定义的函数(内容可能是进行一些操作 后再调用原系统API)。Kernel32主要负责管理内存,线程,进程。User32.dll主要用来执行与界面相关的任务,如创建窗口和发送消息;GDI32.DLL主要是绘制图像和显示文字处理,基本用户界面等特性,如创建窗口和发送消息。.

2020-05-28 11:47:15 338

原创 易语言API HooK CreateThread创建线程

本课对API(Createthread)进行了Hook,首先我们在测试程序里启动一个线程,可以使用易语言的启动线程 (&工作, , 线程句柄)也可以直接调用API(Createthread)我们这里分了两种情况测试,第一,钩子写到测试文件里,第二,单独写一个钩子DLL,通过注入现行hook。我们hook的动作是调用系统的calc,你的系统如果是WIN10要确定是否安装了计算器。当然我们可以下任何钩子。实际应用是这样的,我们首先确定所注入进程是否调用了CreateThread这个API,其次我们应当写

2020-05-28 11:44:49 644

原创 易语言API Hook SetWindowTextA

我们知道SetWindowTextA这个API的作用是设置窗口标题,当我们调用这个接口的时候,换成我们的函数,本课没有做注入DLL调用,而是在一个测试文件里做了演示。SetWindowTextA.版本 2.DLL命令 SetWindowTextA, 逻辑型, "user32.dll", "SetWindowTextA", , 改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。

2020-05-28 11:37:50 166

原创 易语言API hook CreateWindowExA

CreateWindowExA是创建窗口的一个API,我们本课对这个API进行HOOK.我们仍热采用前几课封装的APIhook类模块。两种方式,一个是在一个程序里通过载入新窗口继续hook,一个是通过注入进行hook,注入器我们采用了EIP注入和远程线程注入两种注入方式演示。CreateWindowExA.版本 2.DLL命令 创建窗口, 整数型, "user32.dll", "CreateWindowExA" .参数 扩展风格, 整数型 .参数 类名, 文本型 .参

2020-05-28 11:35:17 524

原创 易语言API hook 实现动态类名

我们知道易语言程序默认的类名是WTWindow,如果想改变这个类名,那么就需要API HOOK ,本课我们是实现的动态类名,也就是说,每次启动程序,它的类名都不一样。生成动态类名我们采用了文本_取随机字母()必读1、动态类名的hook必须在载入窗口前2、所以我们需要修改易语言启动改为:通过名称为“_启动子程序”的子程序来启动3、在动态类名回调函数中,我们应当是先停止HOOK,再启动hook。文本_取随机字母.版本 2.子程序 文本_取随机字母, 文本型, 公开, 取随机26个字母!.

2020-05-28 08:56:26 567

原创 易语言api hook CreateFileA

当调用CreateFileA创建文件时,我们劫持它,hook成我们自己的东西,易语言里的写到文件就是API(CreateFileA )hook 说明1、未hook前会生成一个111.txt,内容是“1111111111”写到文件 (取运行目录 () + “\111.txt”, 到字节集 (“1111111111”))2、hook后就会转向我们自定义的MyCreateFileAh.安装Hook (“kernel32”, “CreateFileA”, 到整数 (&MyCreate

2020-05-27 11:11:02 615

原创 易语言大漠多线程模块制作及多线程调用实战

首先是多线程模块的多种制作方法和调用方法,其次每种多线程模块都实现免注册到系统调用,和免杀软的查杀,更重要的是示范了多种多线程模块的调用方法。以下是所有视频的链接:全部教程播单:http://i.youku.com/511yjcom1、易语言大漠多线程播单地址:http://list.youku.com/albumlist/show/id_497507162、易语言大漠游戏外挂一键登录播单地址:http://list.youku.com/albumlist/show/id_494861313..

2020-05-27 11:08:08 7934

原创 LUA一个小巧脚本语言学习笔记

最近打算录制一套LUA的视频教程,在网上了解了相关学习资料,首先学习了《Programming in Lua》,本书的翻译由www.luachina.net完成。本站已经征得作者Mr. Roberto Ierusalimschy的同意,所有教程的版权归Mr. Roberto Ierusalimschy 所有,有关版权请参考下面引自官方网站的声明,未经许可不得擅自转贴或者以任何形式发布,否则后果自负。以下是整理学习笔记目录:第1课:认识脚本语言Lua-1第2课:LUA教程Chunks-2第3课:LU.

2020-05-27 11:04:30 9018

原创 Illustrator绘图实例教程免费视频教程

本套视频教程采用了夏少琼和李列锋主编的教程,本书以矢量绘图所需要的技能和广告平面设计所需要的实战技巧为宗旨进行编写。全书共分12章,通过大量的实用案例将软件知识和实际应用融会贯通。它內容丰富,包括图形绘制、对象编辑、路径、画笔、图案、渐变、网格、混合、封套、文字、图表、蒙版、滤镜、外观、符号、样式等基础知识和应用实例,有针对性地带领读者在全面掌握软件的基础上提高Illustrator的应用层次。  本书适用于设计印刷图形、多媒体和在线图形的行业标准程序,无论您是为印刷制版制作图稿的设计师或技术插图制作人员

2020-05-27 11:00:53 8176

提示
确定要删除当前文章?
取消 删除