当前位置:  编程技术>综合
本页文章导读:
    ▪Python3与Python2中print的用法改变与Class获取属性学习      Reference: http://planet.python.org/ python2中 print 'hello world' python3中 print ('hello world') 获取属性的方法使用__dict__ import inspect class Test: """""" #--------------------------.........
    ▪Jquery中LigerUi的弹出编辑框方法!      一、载入 <link href=/blog_article/"/lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" /> <script src=/blog_article/"/lib/jquery/jquery-1.5.2.min.js" type="text/javascript"><.........
    ▪VC++实现伪装进程路径      我们经常需要进行伪装进程路径,以保护相关重要进程。  #include <windows.h> #include <stdio.h> #include <tchar.h> // 结构定义 typedef struct _PROCESS_BASIC_INFORMATION { DWORD ExitStatus; ULONG P.........

[1]Python3与Python2中print的用法改变与Class获取属性学习
    来源: 互联网  发布时间: 2013-11-10

Reference: http://planet.python.org/

python2中 print 'hello world'

python3中 print ('hello world')


获取属性的方法使用__dict__

import inspect

class Test:
        """"""
        #--------------------------------------------
        def __init__(self):
                self.varOne = ""
                self.varTwo = ""
                self.varThree = ""

        #--------------------------------------------
        def methodOne(self):
                """"""
        #       print "You just called methodOne!"
                print ("You just called methodOne!")

#----------------------------------------------------
if __name__ == "__main__":
        t = Test()
        variables = [i for i in t.__dict__ if not inspect.ismethod(i)]
        print (variables)
        print ('End of File')
以下两种方法也可以,并且第二种不需要import inspect.

variables = [i for i in t.__dict__ if not callable(i)]

variables = t.__dict__.keys()



作者:qianguozheng 发表于2013-1-12 12:00:54 原文链接
阅读:52 评论:0 查看评论

    
[2]Jquery中LigerUi的弹出编辑框方法!
    来源: 互联网  发布时间: 2013-11-10

一、载入

    <link href=/blog_article/"/lib/ligerUI/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
    <script src=/blog_article/"/lib/jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
    <script src=/blog_article/"/lib/ligerUI/js/ligerui.min.js" type="text/javascript"></script>   
    <script src=/blog_article/"/lib/ligerUI/js/plugins/ligerForm.js" type="text/javascript"></script>
    <script src=/blog_article/"/lib/ligerUI/js/plugins/ligerGrid.js" type="text/javascript"></script> 
    <link href=/blog_article/"/lib/css/common.css" rel="stylesheet" type="text/css" />  
    <script src=/blog_article/"/lib/js/common.js" type="text/javascript"></script>   
    <script src=/blog_article/"/lib/js/LG.js" type="text/javascript"></script>
    <script src=/blog_article/"/lib/jquery-validation/jquery.validate.min.js" type="text/javascript"></script> 
    <script src=/blog_article/"/lib/jquery-validation/jquery.metadata.js" type="text/javascript"></script>
    <script src=/blog_article/"/lib/jquery-validation/messages_cn.js" type="text/javascript"></script> 
    <script src=/blog_article/"/lib/js/ligerui.expand.js" type="text/javascript"></script> 
    <script src=/blog_article/lib/ligerUI/js/plugins/ligerDateEditor.js" type="text/javascript"></script>

二、Html

   <div id="detail" style="display:none;"><form id="mainform" method="post"></form> </div>    <%--弹出编辑框DIV--%>

三、

              var mainform = $("#mainform");
              mainform.ligerForm({
                  inputWidth: 150,
                  fields: 
                  [
                            { name: "ProId1", type: "hidden" },  // 隐藏字段,为弹出选择编号保存值
                            { display: "仓库", name: "Daihao1", newline: true, labelWidth: 100, width: 150, space: 30, type: "text", validate: { required: true, digits: true} },

                            { display: "商品名称", name: "ProId", comboboxName: "ProId2", newline: false, labelWidth: 100, width: 150, space: 30, type: "select", option: {} },   // 弹出选择框

                            { display: "单位", name: "DegreeId", comboboxName: "DegreeId2", newline: false, labelWidth: 100, width: 150, space: 30, type: "select", options: { valueFieldID: "DegreeId1", treeLeafOnly: false, tree: { url: "../handle/se1.ashx?ajaxaction=Getgree", checkbox: false}} },

                            { display: "生产日期", name: "MadeDate1", newline: true, labelWidth: 100, width: 150, space: 30, type: "date", validate: { required: true} },

                            { display: "备注", name: "mark", newline: false, labelWidth: 100, width: 150, space: 30, type: "text", validate: { required: true, digits: true} }
         ],

                  toJSON: JSON2.stringify
              });
              $.metadata.setType("attr", "validate");
              LG.validate(mainform, { debug: true });
              $("#HandDate").val(currentdate);
              $("#BoNum").val("0");
              $.ligerui.get("ProId2").set('onBeforeOpen', f_selectCoct)
              $.ligerui.get("Faory2").set('onBeforeOpen', f_selectFary_1)
              $.ligerui.get("Buyany2").set('onBeforeOpen', f_selectFary_2)
              $.ligerui.get("Froce2").set('onBeforeOpen', f_selectFroace)
              detailWin = $.ligerDialog.open({
                  target: $("#detail"),
                  width: 595, height: 460, top: 80, title: t, //240
                  buttons: [
                  { text: '保存', onclick: function () { save(); } },
                  { text: '取消', onclick: function () { detailWin.hide(); } }
                  ]
              });






作者:dxnn520 发表于2013-1-12 12:42:08 原文链接
阅读:0 评论:0 查看评论

    
[3]VC++实现伪装进程路径
    来源: 互联网  发布时间: 2013-11-10

我们经常需要进行伪装进程路径,以保护相关重要进程。

 

 

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

// 结构定义
typedef struct _PROCESS_BASIC_INFORMATION {
	DWORD ExitStatus;
	ULONG PebBaseAddress;
	ULONG AffinityMask;
	LONG BasePriority;
	ULONG UniqueProcessId;
	ULONG InheritedFromUniqueProcessId;
} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;

// API声明
typedef LONG (__stdcall *PZWQUERYINFORMATIONPROCESS) 
(	HANDLE ProcessHandle,
    ULONG ProcessInformationClass,
	PVOID ProcessInformation,
    ULONG ProcessInformationLength,
    PULONG ReturnLength);
/********************************************************/

/*  函数:FxReplaceProcessPath
    功能:伪装进程路径
    参数:1-目标进程句柄
          2-假路径的字符串(UNICODE)
	返回值:TRUE-成功
			FALSE-失败*/
BOOL FxReplaceProcessPath(HANDLE hProcess, TCHAR *szNewPath)
{
	// 获取NTDLL.DLL的基址
	HMODULE hModule = GetModuleHandle(TEXT("NTDLL.DLL"));
	if (hModule == NULL) return FALSE;

	// 获取ZwQueryInformationProcess函数的指针
	PZWQUERYINFORMATIONPROCESS pZwQueryInformationProcess = 
		(PZWQUERYINFORMATIONPROCESS)GetProcAddress(hModule, "ZwQueryInformationProcess");
	
	// 查询进程基本信息(包含PEB地址)
	PROCESS_BASIC_INFORMATION pbi = {NULL};
	if(pZwQueryInformationProcess(hProcess, 0, (LPVOID)&pbi, sizeof(pbi), NULL) < 0)
		return FALSE;
	
	// 获取PEB+0X10处的_RTL_USER_PROCESS_PARAMETERS结构指针
	ULONG lpRUPP = NULL;
	ReadProcessMemory(hProcess, (LPVOID)(pbi.PebBaseAddress + 0x10), &lpRUPP, 4, NULL);
	
	// 修改进程路径
	ULONG lpOldPath = NULL;
	ReadProcessMemory(hProcess, (LPVOID)(lpRUPP + 0x3C), &lpOldPath, 4, NULL);
	WriteProcessMemory(hProcess, (LPVOID)lpOldPath, szNewPath, MAX_PATH, NULL);

	// 修改命令行为空
	ULONG lpOldCommand = NULL;
	ReadProcessMemory(hProcess, (LPVOID)(lpRUPP + 0x44), &lpOldCommand, 4, NULL);
	WriteProcessMemory(hProcess, (LPVOID)lpOldCommand, TEXT(""), MAX_PATH, NULL);

	return TRUE;
}

//入口函数
int main(int argc, char* argv[])
{
	FxReplaceProcessPath(GetCurrentProcess(), TEXT("C:\\WINDOWS\\system32\\svchost.exe"));
	printf("Goodbye World!\n");
	system("pause");
	return 0;
}


 

作者:yincheng01 发表于2013-1-12 13:14:26 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3