青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
今日:0    总帖:10
admin
4339
公司搬迁,从仓库里翻出了一台古董传真机,NTT的T213目前无论是百度还是谷歌均已找不到该设备的介绍,唯一仅能查到发售时间是1996年。。。(认真看了下铭牌信息,制造年月9504?),总之这款设备已无法考究本来想通电测试下看是否还能启动,插上电只听扫描头自检,随后滴一声,之后只见插电地方的旁边伴随着一道亮光,发出一声“Boom”,赶紧断电此时才注意到插电旁边的铭牌。。。。100V 50/60Hz 此时内心OS:100V ......也是难为你了,承受了那么大的电压,还坚挺了1分多钟行吧。。。那估摸着应该是烧了,正好也想给机器做个清洁,于是就有了接下来的拆解===========================正话说完,开拆!先看下机器最后一眼接下来,手术师准备来给“病人”开膛破肚“病人”部分高清细节图最后来个大合照
5 0 1394天前
admin
5441
不知道你还记得过去的“现在可以安全关闭电脑”的信息吗?据观察有些用户仍然对在windows 10中是否仍然可以显示此信息感兴趣,并为此去尝试,就像我们过去在90年代看到Windows 95中的消息一样。  首先,我们需要知道为什么显示,因为那些旧系统实际上并不支持电源管理,必须通过电源开关手动关闭它们。在那个时候电源管理被认为是一种很先进的功能,仅仅只有少数计算机支持。  是的,在那个时间点里,系统并不兼容ACPI(高级配置和电源接口)。  OS基本上无法使用ACPI来控制电源功能。只能通过发送断电命令关闭主板电源。  Windows 95用户在关闭完成后通过查看计算机上显示的信息:现在可以安全地关闭计算机,来确保按下电源按钮时系统文件不会损坏。 当然如今的电脑你要说还有不支持,不兼容ACPI的,我想几乎没有了吧,但如果仍然想体验,怎么办呢? 别着急,微软仍然为我们保留了这个接口,且这个接口可以支持目前最新的系统。。  如果您想要在Win Vista 及以上PC上看到上述内容,则可以按照下面提到的步骤操作。  用户可以通过组策略设置启用该功能。如果关闭Windows,系统将不会(物理上)关闭PC。  --转到“开始”菜单,然后打开“控制面板”。 --导航到“控制面板”窗口右侧可用的搜索框,然后键入“组策略”。 --您将看到搜索结果列表,然后单击“编辑组策略”。(也可以直接开始菜单,运行,输入“gpedit.msc”) --将打开一个新窗口“本地组策略编辑器”,选择“计算机配置”>>“管理模板”>>“系统”。 --双击“Windows系统关闭后不要关闭系统电源”,它将打开一个新窗口。 --在屏幕的左侧,您将看到三个选项:Not Configured,Enabled和Disabled。 选择“已启用”,然后单击“确定”以保存设置。 最后,按Win + R键打开“运行”并键入以下命令,然后按“确定”: shutdown -s -t 0 您的系统现在将关闭,您将看到消息“现在可以安全地关闭计算机”。  此外,启用该功能还可以避免在遇到任何不可避免的情况时可能遇到的系统错误。ps: 当使用“开始”菜单或任务管理器用户界面手动选择关机时,此设置不影响 Windows 关机行为。 诸如 UPS 软件此类的应用程序可能依赖 Windows 关机行为。当使用调用 Windows 编程接口 ExitWindowsEx() 或 InitiateSystemShutdown() 的软件程序来关闭 Windows 时,此设置才有用。
0 0 1623天前
admin
5465
转自:http://blog.chinaunix.net/uid-25785357-id-3434344.html 使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行如何往 cron 中添加一个作业?# crontab –e0 5 * * * /root/bin/backup.sh这将会在每天早上5点运行 /root/bin/backup.shCron 各项的描述以下是 crontab 文件的格式:{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} o minute: 区间为 0 – 59 o hour: 区间为0 – 23 o day-of-month: 区间为0 – 31 o month: 区间为1 – 12. 1 是1月. 12是12月. o Day-of-week: 区间为0 – 7. 周日可以是0或7.Crontab 示例1. 在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。1 0 * * * /root/bin/backup.sh2. 每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。59 11 * * 1,2,3,4,5 /root/bin/backup.sh下面例子与上面的例子效果一样:59 11 * * 1-5 /root/bin/backup.sh3. 每5分钟运行一次命令*/5 * * * * /root/bin/check-status.sh4. 每个月的第一天 1:10 p.m 运行10 13 1 * * /root/bin/full-backup.sh5. 每个工作日 11 p.m 运行。0 23 * * 1-5 /root/bin/incremental-backup.shCrontab 选项以下是 crontab 的有效选项:o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。 o crontab –l : 显示 crontab 文件。 o crontab -r : 删除 crontab 文件。o crontab -ir : 删除 crontab 文件前提醒用户。以上就是crontab命令的具体使用方法了。 在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现。以某一频率执行任务linux缺省会启动crond进程,crond进程不需要用户启动、关闭。crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。cron的调度文件有以下几个:   1. crontab   2. cron.d   3. cron.daily   4. cron.hourly   5. cron.monthly   6. cron.weekly 如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。示例:每隔一分钟执行一次脚本 /opt/bin/test-cron.sh可以在cron.d新建脚本 echo-date.sh内容为*/1 * * * * root  /opt/bin/test-cron.sh在指定的时间运行任务也可以通过at命令来控制在指定的时间运行任务如:at -f test-cron.sh -v 10:25其中-f 指定脚本文件, -v 指定运行时间quote:ea946d690b="lophyxp"]首先用contab -l >contabs.tmp导出contab的配置。然后编辑contabs.tmp文件。以一下格式添加一行:分钟 小时 天 月 星期 命令比如10 3 * * 0,6 hello就是每周六、周日的3点10分执行hello程序。15 4 * * 4-6 hello就是从周四到周六的4点15点执行hello程序。然后用contab contabs.tmp命令导入新的配置。一般不建议直接修改/etc/下的相关配置文件。启动cron进程的方法:/etc/init.d/crond start开机就启动cron进程的设置命令:chkconfig --add crond方法二:把cron加入到启动脚本中:# rc-update add vixie-cron defaultcrontab -l #查看你的任务crontab-e#编辑你的任务crontab-r#删除用户的crontab的内容实例讲解二:系统cron设定:/etc/crontab    通过 /etc/crontab 文件,可以设定系统定期执行的任务,当然,要想编辑这个文件,得有root权限0 7   *    *   *    root    mpg123 ~/wakeup.mp3分 时 日 月 周示例:0 4  * * 0     root emerge --sync && emerge -uD world              #每周日凌晨4点,更新系统0 2 1 * *     root   rm -f /tmp/*                                                    #每月1号凌晨2点,清理/tmp下的文件0 8 6 5 *   root     mail  robin < /home/galeki/happy.txt             #每年5月6日给robin发信祝他生日快乐假如,我想每隔2分钟就要执行某个命令,或者我想在每天的6点、12点、18点执行命令,诸如此类的周期,可以通过 “ / ” 和 “ , ” 来设置:*/2   *   *   *   *           root      ...............      #每两分钟就执行........0 6,12,18   *   *   *    root      ...............      #每天6点、12点、18点执行........每两个小时0 */2 * * * echo "have a break now." >> /tmp/test.txt晚上11点到早上8点之间每两个小时,早上八点0 23-7/2,8 * * * echo "have a good dream:)" >> /tmp/test.txt每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点0 11 4 * 1-3 command line1月1日早上4点0 4 1 1 * command line收获:可以把经常要做的一些事放到其中,简化工作量,如每周一检查服务器的运行状态,查看报告,杀掉一些进程等等……*  *  *  *  *  command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每晚的21:30重启apache。45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示每月1、10、22日的4 : 45重启apache。10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart上面的例子表示每周六、周日的1 : 10重启apache。0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart上面的例子表示每星期六的11 : 00 pm重启apache。* */1 * * * /usr/local/etc/rc.d/lighttpd restart每一小时重启apache* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart晚上11点到早上7点之间,每隔一小时重启apache0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart每月的4号与每周一到周三的11点重启apache0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart一月一号的4点重启apache名称 : crontab使用权限 : 所有使用者使用方式 :crontab file [-u user]-用指定的文件替代目前的crontab。crontab-[-u user]-用标准输入替代目前的crontab.crontab-1[user]-列出用户目前的crontab.crontab-e[user]-编辑用户目前的crontab.crontab-d[user]-删除用户目前的crontab.crontab-c dir- 指定crontab的目录。crontab文件的格式:M H D m d cmd.M: 分钟(0-59)。H:小时(0-23)。D:天(1-31)。m: 月(1-12)。d: 一星期内的天(0~6,0为星期天)。cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量说明 :crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。参数 :crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)crontab -r : 删除目前的时程表crontab -l : 列出目前的时程表crontab file [-u user]-用指定的文件替代目前的crontab。时程表的格式如下 :f1 f2 f3 f4 f5 program其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。例子 :#每天早上7点执行一次 /bin/ls :0 7 * * * /bin/ls在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :0 6-12/3 * 12 * /usr/bin/backup周一到周五每天下午 5:00 寄一封信给 alex@domain.name :0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"20 0-23/2 * * * echo "haha"注意 :当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可例子2 :#每天早上6点10分10 6 * * * date#每两个小时0 */2 * * * date#晚上11点到早上8点之间每两个小时,早上8点0 23-7/2,8 * * * date#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点0 11 4 * mon-wed date#1月份日早上4点0 4 1 jan * date范例$crontab -l 列出用户目前的crontab.
2 0 2193天前
admin
5726
Windows Xp sp2(64位版):B66VY-4D94T-TPPD4-43F72-8X4FY Windows Xp SP3:DP7CM-PD6MC-6BKXT-M8JJ6-RPXGJ Windows XP Home Edition: BQJG2-2MJT7-H7F6K-XW98B-4HQRQ Windows XP Tablet PC Edition 2005:HXDVH-DRXJY-XFMTY-2FHK4-Y4MMJ Windows 95: 00100-OEM-0123456-00100 Windows 98: GH9VJ-XFQRF-D64TG-JRTB6-RR366 Windows 98 第二版:WHWGP-XDR8Y-GR9X3-863RP-67J2T Windows Me: HJPFQ-KXW9C-D7BRJ-JCGB7-Q2DRJJ Windows 8: DNJXJ-7XBW8-2378T-X22TX-BKG7J Windows 8.1:XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB Windows NT Workstation: 807-2414712 Windows 2000 Server:H6TWQ-TQQM8-HXJYG-D69F7-R84VM Windows 2003 Server 企业版:JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY5 Windows Neptune:W7XTC-2YWFB-K6BPT-GMHMV-B6FDY
0 0 2267天前
admin
36004
原文载自:http://www.hao4k.com/thread-9349-1-1.html 如果观看4K HDR视频和电影的时候,使用不正确的方法观看时,画面惨白惨白的,简直一塌糊涂,不知道人还以为是片源有问题呢。下面这图应该是很多用户会遇到的情况。HDR片源正确播放和非正确播放对比图。8 p3 a; N: q$ c: G4 N  g  在开始介绍如何用PC播放HDR之前,小编还是建议大家花几百块买台电视盒子,这样省事儿很多。英特尔的牙膏还要一点一点挤,优秀的HDR算法更是捉襟见肘。相反ARM处理器就灵活很多,专门针对视频优化的ARM处理器甚至可以支持HDR10标准(12bit、Rec 2020、4K)的硬解。目前英特尔第七代U虽然支持了HEVC 4K 60FPS硬解,但是对于HDR的视频渲染目前还没有硬解方案。' H0 G, r) [0 L/ i6 Q电脑怎么播放4K HDR片子的方法(相关软件在文章最后均有提供): 2022.08.21 更新说明:如果使用的是完美解码带的potplayer,则已无需再进行设置,完美解码最新版本已自带Lentoid HEVC 渲染方案,最新版完美解码下载地址:完美解码 20220730 - 清新影视 (3vfree.cn)   下面小编介绍的方案是potplayerr播放器+madVR渲染。potplayer就不用过多介绍了,madVR支持读取片源里的HDR信息,然后把颜色重新映射在SDR屏幕上,模拟HDR的效果。& O! j+ {  o/ E; c( ?  一、硬件检测  可以先用DXVAChecker检查一下CPU或者显卡是否支持HEVC 10bit硬解。站长用GTX750检查了一下,最高可以支持到4K HEVC 10bit硬件。  还有一点要注意,如果打算用PC输出到普通显示设备上观看HDR视频,那输出端口必须支持HDMI2.0和DP1.4,DP1.2的宽带虽然也够,但却不支持HDR/BT.2020。然而HD620核显HDMI只支持到了1.4,目前的4K电视是没有DP接口的,所以要借助转换器或者雷电接口了。打算拿Kaby Lake来做HTPC在电视上解码4K HDR视频的朋友,一定要留意HTPC是否有DP或雷电接口,4K电视是否有HDMI2.0接口。  大家可以去potplayerr官网和madVR官网分别下载最新的程序,安装完potplayerr之后记得勾选“安装额外的编解码器”,这样就可以将常用的解码器一并安装了。  二、madVR设置  madVR下载之后解压到非中文名称的路径下,管理员身份运行install.bat。这样madVR就安装好了。       接下来我们打开“madHcCtrl.exe”这个程序,对madVR进行简单设置,显示器设置选第二项Digital Monitor/TV。properties中,如果是PC就选0-255,如果是TV就选16-235。面板色数这里根据你自己面板的参数来,如果屏幕是8bit抖色成10bit且只能显示1670万色,那建议选8bit、9bit,这样色阶过度会好一点,不然画面可能会出现很多噪点或者断层。                   calibration。选择第二项,表示显示器的色彩已经校准为BT.709(此处根据显示器色域性能选择不同的标准)。其他方面默认设置就好。                     三、potplayerr设置 用potplayerr任意打开一个HDR视频,进入选项设置,在视频解码器中添加滤镜,选择系统滤镜,点选“madVR”(上图为具体操作流程)。这样播放器就成功添加了madVR滤镜。 接着把视频输出设备勾选为“Madshi视频渲染”,全屏独占模式选为“使用”(全屏下渲染更快)。至此视频渲染器的设置就完成了。]# g  四、效果检验  potplayerr播放界面下查看视频输出设备,出现了“Madshi视频渲染”。 快捷键Tab调出OSD信息可以看到视频渲染器为“Madshi Video Renderer”。 有木有感觉相当惊艳?!看到两种渲染模式的对比,HDR让人有种回到等离子时代的幻觉,而且这还是在普通显示器上演示的结果,如果放在峰值亮度1000nit及以上的显示设备上,那画面的真实感怕是要溢出了。 i  总结:由于HDR标准面世的时间还不太久,在消费领域推广HDR视频也是近几年才有的事情,所以市面上关于4K HDR的解决方案还并不是很多。本文介绍在PC端渲染的方法也还不尽完善,且对硬件要求非常之高。如果你打算更流畅的体验HDR带来的视觉惊喜,小编还是建议直接购买支持HDR的电视或者盒子。  HDR是为内容而生的,但是一个新技术面世初期,必然面临内容匮乏的尴尬。可这种尴尬并不能很快化解,因为内容创作是一次性的,越来越庞大的电视节目库不可能整体升级,可以期待的只是增量,只有新内容可以用更高的技术规格进行制作。短期内能做的只是通过现有片源+图像处理技术加以适当弥补。(完) 软件下载:①DXVA Check :点击下载    ②madVr :分卷1下载   分卷2下载  分卷3下载  分卷4下载  分卷5下载 附:完整madvr设置:点击查看(图片较大,如果显示不正常请刷新)
1 0 2443天前
admin
6595
作者:Reginald 原文地址:https://bbs.pediy.com/thread-224265.htm一、导出表解析输出表位置,落在了.rdata段,16000【5200】17D70【6F70】从而,可以知道17D70,输出表在磁盘中的偏移是6F70在010里,Ctrl + G,输入6F70这里,先看下导出表的数据结构,40B,typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Name; // DLL的名称地址 DWORD Base; // 索引基数 DWORD NumberOfFunctions; // 函数地址表大小 DWORD NumberOfNames; // 函数名表大小 == 函数序号表大小 DWORD AddressOfFunctions; // 函数地址表——首地址 DWORD AddressOfNames; // 函数名表——首地址 DWORD AddressOfNameOrdinals; // 函数序号表——首地址 } IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;那就从6F70的位置,开始,找40B,如下:00 00 00 0071 DB 67 5A 【时间戳】00 00 【主版本】00 00 【次版本】C0 7D 01 00【DLL名称地址】01 00 00 00 【索引基数】04 00 00 00 【函数地址表大小】04 00 00 00 【函数名表大小 == 函数序号表大小】98 7D 01 00【函数地址表——首地址】A8 7D 01 00 【函数名表——首地址】B8 7D 01 00【函数序号表——首地址】1、看DLL的名称是啥:地址17DC0【6FC0】,找到了我们自己的库dll_00.dll2、再看下函数地址表中的元素,首地址17D98【6F98】,共有4个,地址,4B/个如下所示:3、再来看函数名表中的元素,首地址17DA8【6FA8】,共有4个,地址4B/个这些都是地址值,要找到真正的函数名:17DD0【6FD0】17DD5【6FD5】17DDA【6FDA】17DCB【6FCB】特别注意:函数名表,其实存放的也是地址值,RVA,这个只是我们自己找到的名称,方便起见,直接写的名字4、接下来,看下函数序号表,首地址17DB8【6FB8】,4个,序号,2B/个5、接下来,就分析分析:从这里,也可以看到,序号表里的值,并没有加上索引基数最终,会得到如下结果:6、验证下,我们的结果:成功了;至于,索引基数,还没看到效果呢,————注意看下刚刚的LoadPe里的Ordinal那一列部分代码:#pragma once #define WIN32DLL_EXPORTS #ifdef __cplusplus extern "C" { #endif #ifdef WIN32DLL_EXPORTS #define WIN32DLL_API __declspec(dllexport) #else #define WIN32DLL_API __declspec(dllimport) #endif WIN32DLL_API void Fun1(); WIN32DLL_API void Fun2(); WIN32DLL_API void Fun3(); #ifdef __cplusplus } #endifdef文件LIBRARY; EXPORTS; Fun4;二、导入表解析写一个测试程序,查看导入表RVA输入表位置,落在了.idata段1A000【7400】1A1E8【75E8】共20Btypedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstThunk; // RVA to original unbound IAT (PIMAGE_THUNK_DATA) } DUMMYUNIONNAME; DWORD TimeDateStamp; // 0 if not DWORD ForwarderChain; DWORD Name; DWORD FirstThunk; // RVA to IAT } IMAGE_IMPORT_DESCRIPTOR;2C A3 01 00 【OriginalFirstThunk:INT(Import Name Table)导入名称表地址RVA】00 00 00 00 00 00 00 00 54 A4 01 00【DLL名称(地址值)】E0 A0 01 00【IAT(Import Address Table)导入地址表地址RVA】1、首先看下DLL的名字,1A454【7854】2、看下INT(OriginalFirstThunk):1A32C【772C】,全0结尾函数名数组:44 A4 01 00 ————1A444【7844】——————最高位为0,说明是名称导入的,不是序号导入的;3C A4 01 00 ————1A43C【783C】——————4C A4 01 00 ————1A44C【784C】——————34 A4 01 00 ————1A434【7834】——————注意:IAT和INT都指向下面的数据结构,4Btypedef struct _IMAGE_THUNK_DATA32 { union { DWORD ForwarderString; // PBYTE DWORD Function; // PDWORD,导入函数的地址,在加载到内存后,这里才起作用 DWORD Ordinal; // 假如是序号导入的,会用到这里 DWORD AddressOfData; // PIMAGE_IMPORT_BY_NAME,假如是函数名导入的,用到这里,它指向另外一个结构体:PIMGE_IMPORT_BY_NAME } u1; } IMAGE_THUNK_DATA32; // 如果是函数名导入的,AddressOfData会指向下面这个结构体 typedef struct _IMAGE_IMPORT_BY_NAME { WORD Hint; CHAR Name[1]; } IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;由上可知,函数名导入的,因此,上面的地址值,就会指向一个PIMAGE_IMPORT_BY_NAME的结构体:【7844】Fun3【783C】Fun2【784C】Fun4【7834】Fun13、看下IAT,1A0E0【74E0】全0结束,IAT和INT一样,都指向IMAGE_THUNK_DATA32结构体,4B可见,最高位都是0,所以,也是名称导入的,另外,还可以发现,这个位置的值,和INT的值是一样的,因此,不再赘述了;44 A4 01 00 3C A4 01 00 4C A4 01 00 34 A4 01 00#include <stdio.h> extern "C" __declspec(dllimport) void Fun1(); extern "C" __declspec(dllimport) void Fun2(); extern "C" __declspec(dllimport) void Fun3(); // 如果是在def中导出的,需要如下声明 void Fun4(); #pragma comment(lib, "../Debug/dll_00.lib") int main(int argc, char** argv) { Fun1(); Fun2(); Fun3(); Fun4(); getchar(); return 0; }三、如果,修改def为LIBRARY; EXPORTS; Fun4 @1;看下导入表里的INT/IAT:可见,这里的一项,最高位为1,序号导入,这个序号,就是dll export的那个序号至此,PE结构中,导入/导出表的介绍结束;PS:I Dare to do sth I feared,作为一枚奋斗青年,也是一枚小白,最近在学习PE结构相关的知识,这篇帖子也算是自己的一个总结;希望能对需要的人以帮助;也期待大神们的更多指导;
1 0 2486天前
admin
7034
本文转载自差评(ID:chaping321)  网址:点击访问差友们,平时上网最讨厌看到啥?差评君觉得,应该是这货没啥争议 ↓↓这几乎是互联网时兴以来,每个人都无法避免会遇到的问题。404 这三个数字好像网络之神赐给每个信众的礼物~无论你是亿万富翁还是国家总统,网页打不开就是打不开,啥招也没用。。神说,要有 404,于是有了。。可是,为什么网页打不开,网页上都会显示 404 呢?传说,互联的发明者蒂姆·伯纳斯-李( Tim Berners-Lee )曾经在瑞士的欧洲核研究组织的 404 房间办公,在这个 404 房间有互联网时代的第一个服务器,人们所有的网络请求都会发向那里。大型强子对撞机就是这个欧洲核研究组织的如果你要访问的网络内容不存在,那个服务器就会给你返回 404 Not Found( 404 找不到资源)。。也不知道这个来由是从哪冒出来的,反正越传越广,最后连互联网的发明者罗伯特·卡利奥(Robert Cailliau)都不得不站出来澄清:造谣也要遵循基本法好吧,404 就是因为按顺序轮到 404 了而已。。其实,现在互联网网页都遵循 HTTP 协议(HyperText Transfer Protocol,超文本传输协议),我们每个人需求的网页内容都存储在一个个服务器上,这些储存着 HTML 文件和图像。当服务器检测到有用户给它发送打开网页的请求,服务器就会返回给那个用户一些东西,包括网页状态以及返回的内容(如请求的文件、错误消息、或者其它信息)。一个 HTTP 响应示例上面这个图,就是一个 HTTP 返回的例子,那个红框框起来的,里面有一个东西叫做 “ 返回状态码 ”,这个返回状态码就代表了这个网页状态。譬如,这个例子的网站的返回码是 200,也就是说,这个网站能够被成功访问~2XX 的返回码表示网页请求成功估计大家也看到了,4 开头的状态码就是错误码,返回 4XX 的,这个网页肯定打不开~404 就是其中一种错误的代号。。当服务器找不到用户请求的网页数据,而且并不知道错误原因,才会显示返回一个 404。出现 404 错误之后,网页显示什么内容,全看状态后面跟着什么消息体(看上面倒数第三个图)。有的网站就写着 “ 网页找不到 ”,而有的网站就会埋一些彩蛋~Magic Leap 的 404 网站去年 9 月有网友发现,在 Magic Leap 写着 “ 错误 404 ” 的页面上,一个电灯泡闪烁的频率为摩斯密码,破译后得出的结果正好是鲸鱼座中一颗星星的准确坐标,而这颗星星在每年12月时最明显,网友得出结论: Magic Leap 产品可能会在 12 月正式亮相!果然,Magic Leap 在去年 12 月发布了第一款产品。。(这特么也可以??)那网页出现 404 就一定是因为服务器无法找到用户请求么?天真!也有可能服务器了解你的请求,服务器也有相应的内容,但由于某种奇怪的原因,它被禁止回应你的请求。这时候本来服务器应该回一个 403 和无法返回数据请求的原因,但是它肯定不想被你发现它故意不给你数据,所以,它很有可能就回你一个 404 Not Found,假装自己没有这个数据。。RFC2616 HTTP/1.1 协议里关于 403 的描述不只是 403 ,还有 500 (服务器遇到意外情况,unexpected condition..),都有可能因为服务器懒得跟你解释发生错误的原因,就干脆甩给你一个 404 错误。。是不是突然想明白好多事?就像前面说的一样, 404 只是 HTTP 协议里面的一种返回码,这些返回码能让开发者知道网络连接错误的原因。如果你想在国内看 YouTube 等网站,浏览器会显示 “ 无法访问此网站 ”这种情况下,我们根本无法连接到相应的服务器上,连返回的状态码都没有。。这个完全可以通过浏览器自带的开发者工具看出来~打个比方,使用不了谷歌好像是你的电话线被拔了,电话根本打不出去;而 404 好比是你电话打出去了,可是那头跟你反馈用户无法接通。。所以说上不了谷歌和 404 压根一点关系都没有,是你的网不够科学~HTTP 协议里一共规定了 66 个标准 HTTP 状态返回码,每个都有自己的场景应用,可是有一个是异类。。418 返回码! I'm  a teapot?我是个茶壶??WTF??其实,这是 1998 年愚人节的时候发布的一个搞笑 RFC 协议(RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)),超文本咖啡壶控制协议。里面主要围绕一个论题展开:虽然咖啡无处不在,但如果你给一个茶壶发送泡咖啡的请求,那肯定是不行的。。鬼知道这些程序员都在想些什么奇怪的东西。。。如果你一定要给茶壶发送这个请求,茶壶就会给你返回一个 “ I'm a teapot ” 的错误码 418 ,表示我只是一个茶壶,并不能泡咖啡~就这么一个愚人节玩笑,那帮技术宅居然一本正经的写了 10 页文档(网址在这,自己戳:https://tools.ietf.org/html/rfc2324)。。更骚的是,他们还出了续集。。因为之前那个 RFC 2324 超文本咖啡壶控制协议只描写了对咖啡壶的规范,这对只喝茶的人赤裸裸的歧视!所以,2014 年愚人节,他们又发布了 RFC 7168(The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances),超文本咖啡壶控制协议之茶版本扩展。就喜欢你们一本正经的胡说八道的样子里面详细的描述了如何使用联网设备,实践各种各样复杂的茶冲泡工艺。连里边放的调味种类分类都细致的不行。。差评君服了。。只提一个小小的建议,貌似这里冲茶的工艺有些偏西方,大部分中国人是没有在茶里面放糖的习惯,所以我建议对泡茶种类做一个划分,什么铁观音、大红袍、普洱之类的。今年愚人节再出一个补充版吧~有人问了, HTTP 返回码就已知的那么几个么?当然不是了。。其实只要程序员有心,他可以自己自定义好多非标准的返回码,只要客户端和服务端都认识就行。当然,国内经常见到的这种图。。这个吧,是你搜的东西不够科学~
1 0 2500天前
admin
13032
原文地址:https://jingyan.baidu.com/article/046a7b3ef6b250f9c27fa9b9.html 首先,我们要先把水印模板给做出来。新建一张5厘米*5厘米的透明图层。点击“文件”->“新建。在弹出的对话框中宽度设为5厘米,高度也设为“5厘米”,背景内容设为“透明”,接着点“确定”。 2.    2  选择“横排文字工具”,把字体设为“楷体”,大小设为“30点”,文字颜色就不要紧了,反正待会要清空文字的。输文字的目的只是为了给文字描上一层灰色的边,我们要的是那层"边"。 3.    3  打完文字后,先不急着描边,先把文字放斜点。按一下“Ctrl+T”,进入“自由变换”模式,在文字的周围“按住鼠标左键就可以旋转文字”,按“回车键”退出自由变换模式。 4.    4  现在该给文字描边了,描边就是沿着字体的周围涂一层不厚也不薄的颜色,我们最后看到的水印其实就是这层边来的,一般的水印都是灰色的,好,我们就给文字描一层灰色的边。点击“添加图层样式∫X”->“描边”,进入“图层样式”对话框,大小为3像素,位置为外部,不透明度为100%,这些都按默认就行了。我们关键是要设置颜色。绝对不是要“黑色”,点击“黑色”部分进入“选取描边颜色”对话框。 5.    5  我们来到了“选取描边颜色”对话框,这里可以设置世界上会任何一种颜色,要对应的RGB码或LAB码,如果没有,那就到软件自带的“颜色库”里选取。拖动鼠标就能选到灰色。如果实在选不到,直接输入L=83,a=0,b=2也行。然后一路点“确定”就OK了。 6.    6  描完边后就成这样子了。 7.    7  接下来要把红色的字给清除了,把图层的“填充”调为0%就可以了。也许你们会误以为这样子就是最终的“水印”了。No,还差一点,这种水印太明显了,印在图片上只会让人有种“喧兵夺主”的感觉。那怎么办呢? 8.     很简单,把水印的“不透明度”调为60%就恰到好处了。这才是“终极水印”模板。 9.     我们把水印模板“自定义为图案”,随时可以为自己调用。点“编辑”->“定义图案”。在弹出的对话框中,随便填个“名称”,点“确定”,主要工作到这里基本结束了。剩下的就是如何调用的问题了。 10. 用photoshop 随便打开一张图片,点击“编辑”->“填充”,在弹出的填充对话框中点击自定图案的“下三角箭头”,在弹出的图案框中,拖动窗口的滚动条到最下面就可以看到自己制作的图案了,选定它,然后点“确定”。 11.  这就是我自制作的生日蛋糕——水印图!觉得水印还是太明显了点,你制作的时候可以把“不透明度”再调低点。 12. 如果你嫌整张图片布满水印不好看,可以把做成的“水印模板”定义为“画笔预设”,以后想在图片的哪个地方添加水印,只要选择画笔,在那个地方一点就可以了。我们来试一下,点击“编辑”->"定义画笔预设"。 13. 随便输入个名称,然后点击“确定”。那这张“水印模板”就变成“画笔工具”的一个“预设”,当我们选择“画笔工具”的时候,就可以调用了。 14. 我们选用“画笔工具”。 15. 选择“画笔预设”,选中刚才制作的“水印模板”。 16. 然后在图片上一点就是一个水印,再点一下,又一个水印,可以非常灵活。由于“画笔工具”一般是以“前景色”为画笔颜色的。所以,“前景色”的设置不同,也会导致水印的颜色不同。 17. 前景色可以配合着photoshop自带的“色板”使用,只要在“色板”上一点中,前景色就会换成相应的颜色。  
1 0 2516天前
admin
6749
一般我们都知道宏可以在Office信任中心里修改,但有时候修改了以后重启却发现还是一样,那么这种情况该怎么处理呢 既然从EXCEL软件的界面上无法进行操作,那么只好从注册表入手了,按窗口键+R,调出运行,输入 regedit,然后 确定. 在打开的注册表编辑器中,点击 HKEY_CURRENT_USER,然后打 SOFTWARE在Software键下,打开 Microsoft项,点击前面的 +符号在打开的 Microsoft项中,找到 Office,然后打开2007对应的12.0,然后打开下面的Excel项在打开的Excel项中,可以看到Security,这个关于安全的项,在右边的窗口中,有VBAWarnings,这一项就宏安全的值了.经对比,发现VBAWarnings的值,4 为禁用所有宏,并且不通知 2 为禁用所有宏,并发出通知3 为禁用无数字签署的所有宏 1 为启用所有宏
1 0 2525天前
admin
15593
  对于ps怎么抠公章,也是很多photoshop用户询问的一个问题。ps抠公章通常会使用色彩范围或者通道来抠公章。下面截图,左边是扫描稿里面一份合同里面加盖的公章。我们使用photoshop将公章抠取出来,然后调色稍微修补之后的效果,如右边所示。由于不是实际使用,只是做教程演示,因此细节部分没有做精细处理,旨在介绍其方法。下面是具体的ps抠公章操作步骤。1.在photoshop打开需要抠公章的图像文件。2.按下CTRL+J,复制背景图层,得到图层1.3.执行“选择——色彩范围”,用吸管单击红色公章部分,如果第一次选取红色不够,再次单击右边的“+”吸管,再增加红色范围,边吸取边看中间的预览,直到合适为止。 附:色彩范围的详细使用方法教程:http://www.ittribalwo.com/article/1760.html4.按下CTRL+J,将选区内的图像,复制到新图层,得到图层2。5.单击图层1,新建一个图层,得到图层3,填充白色。放在图层1和2中间。 公章大概轮廓抠取出来了,还需要进一步处理颜色和修补公章右下方的圆形。6.现在PS抠出来的公章,很淡,因此使用一个小技巧,单击图层2,反复按下CTRL+J,复制图层2,得到N个图层。最后将这些图层合并,使用让公章轮廓更加清晰。前后对比如下: 7.新建色相饱和度调整图层,选择红色,进行如下图调整。此时,公章的色彩得到了校正。 8.最后的细节,将一些杂色或者公章缺少细节的地方,使用仿制图章或者修补类工具进行修补。ps抠公章步骤到此就结束了。如果觉得此文对自己有所启发,可以收藏或者分享。附图片版:如何用ps做公章的方法和步骤截图
5 0 2664天前
快速发帖 高级模式
桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 18.119.142.210 , 2024-11-23 20:00:28 , Processed in 2.15379 second(s).
Powered by HadSky 8.4.9
知道创宇云安全