分类: |
  • 1

VC如何制作启动动画

使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。

1.利用组件库中的Splash Screen组件实现

  (1)用Photoshop等制作启动画面图像,保存为bmp格式。
(2)用Appwizard建一个基于单文档的工程Splash。
(3)在资源中插入位图资源

  打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图ID改为IDB_SPLASH。

  (4)添加Splash Screen控件

查看更多...

Tags: vc 启动 动画

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 8648

VC++MFC 窗口最大化、最小化的实现!

当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。

查看更多...

Tags: vc MFC 最大化 最小化

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 12245

vc 模块定义(def) 文件

vc 模块定义 (.def) 文件2008年08月03日 星期日 16:33模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。

在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。

如果生成的 .exe 文件没有导出,使用 .def 文件将使输出文件较大并降低加载速度。

有关更多信息,请参见下列章节:

查看更多...

Tags: def vc vc 模块定义(def) 文件

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 9890

VC实现PPPOE拨号

电信太黑暗,硬要我们用闪讯。。。唉,跟闪讯斗争了好久仍然没有成果。早知道就好好学学破解的东西。。。现在只能瞎搞,搞出一点是一点。而且现在又没在学校里,就算搞出点东西也不能知道是不是对。据我的观察,闪讯没有加壳,但是做了反调试,一有调试器运行它就跳出来说它不干了。今晚无聊,写了几个dll钩了几个函数,结果倒是发现了一些东西。。。闪讯用了一个名为Dial的函数来拨号,Dial(用户名,密码,*,1),这样一个函数来 拨号。只要勾住它就能截获闪讯产生的真实用户名和密码,用户名的最前面竟然加了一个"\n\n\r",后面还跟了一些不知道什么的数据,上次还以为用一个嗅探器嗅到了真实用户名,却怎么博也拨不上。可惜现在没有实践的机会。

另外我还发现闪讯拨号用的现成的api,ras函数。这也否定了我以前的一个猜想。我现在强烈感觉到那串加在用户名前面的不明数据就是一串随即数据。ras函数我不熟,网上找了一个简单的pppoe例子,先放着以后说不定用得着。

废话到此结束。

背景:代替手工自动进行PPPOE拨号

相关知识:

主要使用的函数:

The RasDial function establishes a RAS connection between a RAS client and a RAS server. The connection data includes callback and user-authentication information

DWORD RasDial(

__in LPRASDIALEXTENSIONS lpRasDialExtensions,

__in LPCTSTR lpszPhonebook,

__in LPRASDIALPARAMS lpRasDialParams,

__in DWORD dwNotifierType,

__in LPVOID lpvNotifier,

__in LPHRASCONN lphRasConn

);



Return Value

查看更多...

Tags: vc pppoe 拨号

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 17611

Keyboard Hook

Hook is a mechanism, by which a function can intercept events before they reach an application. The function can act on events, modify or discard them. Functions which receive the events are called Filter Functions, every Filter Function is classified by its type. Hooks provide powerful capabilities: Procces or modify every message; Record or play back keyboard and mouse events; Prevent another filter from being called; And many more capabilities... Generally, there are two types of hooks: System-wide, and Thread-specific. The System-wide hook is used for filtering messages of all applications(IE: when writing a key logger). And the Thread-specific hook is used for filtering messages of a specific thread. In this tutorial, I'll cover just System-wide keyboard hook. To set a System-wide hook we need a DLL.

A DLL is an indirectly executable which doesn't have a message loop to receive user input. DLLs are seperate files containing functions(not only) that can be called by programs and other DLLs. To the end-user a DLL is a program that can't be executed directly from the Program Manger(or other Shells), but from the system's point of view, there are two differences between DLLs and applications: DLLs cannot have multiple running instances loaded in memory. and DLLs attach themselves to processes, only application instances are processes. DLL stands for Dynamic-Link Library. Dynamic-Link is a mechanism to link libraries to applications at run time. These libraries(DLLs) reside in their own executable files(.dll) and are not copied into applications' executable files(.exe) as with Static-Link libraries. It's important to understand that a .DLL is loaded into the address space of the specified linking application and not into the global heap! The advantages of using dynamic linking method are:
They can be updated without requiring applications to be recompiled or relinked.
When several applications use the same .DLL, the .DLL is just loaded once for all applications(reducing memory and disk space).

查看更多...

Tags: c语言 代码 windows api vc hook

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 8832

VC++网络编程

一、Windows Sockets API简介 
VC++对网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名的Berkeley Socket接口(套接字)。 
在桌面操作系统进入Windows时代后,仍然继承了Socket方法。在TCP/IP网络通信环境下,Socket数据传输是一种特殊的I/O,它也相当于一种文件描述符,具有一个类似于打开文件的函数调用-socket()。 
可以这样理解:Socket实际上是一个通信端点,通过它,用户的Socket程序可以通过网络和其他的Socket应用程序通信。Socket存在于一个“通信域”(为描述一般的线程如何通过Socket进行通信而引入的一种抽象概念)里,并且与另一个域的Socket交换数据。Socket有三类。第一种是SOCK_STREAM(流式),提供面向连接的可靠的通信服务,比如telnet,http。第二种是SOCK_DGRAM(数据报),提供无连接不可靠的通信,比如UDP。第三种是SOCK_RAW(原始),主要用于协议的开发和测试,支持通信底层操作,比如对IP和ICMP的直接访问。
二、Windows Socket机制分析 

查看更多...

Tags: c语言 代码 网络 windows api vc

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 8197

360保险箱反注入分析

分析版本:360保险箱v3.0正式版(2009.12.1下载)
分析工具:syser debugger、ida
使用平台:XP sp2虚拟机
 
启动的注入进程在进入r0后总会执行到内核态函数KeUsermodeCallback,而DLL

查看更多...

Tags: 导 数 inline hook 汇编 vc

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 10447
  • 1