Windows
Windows 编程

阿里云ECS服务器环境搭建

首先需要几个工具:
1、xftp
2、xshell
3、阿里云linux一键安装web环境
这里个工具我打包了:链接: http://pan.baidu.com/s/1dDdBAG5 密码: y1la

首先应该对磁盘进行分割挂载。依次敲入如下命令(xshell连接后敲入):
1、fdisk -l 查看是否有磁盘数据
2、fdisk /dev/xvdb 磁盘分区
3、分区命令敲入后会有提示 然后在依次输入“n”,“p”,“1”,”两次回车“,“wq”
4、mkfs.ext3 /dev/xvdb1 格式化分区

阅读全文»

利用Host屏蔽搜狗输入法自动更新

其实屏蔽搜狗输入法程序的更新有很多种办法,这里就写个利用host屏蔽的吧,主要是屏蔽掉其中的更新站点。

怎么找到这些更新站点呢、首先可以下载[http://www.iwonmo.com/program.html][2]页面中的api调试工具,其中有一个字符串提取功能,速度快,提取准确

然后就可以发现字符串了。
965736482.png

从中寻找到网址形式的就可以了。我找到下面几条,实际还有几条,这里就不写了。

http://tb.sogou.com
http://tb.sogou.com:80
http://p4p.so.sohu.com:8080
http://p3p.sogou.com
http://ping.pinyin.sogou.com

然后添加到host里指定到127.0.0.1就可以了。

免费的加壳软件 Safengine

Safengine是一个具有反调试、反附加、动态自效验等功能,同时提供了对代码的变形、乱序和虚拟化等功能的应用程序保护壳,是一款简单易用的软件保护工具,它改变您的软件执行流程,以达到阻碍自动分析,消耗破解时间、精力的目的。
Safengine的代码分析引擎将在保护应用程序时提供完整的分析,从而对应用程序进行系统化的保护,将您的原始代码移动和变形,并且加入无数垃圾代码和反调试、跟踪代码。
Safengine处理的范围是整个程序,而不是程序里的某一个过程。所以,即使您的关键代码在保护后未经变形,也需要耗费破解者很长的时间才能找到,而往往只是一行两行代码,穿插在数以万计的垃圾代码中,是极其隐蔽和猥琐的。
Safengine的代码虚拟机在同类产品中最稳定、最完善,整体运行架构线程安全,不会改变系统对受保护代码的线程的调度。虚拟处理器采用了逻辑门级的指令拆分,使用与非和加法两个基础运算指令实现了大部分复杂的x86指令,并且使用了随机的虚拟寄存器参与运算,极大程度提高了代码保护的安全性。
在同类的软件保护壳中,Safengine提供了最完整的解决方案,集代码加密、虚拟化、授权于一体,并且每一项功能都可圈可点。
Safengine支持所有Win32/64 PE文件,包括:
可执行文件 (.exe)
屏幕保护程序 (
.scr)
动态链接库 (.dll)
ActiveX 控件 (
.ocx)
驱动程序 (*.sys)

官方网站:http://www.safengine.com

Scintilla GETTEXTRANGE 获取中文字符

Private Type CHARRANGE 'cr
    cpMin As Long
    cpMax As Long
End Type
Private Type TEXTRANGE
    chrg As CHARRANGE
    lpstrText As Long '这里一定要定义为Long不要定义为String
End Type
'拦截窗口的消息
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If uMsg = WM_NOTIFY Then
        Dim ns As NMHDR
        CopyMemory ns, ByVal lParam, Len(ns) '目标,源,大小-字节
        If ns.hwndFrom = SciLexerHwnd Then
            If ns.code = SCN_CHARADDED Then
                Dim dqpoint As Long
                Dim startint As Long
                Dim endint As Long
                Dim tr As TEXTRANGE
                Dim B() As Byte  'tr结构最后一个用这个方法引用一个数组的开头位置
                dqpoint = SendMessage(SciLexerHwnd, SCI_GETCURRENTPOS, 0, 0) '取得当前位置
                startint = SendMessage(SciLexerHwnd, SCI_WORDSTARTPOSITION, dqpoint - 1, False) '//当前单词起始位置
                endint = SendMessage(SciLexerHwnd, SCI_WORDENDPOSITION, dqpoint - 1, 0) '//当前单词终止位置
                tr.chrg.cpMax = endint
                tr.chrg.cpMin = startint
                ReDim Preserve B(0 To (endint - startint + 1)) As Byte
                tr.lpstrText = VarPtr(B(0))
                lR = SendMessagesc(SciLexerHwnd, SCI_GETTEXTRANGE, 0, tr) '获取
                If (lR > 0) Then
                    Debug.Print UTF8ToUTF16(B)
                End If
            End If
        End If
    End If
    WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
End Function