启动控制面板中的applet时的一点笔记--发文于2013-10-22
来源:互联网 发布:免费淘宝联盟推广软件 编辑:程序博客网 时间:2024/04/30 14:24
卸载360
控制面板:
比如运行添加删除程序
会启动一个rundll32.exe进程,命令行为
1. msiInstallProduct MsiConfigureProduct //参数中需要360的product code, 找不到
2. 把explore复制到桌面通过 参数运行 uninst.exe //报风险程序
3. 把explore复制重命名到桌面 运行 uninst //提示文件下载框,可以运行。
4. 添加计划任务运行 uninst.exe //报文件修改计划任务
5. 注入explore代码 运行 uninst.exe // 可以正常卸载360,出现卸载框。
6. 通过wmi开启进程运行 uninst.exe //报毒
7. ShellExecute,WinExec,CreateProcess //报毒
控制面板:
比如运行添加删除程序
会启动一个rundll32.exe进程,命令行为
'"C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\appwiz.cpl",添加或删除程序'
kernel32!BaseProcessStart->rundll32!_ModuleEntry->rundll32!WinMainT->SHELL32!Control_RunDLLW->SHELL32!CPL_RunMeBaby->SHELL32!CPL_CallEntry->appwiz!CPlApplet->appwiz!ARP->开始每个applet窗口得而消息循环。
xp中的appwiz添加删除程序选择删除哪一个是通过Uninstall_UninstallCurrentItem函数中,给listbox发送一个LB_GETCURSEL消息.
在CPL_CallEntry函数中,通过LPCPLMODULE结构,这是个函数指针,指向了每个applet的入口函数,比如添加删除程序的appwiz!CPlApplet。
这个指针在_InitializeCPLModule函数中通过给listbox发送一个LB_GETCURSEL消息.
pcplm->lpfnCPL32 = (APPLET_PROC)GetProcAddress(pcplm->minst.hinst, c_szCPLApplet);得到。
在control1.c中static char const c_szCPLApplet[] = "CPlApplet";即每个applet dll 的 CPlApplet函数.
0 0
- 启动控制面板中的applet时的一点笔记--发文于2013-10-22
- 网络拦截的一点笔记--发文于2013-9-16
- com的小笔记--发文于2013-10-24
- Delphi中启动控制面板中的程序的例子
- RPC资料及笔记--发文于2013-11-3
- Applet中的面板类Panel
- 对360沙盒的驱动的一点逆向分析---发文于2014-1-19
- 病毒的常用技术-发文于2013-9-16
- 病毒分析的一些帖子--发文于2013-11-1
- ie插件的简单总结 --- 发文于2013-12-13
- (转贴)如何启动系统的控制面板
- SWT编写Moco的启动控制面板
- 使用 RUNDLL32 调试控制面板 Applet
- 启动控制面板大全
- 启动控制面板大全
- 启动控制面板大全
- 启动控制面板大全
- 如何使用命令行启动控制面板中的应用程序
- 【总结】EJB开发过程中遇到的几个问题
- 类似于qq音乐底部弹出的popwindow
- Cannot change version of project facet Dynamic Web Module to 2.5.
- Syntax error, annotations are only available if source level is 1.5
- 使用Visual Studio对项目重命名
- 启动控制面板中的applet时的一点笔记--发文于2013-10-22
- 《侣行》三季合集下载
- RMI AND CORBA简介——java菜鸟成长记
- 触发器类 , 指针函数
- Understanding Linux /proc/id/maps
- 关于幂等的设计
- 哈希查找之链地址法解决冲突(代码封装实现)
- 常用的正则表达式验证
- iOSCore Location地理定位的简单实用