标签:
简单分析流程:
查壳,发现没壳,那就载入OD直接分析吧
1.调用LoadStringW函数炒资源里加载字符串资源到Buffer中,为后面窗口类名做准备
2.创建窗口,创建了一个主窗口和两个子窗口
3.创建主窗口和两个Edit类型的子窗口,并且通过调用API设置创建风格,并且设置一个文本框为只可读另外一个设置为密文文本
4.用随机的方式填充字符串,填充的字符串“密码错误,请重新输入”,””a=x12x&b=_)&c=(*.)”,””TXGuiFoundtion” ,”密码验证成功”
4.创建互斥线程
5.打开病毒相同目录下的sed,并通过GetFileSize得到文件尺寸,利用SetFilePointer函数设置文件指针,最后
调用ReadFile函数读取sed文件中的“arm”字符串
7.设置窗口以及创建定时,每100.ms回调函数就为系统默认的OnTimer发送WM_TIMER时调用此函数,调用ShowWindows使窗口隐藏,UnDateWindows函数更新当前窗口
7.乱序填充字符user32.dll和GetForegroundWindow,最后调用GetForegroundWindow函数返回用于当前工作窗口得到前台窗口就是通过这个函数只有当用户点击QQ进程时,他才会弹出钓鱼框
8.用同样的方法填入字符串user32.dll和GetClassNameA调用GetClassName(GetFroegrounWindos(),buffer,intMaxCount),返回buffer长度因为当前工作窗口
call 4014d0
9.用同样的方法获得GetClassNameA(),通过这个函数获的指定窗口所属类的类,然后通过字符串拼接的方式得到指定类名字字符串的原子,然后通过FindWindowA来找到QQ的窗口,然后通过GetWindowsTextA得到QQ窗口类的文本消息,这里只有当你打开了一个QQ消息对话款,才会弹出盗号的界面,就是这里的第二个FindWindowA返回要成功才可以
10.对得到的字符串进行处理,得到QQ号
11.设置只读文本框为QQ号,密码文本框为空,调用GetSystem,etrics函数得到以像素为单位的屏幕尺寸
12.然后就跳出盗号登录框(记得要想成功,必须要开一个聊天对话框才可以)
13.抓包发现是将数据传送到这个地址,而且数据是明文显示的 没有经过任何的加密处理
函数学习:
WSAStartup() 在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成对Winsock服务的初始化,因此需要调用WSAStartup函数
SetWindowRgn 设置了一个窗口的区域.只有被包含在这个区域内的地方才会被重绘,而不包含在区域内的其他区域系统将不会显示.
GetModuleFileName 获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载
GetForegroundWindow() 是整个Windows系统的当前激活的窗口 比如桌面。 与之相对应的是 GetActiveWindow() 是你的程序的当前激活的窗口
FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串。这个函数不搜索子窗口。
标签:
原文地址:http://www.cnblogs.com/kangxiaopao/p/4550006.html