<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[OneTrianee的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/OneTrianee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; OneTrianee]]></copyright><item><title><![CDATA[Git Unknown error (0x80092013)]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/98478620</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/98478620</guid><author>OneTrianee</author><pubDate>Mon, 05 Aug 2019 09:48:32 +0800</pubDate><description><![CDATA[Git Unknown error (0x80092013)
问题描述
通过 Github Desktop push我的仓库时出现这个问题
产生问题原因
使用 Github Desktop 并不需要设置SSH，但下载Git必须配置SSH，否则就会被拒绝访问。
当仅存在Github Desktop，访问你的云端仓库完全没问题，但是当下载Git，DeskTop会使用下载的Git去push你的仓库，此时...]]></description><category></category></item><item><title><![CDATA[bison: /usr/local/share/bison.simple: No such file or directory]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/98398061</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/98398061</guid><author>OneTrianee</author><pubDate>Sun, 04 Aug 2019 00:59:49 +0800</pubDate><description><![CDATA[bison: /usr/local/share/bison.simple: No such file or directory
前言：
这个问题是在太坑了，网上搜到的资料又太少，所以记下来吧，希望能帮助到其他人。
问题描述：
Flex+Bison，配置环境完全没问题，Flex使用可以，但到Bison时却出现 bison: /usr/local/share/bison.simple: No such...]]></description><category></category></item><item><title><![CDATA[Mac系统切换机械键盘win和alt键]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/92764607</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/92764607</guid><author>OneTrianee</author><pubDate>Tue, 18 Jun 2019 10:07:44 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/66922b2bc8c3

]]></description><category></category></item><item><title><![CDATA[CRACKME 3：来源于《逆向工程核心原理 第八章》]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/91991340</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/91991340</guid><author>OneTrianee</author><pubDate>Fri, 14 Jun 2019 17:41:27 +0800</pubDate><description><![CDATA[前言：算是第一次正规的逆向了吧，该程序用vba语言编写，逆向其算法。怎么说呢，这个程序逆向了大概三天，这三天考了三门期末，本来对期末真没有以前那种热情，该水水就水水，考完回来继续分析这个程序，在这上面的时间三天至少花了20个小时，从一开始一脸蒙蔽一窍不通到基本逆向出其算法和vba函数的作用，可以说是值得的，下面就总结一下自己的收获：
一、逆向前的准备工作：

了解其是什么语言编写，然后去查该语言的...]]></description><category></category></item><item><title><![CDATA[CRACKME 2 : 通过OD了解 栈帧 的使用过程]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/91458184</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/91458184</guid><author>OneTrianee</author><pubDate>Tue, 11 Jun 2019 19:33:05 +0800</pubDate><description><![CDATA[前言： 栈帧 EBP，与ESP不同，其主要是定位函数中的 传入参数，返回地址和局部变量的，下面我们通过调试该程序来看看栈帧有什么作用。
代码：
#include "stdio.h"

long add(long a, long b)
{
    long x = a, y = b;
    return (x + y);
}

int main(int argc, char* argv[])
{
...]]></description><category></category></item><item><title><![CDATA[CRACKME 1: 破解 WINDWS 对话框程序，修改对话框字符串]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/91416297</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/91416297</guid><author>OneTrianee</author><pubDate>Tue, 11 Jun 2019 11:01:33 +0800</pubDate><description><![CDATA[前言： 通过学习简单的修改对话框中的字符串，让我们了解到如何利用 OD 来查找 API 和 修改内存信息。
源码：放在 VS 中直接编译就好，然后拿OD来进行调试
#include "windows.h"
#include "tchar.h"

int _tmain(int argc, TCHAR *argv[])
{
	MessageBox(NULL, 
			   L"Hello World!...]]></description><category></category></item><item><title><![CDATA[win32 8.2 使用通用对话框]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90736421</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90736421</guid><author>OneTrianee</author><pubDate>Sun, 02 Jun 2019 09:48:49 +0800</pubDate><description><![CDATA[“打开”文件和“保存”文件对话框


显示 “打开” 对话框的函数是 GetOpenFileName，显示“保存”文件对话的函数是 GetSaveFileName ,这两个对话框可以让用户选择 驱动器、目录、以及一个文件名（打开对话框还允许选择多个文件），但这两个对话框并不对文件进行任何操作，也就是说，它们进给用户提供一个同一界面来“选择”文件名，获取文件名以后，对程序的打开、读写等操作还需要...]]></description><category></category></item><item><title><![CDATA[win32 8.1 通用对话框简介]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90735975</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90735975</guid><author>OneTrianee</author><pubDate>Sun, 02 Jun 2019 08:02:26 +0800</pubDate><description><![CDATA[通用对话框函数由 Comdlg32.dll 提供, 在使用之前注意加上头文件：

通用对话框列表：

在这些对话框中，查找字符串和替换字符创的对话框是非模态的，方便用户在查找一个字符串以后，不必关闭对话框就可以继续查找另一个字符串，其他的对话框都是模态对话框。


...]]></description><category></category></item><item><title><![CDATA[win32 7.5 区域和路径]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90734756</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90734756</guid><author>OneTrianee</author><pubDate>Sat, 01 Jun 2019 23:19:48 +0800</pubDate><description><![CDATA[前言：
如果勇敢PhotoShop绘图软件，就一定记得它有“选择区域”，以及“路径”的概念，区域用来选定一个范围，以便对指定的范围进行某种操作；而路径相当于用虚拟的线条进行 “圈地运动”，虽然路径圈出来的看上去也是一个区域，但路径记录的是“圈地”用的线条而不是圈出来的地。


使用区域：


创建区域：


GDI 中可以用下列区域建立函数来创建区域：


CreateRectRgn 函数的参...]]></description><category></category></item><item><title><![CDATA[win32 7.4 块传送操作]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90732656</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90732656</guid><author>OneTrianee</author><pubDate>Sat, 01 Jun 2019 19:35:24 +0800</pubDate><description><![CDATA[块传送操作初步介绍：
除了 7.2 节中的绘图函数，块传送函数也是重要的图形操作函数。块传送把源位置中的数据块按照指定的方式传送到目的位置中。把内存中的位图复制到窗口客户区，以及在不同的DC中复制图形数据都要用到块传送操作，块传送完成的工作就相当于图形之间的拷贝。块传送函数有 PatBlt，BitBlt，MaskBit，PlgBlt，TransparentBlt，StetchBlt。


块传...]]></description><category></category></item><item><title><![CDATA[win3.2 7.3 创建和使用位图-使用设备无关位图]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90726435</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90726435</guid><author>OneTrianee</author><pubDate>Sat, 01 Jun 2019 10:22:04 +0800</pubDate><description><![CDATA[介绍：
设备无关位图简称 DIB，这在 5.3.1 节中已经有所介绍。DIB一般是存放在磁盘上的以 bmp 为拓展名的位图文件，使用 DIB 的关键是如何将 DIB 中的数据转换为一个内存中的位图并返回一个位图句柄。


bmp 文件的结构定义：

文件的开始是一个 BITMAPFILEHEADER 结构

BITMAPFILEHEADER  结构肚饿后面要么是 BITMAPCOREHEADE...]]></description><category></category></item><item><title><![CDATA[win3.2 7.3 创建和使用位图 - 创建和使用位图]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90725842</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90725842</guid><author>OneTrianee</author><pubDate>Sat, 01 Jun 2019 09:15:04 +0800</pubDate><description><![CDATA[这个很好理解，前面，我们设备环境是屏幕，直接画在屏幕上；现在，我们的设备环境是位图，直接画在位图上，然后再显示
在屏幕上，显示出来同样的效果。



设备环境：
所有绘画函数的操作对象都是“设备环境”，对位图操作也不例外。为了对位图使用GDI函数，需要使用 CreateCompatibleDC函数为位图建立一个DC，然后使用 SelectObject 函数将位图选入这个DC中，这样，所有对这个DC...]]></description><category></category></item><item><title><![CDATA[win 7.2 绘制图形 - 代码解读]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90714694</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90714694</guid><author>OneTrianee</author><pubDate>Fri, 31 May 2019 13:39:53 +0800</pubDate><description><![CDATA[介绍：
这个是解读那个 时钟代码 的，因为刚开始学习很多内容不聊了，代码篇幅比较长，同时还有很多数学计算在里面，虽然不复杂但全弄理解还是需要点时间的，所以，我们单独写一篇博客分析一下这个代码。
代码解读：

效果图：

函数解读：
自定义函数：

我们按照 调用顺序依次往上讲解，当讲到最上面时，再讲程序原理，之后代码都很清楚了。
1. _CalcClockParam	proc : 获取 圆心坐标...]]></description><category></category></item><item><title><![CDATA[win32 7.2 绘制图形 - 绘制图形]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90694039</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90694039</guid><author>OneTrianee</author><pubDate>Thu, 30 May 2019 11:25:35 +0800</pubDate><description><![CDATA[GDI图形绘制函数主要由绘制线条和填充区域两大类。绘制线条函数以当前画笔绘制线条；绘制填充区域函数以
当前画笔绘制边线，并以当前画刷填充中间的区域。


绘制线条

函数大体了解：
绘制线条的函数有画直线的LineTo，画多条直线的 Polyline 和 Polylineto，画贝塞尔曲线的PolyBezier 和 PolyBezerto，画弧线的 Arc 和 ArcTo。
当前点：

介绍：DC...]]></description><category></category></item><item><title><![CDATA[win32 7.2 绘制图形 - 绘制像素点]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90690841</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90690841</guid><author>OneTrianee</author><pubDate>Thu, 30 May 2019 09:08:46 +0800</pubDate><description><![CDATA[在 DC 上绘制像素点是绘图最基本的操作，使用方法是：	

SetPixel 函数在 hDC的 dwX，dwY 位置以 dwColor 为颜色画上一个像素点。
如果需要获取某个像素点的颜色值，可以使用：

应用场景与缺点：

虽然绘画像素是最基本的绘图操作方法，但是在程序中一般很少使用 SetPixel 函数，因为它的开销太大了，只适合在需要少量绘画像素的地方，如果要绘画一个区域，那么最好使用画...]]></description><category></category></item><item><title><![CDATA[win32 7.2 绘制图形 画笔和画刷]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90668471</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90668471</guid><author>OneTrianee</author><pubDate>Wed, 29 May 2019 11:53:21 +0800</pubDate><description><![CDATA[“画笔和画刷”的介绍：

GDI 中的绘画函数有 3 大类：画点、画线和画填充区域。对于photoshop之类的，一定知道，画线需要画笔，画填充区域需要画刷。
GDI 同样也有画刷画笔等概念，画刷，画笔，以及其他一些GDI中要使用的东西，包括字体，区域，路径，图案和位图统称为GDI中的“对象”，通过SelectObject函数可以指定一个DC当前使用的对象对应哪一个对象句柄，称为“当前对象”。当...]]></description><category></category></item><item><title><![CDATA[win32 7.1 色彩和坐标]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90664490</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90664490</guid><author>OneTrianee</author><pubDate>Wed, 29 May 2019 08:48:00 +0800</pubDate><description><![CDATA[Windows的色彩：

一种颜色可以分成 红绿蓝 三原色，所以可以用红、绿、蓝3个分量的组合来表示颜色。
索引色：
当设备支持的颜色深度少于等于8位时，总体位数太少，不足以用来表达3个颜色分量，这时系统建立一个色彩表，像素数据用来做索引在颜色表中获取颜色值，所以低于8位的颜色成为索引色。
win32中颜色的使用：
在win32编程中，统一使用32位的整数来表示一个深度为24位的颜色，在这32位...]]></description><category></category></item><item><title><![CDATA[win32 7.1 设备环境]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90649251</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90649251</guid><author>OneTrianee</author><pubDate>Tue, 28 May 2019 23:26:10 +0800</pubDate><description><![CDATA[DOS和WINDOWS图形输出区别：

DOS：在DOS系统中，如果在文本模式下显示信息，只需要把内容拷贝到 B8000h 处的内存中；显示图形信息，可以把图形拷贝到 A0000h 处的内存中。
WHindows中，GDI接口把程序和硬件分割开来，在Win32编程中，再也不能通过直接向视频缓冲区拷贝数据的办法来显示信息了，那通过什么？ 答案是通过“设备环境”来输出信息。


“设备环境”介绍：
...]]></description><category></category></item><item><title><![CDATA[win32 7.1 GDI程序的结构]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90599427</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90599427</guid><author>OneTrianee</author><pubDate>Mon, 27 May 2019 10:48:33 +0800</pubDate><description><![CDATA[初步介绍：
	这个主要说明，when：什么时间，什么时刻，最适合来进行GDI操作已经其中的处理机制。


客户区的刷新：

在DOS系统上：

在DOS操作系统中变成的时候，程序把文字或图形输出到屏幕上，在输出新的内容之前，这些内容总是保留在屏幕原处，这些内容总是保留在屏幕原处。
这些内容会被意外覆盖的唯一情况是激活一个TSR程序，但在TSR程序在退出之前有义务恢复原来的屏幕，如果它无法恢复屏幕的...]]></description><category></category></item><item><title><![CDATA[win32 7.1 GDI 基本原理介绍：]]></title><link>https://blog.youkuaiyun.com/OneTrianee/article/details/90597096</link><guid>https://blog.youkuaiyun.com/OneTrianee/article/details/90597096</guid><author>OneTrianee</author><pubDate>Mon, 27 May 2019 08:33:52 +0800</pubDate><description><![CDATA[GDI：
图形设备接口GDI(Graphics Device Interface)是Win32的重要组成部分，其作用是允许Windows的应用程序将图形输出到计算机屏幕、打印机或其他设备上。GDI实际上是一个函数库，包括直线、图画和字体处理等几百个函数。
GDI的意义：
GDI的意义在于将程序对图形界面的操作和硬件设备隔离开来，在程序中可以将所有的图形设备都看成虚拟设备，包括视频显示器和打印机等...]]></description><category></category></item></channel></rss>