精华内容
下载资源
问答
  • 如何识别文件的真假

    2019-11-27 14:49:45
    如何识别文件的真假 作者:阮一峰 日期:2019年11月26日 ...2015年9月,苹果手机的一些 App 被发现向可疑网站发送数据。进一步调查确认,可疑代码是 Xcode 打包时植入的。也就是说,开发者的编...

    如何识别文件的真假

    作者: 阮一峰

    日期: 2019年11月26日

    每个人都下载文件,大家有没有想过,文件可能是假的,尤其来自网盘或专门的下载站。

    本文就来谈谈如何识别文件的真假。

    一、XcodeGhost 事件

    我们从一件真实的事件说起。

    2015年9月,苹果手机的一些 App 被发现向可疑网站发送数据。进一步调查确认,可疑代码是 Xcode 打包时植入的。也就是说,开发者的编程工具 Xcode 被动过手脚了。

    腾讯的安全团队公布调查报告,应用商店的前 5000 名应用有76个被感染。360 应用商店检查后发现,共有1076个 App 被感染,包括微信、网易云音乐、滴滴打车、高德地图、12306、同花顺等热门应用。苹果公司将所有被感染的版本,都从官方软件商店下架了。这个事件就称为 XcodeGhost 事件

    国家互联网应急中心专门发出了预警通知。

    追查下去,那些动过手脚的 Xcode 都不是从官方渠道下载的,而是来自网盘或下载站。一个网名"coderfun"的人,在各种 iOS 开发者论坛或者微博留言,引诱其他开发者下载修改过的 Xcode,版本从 Xcode 6.1 到 6.4。

    事后,这位 coderfun 发出致歉公告,表示这只是自己的一次实验,没有恶意。但是,这个事件足以引起警惕,任何下载的文件都不一定安全,很可能被修改过或植入恶意代码。

    二、软件的防伪措施

    为了防止来源不明的软件,很多平台都有签名机制。软件发布必须由认证过的开发商,使用平台的密钥签名。如果用户安装未签名的软件,平台会弹出警告,阻止安装。下面就是 MacOS 的警告。

    但是,不可能所有开发者都去认证,尤其是认证要收费。而且,用户对这种警告不在乎,一般都会忽略或手动关闭。所以,这种做法的效果不明显。

    目前的常用做法是,软件发布时,同时给出哈希码和签名文件。前者保证没有被第三方修改,后者保证确实出自原始作者。

    举例来说,Linux 的发行版 Manjaro 除了提供原始的 iso 文件,还提供另外三个文件:sha1 哈希文件、sha 256 哈希文件和 sig 签名文件。 它们保证了软件的真实性。

    三、哈希码验证

    哈希码指的是,文件内容经过哈希函数的计算,会返回一个独一无二的字符串。哪怕原始内容只改动一个字节,哈希码也会完全不同。用户下载软件后,只要计算一下哈希码,再跟作者给出的哈希码比较一下,就会知道软件有没有被改动。

    目前,常用的三种哈希函数是 MD5、SHA1 和 SHA256。其中,SHA256 最安全,SHA1 次之,MD5 垫底。一般来说,软件至少会提供其中一种哈希码。

    下面是哈希码的验证方法。

    (1)Linux 系统

    Linux 系统直接用md5sumsha1sumsha256sum这三个命令,计算哈希码。

    
    $ md5sum foo.zip
    $ sha1sum foo.zip
    $ sha256sum foo.zip
    

    上面命令返回文件foo.zip的三种哈希码。用户再跟作者给出的哈希码比对。如果不一致,文件就是被改动了,或者没有完整下载。

    有时,就像前面 Manjaro 的例子,哈希码不是写在网页上,而是作为一个单独的文本文件下载。这时可以使用-c参数。

    
    $ md5sum -c foo.zip.md5file
    $ sha1sum -c foo.zip.sha1file
    $ sha256sum -c foo.zip.sha256file
    

    上面命令会返回哈希码的比对结果,直接告诉用户是否一致。

    (2)Mac 系统

    MacOS 的验证命令需要自己安装。

    
    $ brew install md5sha1sum
    

    执行上面命令以后,md5sum 和 sha1sum 就可以使用了。至于 sha256sum 要用 shasum -a256 命令代替。

    (3)Windows 系统

    Windows 可以下载安装免费软件 Quick hash 或者 Raymond's MD5 & SHA Checksum Utility。其中,Quick hash 是跨平台的,还支持 Linux 和 MacOS。

    四、签名验证

    哈希码只能保证文件内容没有修改,但是哈希码本身也有可能仿冒,完全可能连带原始文件一起造假。

    文件签名能解决这个问题。软件发布时,作者用自己的私钥,对发布的软件生成一个签名文件(Manjaro 例子的 sig 文件),用户使用作者的公钥验证签名文件。

    第一步,下载公钥。

    软件的官网一般都会给出作者公钥的下载方法。比如,Manjaro 就可以从 GitHub 仓库下载公钥。

    
    $ wget github.com/manjaro/packages-core/raw/master/manjaro-keyring/manjaro.gpg
    

    公钥也有可能放在专门的公钥服务器,这时可以使用gpg命令在从公钥服务器下载。

    
    $ gpg --keyserver hkp://eu.pool.sks-keyservers.net --search-keys [公钥 ID]
    

    上面命令会列出搜索结果,让你选择是否下载某一个公钥。--keyserver参数指定公钥服务器,search-keys参数给出搜索参数,可以是作者的名称,也可以是公钥的指纹。

    gpg命令在 Linux 下可以直接使用,MacOS 和 Windows 需要安装 GnuPG

    第二步,导入公钥。

    下载得到公钥后,将其导入操作系统。

    
    $ gpg --import [公钥文件]
    

    如果有完整的公钥指纹,gpg 命令的 --recv-key参数可以直接从服务器导入公钥。

    
    $ gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key "27DE B156 44C6 B3CF 3BD7 D291 300F 846B A25B AE09"
    

    第三步,验证签名。

    导入公钥以后,就可以验证签名文件(后缀名为 sig的 文件)了。

    
    # 用法一
    $ gpg --verify [签名文件]
    
    # 用法二
    $ gpg --verify [签名文件] [原始文件]
    

    上面命令的两种用法,效果是一样的。但是,用法一要求原始文件与签名文件同名,且在一个目录下。比如,签名文件是foo.iso.sig,原始文件必须是同目录下的foo.iso

    签名文件一般包括完整的公钥指纹,所以也可以跳过上面的第一步和第二步,直接从公钥服务器获取公钥,验证签名。

    
    $ gpg --keyserver-options auto-key-retrieve --verify [签名文件]
    

    (完)

    展开全文
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    Android Battery Dog 是 Android 平台上用来监控电池电量的服务软件,它生成电池记录文件:/sdcard/BatteryDog/battery.csv ,该文件包含时间、电量信息、温度和电压以及一些简单的图形。 项目就四个源码文件: ...
  • 博客原文: [10 月的好奇心]QQ 面对面快传的传应用功能是如何实现的?...因为在我印象里,安卓应用和windows软件的安装包一样,都是一系列文件打包压缩集合。实际在安装时会解压出各个文件安装到不同的目录里...

    博客原文: [10 月的好奇心]QQ 面对面快传的传应用功能是如何实现的?

    在手机里我们通常看不到已安装应用的安装包,但是有时我们又会有些好玩的应用或游戏给好友分享。没有网络的情况下怎么办呢?

    有朋友发现了QQ的面对面快传能直接发送已安装应用的apk。惊了(惊恐脸)。因为在我印象里,安卓应用和windows软件的安装包一样,都是一系列文件打包压缩集合。实际在安装时会解压出各个文件安装到不同的目录里。难不成QQ在手机上又把各个部分收集起来重新打包了?

    于是我去了解了安卓应用的安装过程,发现问题并没有想象的那么复杂。 关于apk的安装过程,我写了一篇文章以备忘。若你也感到好奇,可以简单看下。Apk 安装过程

    简单说,虽然确实解压了很多内容出去,但仍在/data/app/ 相应的目录下留有一份完整的apk。QQ 做的就是找到这个文件,然后作为普通的文件分享出去。

    那么,

    如何找到对应的apk呢?

    PackageManager 提供了一份系统安装应用的清单,这个清单提供了很多有价值的信息 ApplicationInfo

    可以发现其中的 sourceDir 字段,就是我们的目标。

    OK,通过这两行代码,就可以获取到apk文件的路径了。有没有很兴奋呢?

        // 获取已安装应用列表
        List<ApplicationInfo> apps = {Activity}.getPackageManager().getInstalledApplications(0);
    
        // 获取apk地址
        appInfo.sourceDir
    
    复制代码

    权限问题

    看到前面说apk保存在 /data/app/ 目录下,其实很担心权限问题。我们都知道 /data/ 目录权限是很严格的,需要system用户或同组用户才拥有读权限。

    drwxrwx--x 44 system system 4096 2018-10-08 16:17 data/
    复制代码

    不过不用担心,经过验证,虽然 /data//data/app/ 的other用户没有读权限,可是其下的文件却是other可读的:

    ocean:/ $ ls -ld data/app/com.qiyi.video 
    drwxr-xr-x 4 system system 4096 1970-01-01 08:03 data/app/com.qiyi.video
    
    ocean:/ $ ls -l data/app/com.qiyi.video
    -rw-r--r-- 1 system system  31639584 1970-01-01 08:03 com.qiyi.video.apk
    drwxr-xr-x 3 system system      4096 1970-01-01 08:03 lib
    drwxrwx--x 3 system install     4096 1970-01-01 08:03 oat
    复制代码

    是不是感觉很神奇?

    现在这个世界的大门也为你打开了,快去探索吧。

    展开全文
  • 1.gps代码根据sdk中修改的,只是卫星定位的,根据基站定位的代码不知如何实现,只有当使用手机的人走到卫星信号好的地方时才能把坐标发 出去 2.发送的gps坐标 ,只是一个大体的位置,几百米以内的范围,有些浮动 3....
  • 这系列文章主要讲述,如何通过Python爬取招聘信息,且爬取的日期为当前天的,同时将爬取的内容保存到数据库中,然后制作定时系统每天执行爬取,最后是Python调用相关库发送短信到手机。整个系列主要分为五部分,共五...
            这系列文章主要讲述,如何通过Python爬取招聘信息,且爬取的日期为当前天的,同时将爬取的内容保存到数据库中,然后制作定时系统每天执行爬取,最后是Python调用相关库发送短信到手机。
            最近研究了数据库的定时计划备份,联系爬虫简单做了这个实验,虽然方法是基于单机,比较落后,但可行,创新也比较好。整个系列主要分为五部分,共五篇文章:
            1.Python爬取招聘信息,并且存储到MySQL数据库中;
            2.调用pyinstaller包将py文件打包成exe可执行文件;
            3.设置Windows系统的计划,制作定时任务,每天早上定时执行exe爬虫;
            4.结合PHP(因毕业设计指导学生的是PHP系统)简单实现前端招聘信息界面;
            5.补充知识:Python调用短信猫发送招聘短信到客户手机,研究ing。
            文章比较基础好玩,希望对您有所帮助,如果文章中存在错误或不足之处。


    一. 运行结果

            爬取地址为智联招聘网站:http://sou.zhaopin.com/


            爬取结果存储至MySQL数据库如下图所示,注意只有4月22日的信息。


            运行结果及保存TXT文件如下所示:




    二. BeautifulSoup爬虫详解

            完整代码如下所示:

    # -*- coding: utf-8 -*-
    """
    Created on 2017-04-22 15:10
    
    @author: Easstmount
    """
    
    import urllib2 
    import re 
    from bs4 import BeautifulSoup
    import codecs
    import MySQLdb
    import os
    
    
    #存储数据库
    #参数:职位名称 公司名称 职位月薪 工作地点 发布时间 职位链接
    def DatabaseInfo(zwmc, gsmc, zwyx, gzdd, gxsj, zwlj):  
        try:  
            conn = MySQLdb.connect(host='localhost',user='root',
                                 passwd='123456',port=3306, db='eastmount')  
            cur=conn.cursor() #数据库游标  
      
            #报错:UnicodeEncodeError: 'latin-1' codec can't encode character  
            conn.set_character_set('utf8')  
            cur.execute('SET NAMES utf8;')  
            cur.execute('SET CHARACTER SET utf8;')  
            cur.execute('SET character_set_connection=utf8;')
    
            #SQL语句 智联招聘(zlzp)
            sql = '''insert into eastmount_zlzp 
                        (zwmc,gsmc,zwyx,gzdd,gxsj,zwlj) 
                    values(%s, %s, %s, %s, %s, %s)'''
    
            cur.execute(sql, (zwmc, gsmc, zwyx, gzdd, gxsj, zwlj))
            print '数据库插入成功'            
            
        #异常处理  
        except MySQLdb.Error,e:  
            print "Mysql Error %d: %s" % (e.args[0], e.args[1])  
        finally:  
            cur.close()    
            conn.commit()    
            conn.close()  
        
    
    #爬虫函数
    def crawl(url):
        page = urllib2.urlopen(url) 
        contents = page.read() 
        soup = BeautifulSoup(contents, "html.parser") 
        print u'贵阳JAVA招聘信息: 职位名称 \t 公司名称 \t 职位月薪 \t 工作地点 \t 发布日期 \n'
        infofile.write(u"贵阳JAVA招聘信息: 职位名称 \t 公司名称 \t 职位月薪 \t 工作地点 \t 发布日期  \r\n")
        print u'爬取信息如下:\n'
    
        i = 0
        for tag in soup.find_all(attrs={"class":"newlist"}):
            #print tag.get_text()
            i = i + 1
            
            #职位名称
            zwmc = tag.find(attrs={"class":"zwmc"}).get_text()
            zwmc = zwmc.replace('\n','')
            print zwmc
            #职位链接
            url_info = tag.find(attrs={"class":"zwmc"}).find_all("a")
            #print url_info
            #url_info.get(href) AttributeError: 'ResultSet' object has no attribute 'get' 
            for u in url_info:
                zwlj = u.get('href')
                print zwlj
            #公司名称
            gsmc = tag.find(attrs={"class":"gsmc"}).get_text()
            gsmc = gsmc.replace('\n','')
            print gsmc
            #find另一种定位方法 <td class="zwyx">8000-16000</td>
            zz = tag.find_all('td', {"class":"zwyx"})
            print zz
            #职位月薪
            zwyx = tag.find(attrs={"class":"zwyx"}).get_text()
            zwyx = zwyx.replace('\n','')
            print zwyx
            #工作地点
            gzdd = tag.find(attrs={"class":"gzdd"}).get_text()
            gzdd = gzdd.replace('\n','')
            print gzdd
            #发布时间
            gxsj = tag.find(attrs={"class":"gxsj"}).get_text()
            gxsj = gxsj.replace('\n','')
            print gxsj
            #获取当前日期并判断写入文件
            import datetime
            now_time = datetime.datetime.now().strftime('%m-%d') #%Y-%m-%d
            #print now_time
            if now_time==gxsj:
                print u'存入文件'
                infofile.write(u"[职位名称]" + zwmc + "\r\n")
                infofile.write(u"[公司名称]" + gsmc + "\r\n")
                infofile.write(u"[职位月薪]" + zwyx + "\r\n")
                infofile.write(u"[工作地点]" + gzdd + "\r\n")
                infofile.write(u"[发布时间]" + gxsj + "\r\n")
                infofile.write(u"[职位链接]" + zwlj + "\r\n\r\n")  
            else:
                print u'日期不一致,当前日期: ', now_time
            
            #####################################
            # 重点:写入MySQL数据库
            #####################################
            if now_time==gxsj:
                print u'存入数据库'
                DatabaseInfo(zwmc, gsmc, zwyx, gzdd, gxsj, zwlj)
            
            print '\n\n'
    
        else:
            print u'爬取职位总数', i
            
            
    #主函数
    if __name__ == '__main__':
        
        infofile = codecs.open("Result_ZP.txt", 'a', 'utf-8')     
        #翻页执行crawl(url)爬虫
        i = 1  
        while i<=2:  
            print u'页码', i
            url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?in=160400&jl=%E8%B4%B5%E9%98%B3&kw=java&p=' + str(i) + '&isadv=0'  
            crawl(url)  
            infofile.write("###########################\r\n\r\n\r\n")  
            i = i + 1
            
        infofile.close()
    
    
    
            安装Beautifulsoup如下图所示,使用pip install bs4即可。


            重点是分析智联招聘的DOM树结构。
            1.分析URL
            URL为:http://sou.zhaopin.com/jobs/searchresult.ashx?in=160400&jl=%E8%B4%B5%E9%98%B3&kw=java&p=2&isadv=0
            其中,"in=160400" 表示 "行业类别" 选择"计算机软件"(可以多选);"jl=贵阳" 表示工作地点选择贵阳市;"kw=java" 表示职位选择Java相关专业;"p=2" 表示页码,main函数通过循环分析爬取。


            2.分析DOM树节点
            然后浏览器右键审查元素,可以看到每行职位信息都是在HTML中都是一个<table></table>,其中class为newlist。
            核心代码:for tag in soup.find_all(attrs={"class":"newlist"}):
            定位该节点后再分别爬取内容,并赋值给变量,存储到MySQL数据库中。



            3.具体内容分析
            获取职位名称代码如下:
            zwmc = tag.find(attrs={"class":"zwmc"}).get_text()
            print zwmc

            另一段代码,会输出节点信息,如:
            zz = tag.find_all('td', {"class":"zwyx"})
            print zz
            #<td class="zwyx">8000-16000</td>

            对应的HTML DOM树分析如下图所示。


            4.判断为当前日期则保存到TXT和MySQL中,这是为了后面方便,每天爬取最新的信息并周期执行,然后发送短信给手机。我也是佩服自己的大脑,哈哈~

            参考前文,并推荐官网。
            Python爬虫之Selenium+BeautifulSoup+Phantomjs专栏
            [python知识] 爬虫知识之BeautifulSoup库安装及简单介绍
            [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息


    三. 数据库操作

            SQL语句创建表代码如下:

    CREATE TABLE `eastmount_zlzp` (  
      `ID` int(11) NOT NULL AUTO_INCREMENT,  
      `zwmc` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '职位名称',  
      `gsmc` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '公司名称',  
      `zwyx` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '职位月薪',  
      `gzdd` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '工作地点',  
      `gxsj` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '发布时间',
      `zwlj` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '职位链接',
    	`info` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '详情', 
      PRIMARY KEY (`ID`)  
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;  
            显示如下图所示:


            其中,Python调用MySQL推荐下面这篇文字。
            [python] 专题九.Mysql数据库编程基础知识
            核心代码如下所示:

    # coding:utf-8 
    import MySQLdb
     
    try:
        conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01')
        cur=conn.cursor()
        
        #插入数据
        sql = '''insert into student values(%s, %s, %s)'''
        cur.execute(sql, ('yxz','111111', '10'))
    
        #查看数据
        print u'\n插入数据:'
        cur.execute('select * from student')
        for data in cur.fetchall():
            print '%s %s %s' % data
        cur.close()
        conn.commit()
        conn.close()
    except MySQLdb.Error,e:
         print "Mysql Error %d: %s" % (e.args[0], e.args[1])

            后面还将继续探寻、继续写文,写完这种单击版的定时发送功能,后面研究Python服务器的相关功能。最后希望文章对你有所帮助,如果文章中存在错误或不足之处,还请海涵~
            太忙了,但是年轻人忙才好,多经历多磨砺多感悟;想想自己都是下班在学习,配女神的时候学习,真的有个好贤内助。胡子来省考,晚上陪他们吃个饭。感觉人生真的很奇妙,昨天加完班走了很远给女神一个91礼物和一个拼图,感觉挺开心的。生活、教学、编程、爱情,最后献上一首最近写的诗,每句都是近期一个故事。
            风雪交加雨婆娑,
            琴瑟和鸣泪斑驳。
            披星戴月辗转梦,
            娜璋白首爱连绵。

            同时准备写本python书给我的女神,一直没定下来,唯一要求就是她的署名及支持。
          (By:Eastmount 2017-04-22 下午4点  http://blog.csdn.net/eastmount/

     

    展开全文
  • 百度百科面试一面

    2016-12-27 15:00:30
    基础知识: 1.一个apk的编译流程,打包流程 2.一个apk的启动流程,怎么开启...7.小米手机和魅族手机如何拦截电话?如果没有成功,原因 8.Android的handler机制 9.知道handler的PostDdelay()延迟发送么?如果让你设
    基础知识:
    1.一个apk的编译流程,打包流程
    2.一个apk的启动流程,怎么开启第一个进程?
    2.dex文件的结构
    3.消息队列机制
    4.lrucache原理
    5.三级缓存是怎么回事
    6.进程管理,如何杀掉进程
    7.小米手机和魅族手机如何拦截电话?如果没有成功,原因
    8.Android的handler机制
    9.知道handler的PostDdelay()延迟发送么?如果让你设计会如何实现?
    10.缓存的实现原理,如果让你设计一个linkedhashmap如何实现?


    相关算法问题:
    1.单向和双向链表,链表反转,
    2.判断两个链表是否有重合元素,分三种情况,都没有环,一个有环一个没有环,两个都有环
    3.利用单向链表设计一个内存缓存
    4.设计实现一个压缩文件的算法,面试官很好,一步一步引导你该怎么做。
    a 分段,提高扫面效率
    b 重复的元素设计数据结构保存
    c 进一步优化,利用哈夫曼编码,二叉树节点和边保存优化的信息。。。当时一脸懵逼。。。╮(╯▽╰)╭
    展开全文
  • C#源码大集合 02(共3卷)

    热门讨论 2008-07-18 10:50:59
    │ ├─实例149 如何打包Web Services程序 │ └─实例150 如何访问Web Services程序 ├─C#源码第二部分 │ ├─第00部分 基础知识 │ │ └─HelloWorld │ ├─第01部分 Windows窗体 │ │ ├─第11讲 浮动的...
  • C#源码大集合 01(共3卷)

    千次下载 热门讨论 2008-07-18 10:43:46
    ├─实例149 如何打包Web Services程序 │ └─实例150 如何访问Web Services程序 <br> <br>├─C#源码第二部分 │ ├─第00部分 基础知识 │ │ └─HelloWorld │ ├─第01部分 Windows窗体...
  • C#源码大集合 03(共3卷)

    热门讨论 2008-07-18 10:54:39
    ├─实例149 如何打包Web Services程序 │ └─实例150 如何访问Web Services程序 <br> <br>├─C#源码第二部分 │ ├─第00部分 基础知识 │ │ └─HelloWorld │ ├─第01部分 Windows窗体...
  • 如何运行项目:--在命令行写,npm运行,并且在打包程序启动后,可以通过模拟器或使用expo应用程序查看应用程序的多种方法,可以向要查看的设备发送文本消息请使用expo应用程序将其打开,或者您可以扫描条形码以将其...
  • 10> 如何部署应用到真实手机 11> 短信发送 12> 布局介绍 LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局) 第二天 1> 单元测试 2> ...
  • 10> 如何部署应用到真实手机 11> 短信发送 12> 布局介绍 LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局) 第二天 1> 单元测试 2> ...
  • 10> 如何部署应用到真实手机 11> 短信发送 12> 布局介绍 LinearLayout (线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局) 第二天 1> 单元测试 2> ...
  • 实例244 两种信息发送方式 310 实例245 使用线程添加数据 312 实例246 功能快捷键 314 第7章 注册表 317 7.1 操作注册表 318 实例247 怎样存取注册表信息 318 实例248 注册表保存注册信息 319 实例...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    独立打包,保证可解压,内含大量源码,网上搜集而来。一共10几包,每个包几十兆。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    表技术、硬件相关开发技术、网络开发技术、Web编程、加密、安全与软件注册、数据结构与算法、C#高级开发、实用工具、程序打包等共21章,572个实例。  本书附有配套光盘。光盘提供了书中所有实例的源代码,全部源...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    独立打包,保证可解压,内含大量源码,网上搜集而来。一共10几包,每个包几十兆。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、...
  • 表技术、硬件相关开发技术、网络开发技术、Web编程、加密、安全与软件注册、数据结构与算法、C#高级开发、实用工具、程序打包等共21章,572个实例。  本书附有配套光盘。光盘提供了书中所有实例的源代码,全部源...
  • 表技术、硬件相关开发技术、网络开发技术、Web编程、加密、安全与软件注册、数据结构与算法、C#高级开发、实用工具、程序打包等共21章,572个实例。  本书附有配套光盘。光盘提供了书中所有实例的源代码,全部源...
  • 表技术、硬件相关开发技术、网络开发技术、Web编程、加密、安全与软件注册、数据结构与算法、C#高级开发、实用工具、程序打包等共21章,572个实例。  本书附有配套光盘。光盘提供了书中所有实例的源代码,全部源...
  • 内容包括窗体与界面设计、控件应用、组件应用、图形技术、多媒体技术、文件系统、操作系统与Windows相关程序、注册表、数据库技术、SQL查询相关技术、报表与打印技术、图表技术、硬件相关开发技术、网络开发技术、...
  • 除了 NetSupport 的一对一文件传输和一对多文件分发功能以外,具有创新性的“发送和收缴作业”工具允许教师通过单个操作向所有学生发送文档然后收缴,现在还提供对已发送各个文档的状态的实时反馈,使教师可以查看...
  • 实例279 两种信息发送方式 375 实例280 判断计算机中是否安装了SQL软件 378 第8章 注册表 380 8.1 个性桌面 381 实例281 禁用桌面选项卡 381 实例282 禁用外观选项卡 382 实例283 禁用屏幕保护选项卡 383 实例284 ...
  • 全书压缩打包成3部分,这是第2部分 内容简介  《ASP.NET开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年...
  • 全书压缩打包成3部分,这是第1部分 内容简介  《ASP.NET开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年...
  • 全书压缩打包成3部分,这是第3部分 内容简介  《ASP.NET开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年...

空空如也

空空如也

1 2 3 4
收藏数 61
精华内容 24
关键字:

手机如何打包文件发送