0%

Windows API

FindWindow

  • 函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。
  • 函数原型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName);
  • 参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。
    IpWindowName:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为空,则为所有窗口全匹配。
  • 返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄;如果函数失败,返回值为NULL。这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。有的窗口的标题是比较容易得到的,如”计算器”,所以搜索时应使用标题进行搜索。但有的软件的标题不是固定的,如”记事本”,如果打开的文件不同,窗口标题也不同,这时使用窗口类搜索就比较方便。如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。也可以通过SendMessage(hwnd, WM_CLOSE, NULL, NULL);来关闭窗口。

GetWindowThreadProcessId

  • 函数功能:在得到窗口句柄后我们可以通过GetWindowThreadProcessId这个函数来获得窗口所属进程ID和线程ID,从而判断创建窗口的进程和线程。
  • 函数原型:DWORD GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId);
  • 参数:hWnd:传入的窗口句柄;lpdwProcessId:返回的进程ID地址。
  • 返回值:函数返回的是窗口所属线程ID。
    这个函数可以结合FindWindow共同使用。通过FindWindow查找窗口句柄。

XULRunner 可以通过运用 Web 开发技术构建桌面应用程序。它提供了丰富的 UI 部件集,使用 XUL,可以直接与 HTML 混合使用并可大量使用 JavaScript。

基本概念

XULRunner

XULRunner是Mozilla运行包,可以启动类似Firefox和Tunderbird这样多功能的XUL+XPCOM结合的程序。它为程序提供安装、升级、删除机制。 XULRunner还会提供libxul, 它允许其它项目或产品嵌入使用谋智(Mozilla)技术。

XUL

XUL是一个Mozilla使用XML来描述用户界面的一种技术,使用XUL你可以快速的创建出跨平台,基于因特网的应用程序。基于XUL技术的应用程序可以很方便的使用好看的字体、图形以及方便的界面布局,而且也更容易部署和定制。如果程序员已经熟悉了Dynamic HTML (DHTML),那学习XUL将是更容易的事,也可以更快的开发基于XUL的应用程序。

XPCOM

XPCOM(Cross Platform Component Object Model)是一种跨平台组件对象模型,其原理与微软的COM技术类似,它支持多种语言绑定(Language Bindings)。也就是说,我们可以使用C++、JAVA、JavaScript、Python、Ruby、Perl等语言来编写组件。而XPCOM的接口是用一种叫做XPIDL的IDL(Interface Description Language)来定义的。
XPCOM 本身提供了一套核心的组件和类,用于诸如内存管理,线程,基本数据结构(strings, arrays, variants)等 。但是大部分的XPCOM组件并不是这个核心库提供的,而是由很多第三方的平台(例如Gecko或者Necko)提供,或者由一个应用,甚至一个扩展提供。

应用程序目录结构

XULRunner应用、扩展和主题都共享相同的目录结构,并且这样的目录结构某些时候还可以用于像可安装应用扩展那样的独立XULRunner应用。

最近公司开发的Windows软件总是被360检出病毒,特别恼火。总结了几种方法。

1. 程序数字签名

基本上在第一轮和杀毒软件的PK中绝大多数是会通过的,但是在程序中包含特征码那另当别论,杀毒软件立即会报毒。

2. 编译器选项

在VC++里有#pragma code_seg("PAGE")//其中PAGE是区段的名称。这个是免杀中最有用的一个编译器选项,它可以把cpp文件里的代码放到一个单独的区段里,这样在对付杀毒软件的代码查杀的时候,给我们带来了非常大的方便。

3. VC++ 源代码中加入汇编语句

1
2
3
4
5
6
7
__asm
{
nop //汇编指令
nop
nop
nop
}

4. 加花指令

花指令:其实是一段垃圾代码,和一些乱跳转,但并不影响程序的正常运行。加了花指令后,使一些杀毒软件无法正确识别木马程序,从而达到免杀的效果。

加花指令制作过程详解

  • 第一步:配置一个不加壳的木马程序。
  • 第二步:用OD载入这个木马程序,同时记下入口点的内存地址。
  • 第三步:向下拉滚动条,找到零区域(也就是可以插入代码的都是0的空白地方)。并记下零区域的起始内存地址。
  • 第四步:从这个零区域的起始地址开始一句一句的写入我们准备好的花指令代码。
  • 第五步:花指令写完后,在花指令的结束位置加一句:JMP 刚才OD载入时的入口点内存地址。
  • 第六步:保存修改结果后,最后用PEditor这款工具打开这个改过后的木马程序。在入口点处把原来的入口地址改成刚才记下的零区域的起始内存地址,并按应用更改。使更改生效。

加花指令免杀技术总结

优点:通用性非常不错,一般一个木马程序加入花指令后,就可以躲大部分的杀毒软件,不像改特征码,只能躲过某一种杀毒软件。

缺点:这种方法还是不能过具有内存查杀的杀毒软件,比如瑞星内存查杀等。

以后将加花指令与改入口点,加壳,改特征码这几种方法结合起来混合使用效果将非常不错。

加花指令免杀要点

由于黑客网站公布的花指令过不了一段时间就会被杀软辨认出来,所以需要你自己去搜集一些不常用的花指令,另外目前还有几款软件可以自动帮你加花,方便一些不熟悉的朋友,例如花指令添加器等。

阅读全文 »

1.安装flash

从flash官网下载对应的版本的压缩包。(https://www.adobe.com/support/flashplayer/downloads.html)
解压文件,拷贝文件。

1
2
sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
sudo cp -r ./usr/* /usr/

2.安装RVM

1
2
3
4
5
curl -L https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
rvm install 2.0.0
rvm use 2.0.0
/bin/bash --login

3.安装sublime text 3

1
2
3
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

4.安装ubuntu-tweak

1
2
3
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

5.生成ssh密钥

1
2
3
4
5
ssh-keygen -t rsa -C "chaosky.me@gmail.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub

6.配置VPN

(http://www.iqlinkus.net/help.action)

7.安装zsh

具体配置参考池老师的MacTalk的文章《终极shell》

8.安装Ubuntu Tweak

最新版本下载地址:https://launchpad.net/ubuntu-tweak/+download或使用PPA方式进行安装:

1
2
3
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

9.安装星际译王

主页:http://stardict-4.sourceforge.net/
终端安装:$ sudo apt-get install stardict
安装词典:http://abloz.com/huzheng/stardict-dic/
下载词典并解压到 ~/.stardict/dic 或 /usr/share/stardict/dic
现在以安装文件名为stardict-zh-en.tar.bz2 的词典为例:

1
2
tar -xjvf stardict-zh-en.tar.bz2
sudo mv stardict-zh-en /usr/share/stardict/dic

注意:stardict-zh-en.tar.bz2是词典文件,stardict-zh-en 是解压出来的词典目录
重新启动stardict,新的词典就会被自动加载了。
安装真人语音库:WyabdcRealPeopleTTS.tar.bz2
sudo tar -xvf WyabdcRealPeopleTTS.tar.bz2 -C /usr/share

首先安装fcitx输入法。

1
2
3
4
sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin fcitx-googlepinyin fcitx-module-cloudpinyin
sudo apt-get install fcitx-table-all
sudo apt-get install im-switch
im-switch -s fcitx -z default

可以选择安装搜狗拼音输入法。下载地址

安装C/C++的编译环境和gtk libgtk2.0-dev

1
sudo apt-get install build-essential libgtk2.0-dev
阅读全文 »