当前位置:首页 » 操作系统 » ilo源码

ilo源码

发布时间: 2024-04-10 13:06:30

linux无法引导

安装时很顺利,但安装完重启后
提示硬盘启动失败,我安装的 是redhat9 安装时采用的自动分区
硬盘40g并口
问题补充:没进grub
出错信息是 disk boot failure insert system disk and press enter

lzz2002kclt:

很高兴可以认识你,我也是一个linux爱好都,我用的是fedora core 3 ,这个问题我也遇到过。
现在我们来试着解决这个问题。从出错信息提示来看,你的系统硬盘引导出错,没有发现系统。
这个原因存在的问题可能有:
1。也就是硬件问题,这个不用说了,应该不会。
2。安装系统出错。
现在我们来说下第二种情况,这个也是你可能存在的情况。
我们在安装linux系统的时候,有时会分出一个/boot的分区,这个分区一般为100M,用来存放引导文件。在你安装linux 的时候,有一个步骤会让你选择把引导放在那个分区,如果你选择了在/boot所在的区,那么你就有可能出现你现在存在的问题。这是因为linux在安装结束的时候,并没有把引导程序放到/mbr里,而是放到了/boot里面。而系统启动的时候,会检查/mbr,而不是/boot 所以,这时就会认为你的系统并没有安装操作系统。
那为什么会在/boot里安装引导程序,而没有办法启动。这个是因为linux 为了防止在写入引导时将别的操作系统的引导覆盖,也是为了在以后对分区有更加灵活的操作的一个办法。(比如你如果安装了linux,再安装windows时,你就会发现,你的linux无法进入,就是这个原因)。
我们把问题说到这,也有解决的办法了。重新安装 grub.用系统盘进入rescue模式
启动grub命令
root(hdx,Y)
setup(hdx)
x是你的linux在第几个硬盘 大多数为0
y是你的linux在硬盘的第几个分区

如果不懂,自己找找grub的相关资料吧。最好的老师是google.
(这个全是自己写的,有不对的地放,指出)
goodluck

㈡ 如何linux内核报告问题

Linux Kernel BUG:soft lockup CPU#1 stuck分析
1.线上内核bug日志
kernel: Deltaway too big! 18428729675200069867 ts=18446743954022816244 write stamp =18014278822746377
kernel:------------[ cut here ]------------
kernel:WARNING: at kernel/trace/ring_buffer.c:1988 rb_reserve_next_event+0x2ce/0x370()(Not tainted)
kernel:Hardware name: ProLiant DL360 G7
kernel:Moles linked in: fuse ipv6 power_meter bnx2 sg microcode serio_raw iTCO_wdtiTCO_vendor_support hpilo hpwdt i7core_edac edac_core shpchp ext4 mbcache jbd2sd_mod crc_t10dif hpsa radeon ttm drm_kms_helper drm i2c_algo_bit i2c_coredm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
kernel: Pid:5483, comm: master Not tainted 2.6.32-220.el6.x86_64 #1
kernel: CallTrace:
kernel:[<ffffffff81069b77>] ? warn_slowpath_common+0x87/0xc0
kernel:[<ffffffff81069bca>] ? warn_slowpath_null+0x1a/0x20
kernel:[<ffffffff810ea8ae>] ? rb_reserve_next_event+0x2ce/0x370
kernel:[<ffffffff810eab02>] ? ring_buffer_lock_reserve+0xa2/0x160
kernel:[<ffffffff810ec97c>] ? trace_buffer_lock_reserve+0x2c/0x70
kernel:[<ffffffff810ecb16>] ? trace_current_buffer_lock_reserve+0x16/0x20
kernel:[<ffffffff8107ae1e>] ? ftrace_raw_event_hrtimer_cancel+0x4e/0xb0
kernel:[<ffffffff81095e7a>] ? hrtimer_try_to_cancel+0xba/0xd0
kernel:[<ffffffff8106f634>] ? do_setitimer+0xd4/0x220
kernel:[<ffffffff8106f88a>] ? alarm_setitimer+0x3a/0x60
kernel:[<ffffffff8107c27e>] ? sys_alarm+0xe/0x20
kernel:[<ffffffff8100b308>] ? tracesys+0xd9/0xde
kernel: ---[end trace 4d0a1ef2e62cb1a2 ]---
abrt-mp-oops: Reported 1 kernel oopses to Abrt
kernel: BUG: softlockup - CPU#11 stuck for 4278190091s! [qmgr:5492]
kernel:Moles linked in: fuse ipv6 power_meter bnx2 sg microcode serio_raw iTCO_wdtiTCO_vendor_support hpilo hpwdt i7core_edac edac_core shpchp ext4 mbcache jbd2sd_mod crc_t10dif hpsa radeon ttm drm_kms_helper drm i2c_algo_bit i2c_coredm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
kernel: CPU 11
kernel:Moles linked in: fuse ipv6 power_meter bnx2 sg microcode serio_raw iTCO_wdtiTCO_vendor_support hpilo hpwdt i7core_edac edac_core shpchp ext4 mbcache jbd2sd_mod crc_t10dif hpsa radeon ttm drm_kms_helper drm i2c_algo_bit i2c_coredm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
kernel:
kernel: Pid:5492, comm: qmgr Tainted: G W ---------------- 2.6.32-220.el6.x86_64 #1 HPProLiant DL360 G7
kernel: RIP:0010:[<ffffffff8106f730>] [<ffffffff8106f730>]do_setitimer+0x1d0/0x220
kernel: RSP:0018:ffff88080a661ef8 EFLAGS: 00000286
kernel: RAX:ffff88080b175a08 RBX: ffff88080a661f18 RCX: 0000000000000000
kernel: RDX:0000000000000000 RSI: 0000000000000082 RDI: ffff88080c8c4c40
kernel: RBP:ffffffff8100bc0e R08: 0000000000000000 R09: 0099d7270e01c3f1
kernel: R10:0000000000000000 R11: 0000000000000246 R12: ffffffff810ef9a3
kernel: R13:ffff88080a661e88 R14: 0000000000000000 R15: ffff88080a65a544
kernel: FS:00007f10b245f7c0(0000) GS:ffff88083c4a0000(0000) knlGS:0000000000000000
kernel: CS:0010 DS: 0000 ES: 0000 CR0: 000000008005003b
kernel: CR2:00007ff955977380 CR3: 000000100a80b000 CR4: 00000000000006e0
kernel: DR0:0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
kernel: DR3:0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
kernel:Process qmgr (pid: 5492, threadinfo ffff88080a660000, task ffff880809577500)
kernel: Stack:
kernel:00007f10b323def0 00007f10b248ead0 00007f10b26d0f78 00007f10b248ede0
kernel:<0> ffff88080a661f68 ffffffff8106f88a 0000000000000000 0000000000000000
kernel:<0> 000000000000014c 00000000000f423d 0000000000000000 0000000000000000
kernel: CallTrace:
kernel:[<ffffffff8106f88a>] ? alarm_setitimer+0x3a/0x60
kernel:[<ffffffff8107c27e>] ? sys_alarm+0xe/0x20
kernel:[<ffffffff8100b308>] ? tracesys+0xd9/0xde
kernel: Code:89 ef e8 74 66 02 00 83 3d 15 69 b5 00 00 75 37 49 8b 84 24 70 07 00 00 48 0508 08 00 00 66 ff 00 66 66 90 fb 66 0f 1f 44 00 00 <31> c0 e9 64 fe ff ff49 8b 84 24 68 07 00 00 48 c7 80 d0 00 00
kernel: CallTrace:
kernel:[<ffffffff8106f769>] ? do_setitimer+0x209/0x220
kernel:[<ffffffff8106f88a>] ? alarm_setitimer+0x3a/0x60
kernel:[<ffffffff8107c27e>] ? sys_alarm+0xe/0x20
kernel:[<ffffffff8100b308>] ? tracesys+0xd9/0xde
abrt-mp-oops: Reported 1 kernel oopses to Abrt

2.内核软死锁(soft lockup)bug原因分析
Soft lockup名称解释:所谓,soft lockup就是说,这个bug没有让系统彻底死机,但是若干个进程(或者kernel thread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题。
Linux内核对于每一个cpu都有一个监控进程,在技术界这个叫做watchdog(看门狗)。通过ps –ef | grep watchdog能够看见,进程名称大概是watchdog/X(数字:cpu逻辑编号1/2/3/4之类的)。这个进程或者线程每一秒钟运行一次,否则会睡眠和待机。这个进程运行会收集每一个cpu运行时使用数据的时间并且存放到属于每个cpu自己的内核数据结构。在内核中有很多特定的中断函数。这些中断函数会调用soft lockup计数,他会使用当前的时间戳与特定(对应的)cpu的内核数据结构中保存的时间对比,如果发现当前的时间戳比对应cpu保存的时间大于设定的阀值,他就假设监测进程或看门狗线程在一个相当可观的时间还没有执。Cpu软锁为什么会产生,是怎么产生的?如果linux内核是经过精心设计安排的CPU调度访问,那么怎么会产生cpu软死锁?那么只能说由于用户开发的或者第三方软件引入,看我们服务器内核panic的原因就是qmgr进程引起。因为每一个无限的循环都会一直有一个cpu的执行流程(qmgr进程示一个后台邮件的消息队列服务进程),并且拥有一定的优先级。Cpu调度器调度一个驱动程序来运行,如果这个驱动程序有问题并且没有被检测到,那么这个驱动程序将会暂用cpu的很长时间。根据前面的描述,看门狗进程会抓住(catch)这一点并且抛出一个软死锁(soft lockup)错误。软死锁会挂起cpu使你的系统不可用。
如果是用户空间的进程或线程引起的问题backtrace是不会有内容的,如果内核线程那么在soft lockup消息中会显示出backtrace信息。
3.根据linux内核源码分析错误
根据我们第一部分内核抛出的错误信息和call trace(linux内核的跟踪子系统)来分析产生的具体原因。
首先根据我们的centos版本安装相应的linux内核源码,具体步骤如下:
(1)下载源码的rpm包kernel-2.6.32-220.17.1.el6.src.rpm
(2)安装相应的依赖库,命令:yuminstall rpm-build redhat-rpm-config asciidoc newt-devel
(3)安装源码包:rpm -ikernel-2.6.32-220.17.1.el6.src.rpm
(4)进入建立源码的目录:cd~/rpmbuild/SPECS
(5)建立生成源码目录:rpmbuild-bp --target=`uname -m` kernel.spec

下面开始真正的根据内核bug日志分析源码:
(1)第一阶段内核错误日志分析(时间在Dec 4 14:03:34这个阶段的日志输出代码分析,其实这部分代码不会导致cpu软死锁,主要是第二阶段错误日志显示导致cpu软死锁)
我们首先通过日志定位到相关源代码:看下面日志:Dec 4 14:03:34 BP-YZH-1-xxxx kernel: WARNING: atkernel/trace/ring_buffer.c:1988 rb_reserve_next_event+0x2ce/0x370() (Not tainted)
根据日志内容我们可以很容易的定位到kernel/trace/ring_buffer.c这个文件的1988行代码如下:WARN_ON(1)。
先简单解释一下WARN_ON的作用:WARN_ON只是打印出当前栈信息,不会panic。所以会看到后面有一大堆的栈信息。这个宏定义如下:
#ifndef WARN_ON
#defineWARN_ON(condition) ({ \
int __ret_warn_on = !!(condition); \
if (unlikely(__ret_warn_on)) \
__WARN(); \
unlikely(__ret_warn_on); \
})
#endif
这个宏很简单保证传递进来的条件值为0或者1(两次逻辑非操作的结果),然后使用分支预测技术(保证执行概率大的分支紧邻上面的指令)判断是否需要调用__WARN()宏定义。如果满足条件执行了__WARN()宏定义也接着执行一条空指令;。上面调用WARN_ON宏是传递的1,所以会执行__WARN()。下面继续看一下__WARN()宏定义如下:
#define __WARN() warn_slowpath_null(__FILE__,__LINE__)
从接下来的call trace信息中我们也确实发现调用了warn_slowpath_null这个函数。通过在linux内核源代码中搜索这个函数的实现,发现在panic.c(内核恐慌时的相关功能实现)中实现如下:
voidwarn_slowpath_null(const char *file, int line)
{
warn_slowpath_common(file, line,__builtin_return_address(0),
TAINT_WARN, NULL);
}
EXPORT_SYMBOL(warn_slowpath_null);//都出这个符号,让其他模块可以使用这个函数
同样的我们看到了warn_slowpath_common这个函数,而在call trace当中这个函数在warn_slowpath_null函数之前打印出来,再次印证了这个流程是正确的。同样在panic.c这个文件中我发现了warn_slowpath_common这个函数的实现如下:
static voidwarn_slowpath_common(const char *file, int line, void *caller,
unsigned taint, struct slowpath_args *args)
{
const char *board;

printk(KERN_WARNING "------------[ cut here]------------\n");
printk(KERN_WARNING "WARNING: at %s:%d %pS()(%s)\n",
file, line, caller, print_tainted());
board = dmi_get_system_info(DMI_PRODUCT_NAME);//得到dmi系统信息
if (board)
printk(KERN_WARNING "Hardware name:%s\n", board);//通过我们的日志信息可以发现我们硬件名称是ProLiant DL360 G7

if (args)
vprintk(args->fmt, args->args);

print_moles();//打印系统模块信息
mp_stack();//mp信息输出(call trace开始)
print_oops_end_marker();//打印oops结束
add_taint(taint);
}
分析这个函数的实现不难发现我们的很多日志信息从这里开始输出,包括打印一些系统信息,就不继续深入分析了(请看代码注释,里面调用相关函数打印对应信息,通过我分析这些函数的实现和我们的日志信息完全能够对应,其中mp_stack是与cpu体系结构相关的,我们的服务器应该是属于x86体系)。这里在继续分析一下mp_stack函数的实现,因为这个是与cpu体系结构相关的,而且这个函数直接反应出导致内核panic的相关进程。这个函数实现如下:
/*
* The architecture-independent mp_stackgenerator
*/
void mp_stack(void)
{
unsigned long stack;

printk("Pid: %d, comm: %.20s %s %s %.*s\n",
current->pid, current->comm,print_tainted(),
init_utsname()->release,
(int

㈢ 惠普服务器如何为用户提供数据保护

传统的备份方法通常需要用更多的时间(备份窗口)和管理操作(人员)来处理提高的容量。让我们来了解一下惠普服务器如何为用户提供数据保护!

惠普的数据保护解决方案允许客户在不改变人员数量的情况下将容量提高10倍,采用的方法包括:

1、通过零停机时间和零影响备份消除备份窗口.
2、通过即时恢复功能消除了恢复窗口
3、通过直接备份解决方案实现了更加有效的备份。

集中备份
1、SAN中的备份
2、高可用性备份
3、零停机时间备份

专门的备份方法
1、远程备份
2、灾难容许备份
3、即时恢复
4、快速恢复
5、无服务器备份
6、开放系统到大型机
7、业务连续性解决方案

㈣ 请问什么样的服务器适合中小企业ERP应用

ERP系统由于涉及到供应链管理,访问ERP系统的用户会比较多,在一个大型的ERP系统中,同一时间访问ERP系统核心数据库的用户可能达到几百上千个,而中小企业一般只有几个到几十个。在ERP系统操作中,一般每个操作所耗资源量不大,主要为一些结构性数据的查询和分析。为此我们在本ERP系统中需要一个支持大并发,小数据流的高性能数据库服务器平台来承载ERP系统的应用。
在服务器硬件方面,由于并发访问ERP系统的用户数较多,要求系统带宽不能成为整个应用的瓶颈,还要求系统具有极强的处理能力,及很高的并发性。在数据存储方面要求有巨大的磁盘空间和巨大的扩展性以及高速的数据传输标准以满足数据库的需求。
因为ERP承载了整个企业的关键性任务,所以选择一个优秀的硬件是非常重要事情。为了选择符合应用的硬件平台,我们详细研究了多个ERP系统的运行特点,并从以下几方面来衡量其整体性能,然后依据以下分析选择相应的最佳方案:
(1)企业级计算性能
企业ERP信息系统的工作内容大多是数据密集型操作,数据来源相当广泛,种类繁多,数据库和各类应用都面临着数据采集、数据集中、数据查询等数据密集型操作,同时还面临着OLAP(联机分析处理)和建立决策支持数据仓库的需要,因此,服务器系统强劲的CPU数据处理能力和扩展能力就十分重要。在中小企业应用中,一般选择2路或者双核处理器的服务器,配备2GB大内存,就可以满足需要,如果是规模更大的应用,则建议配置4路处理器或者以上性能的高性能服务器了。
(2)高度的可靠性和可用性
数据库和各类应用每天都面临着大量数据的收集和处理,服务器系统的冗余容错能力提供了高可靠性和可用性,再辅之高可用性方案设计,才可充分保证企业ERP信息系统工作的不间断进行。像服务器的冗余电源、内存镜像等设计都可以考虑。
(3)极佳的稳定性
作为企业ERP信息系统的支撑平台,需要保证服务器系统能持续、高效、稳定的运行,以减少对服务器系统的管理和维护的时间和工作量,以及计划外停机时间。稳定性依赖于软硬件的兼容性和各自的稳定性设计。
(4)对数据的高保护性
不言而喻,对于数据就是生命的企业ERP信息系统来讲,数据在服务器系统中进行计算、存储和网络传输时,其完整性、有效性是必须保证的。对于有机密要求的数据,还要保证数据的机密性。
在ERP与数据库系统同时部署在一台机器上的小型系统可以将数据存储在本机上,如果ERP系统与数据库系统分离,则可在数据库服务器后挂载专用存储设备来存储数据,保证数据的安全。
(5)良好的管理性
在企业ERP信息系统中各种网络设备、计算机设备、安全设备种类繁多,这对整个系统的管理和控制提出了很大挑战。就服务器系统而言,专业服务器系统管理软件对服务器系统的集中和可视化管理,将使网络计算环境管理变得简单易行。

㈤ 如何解密js

当你在浏览网页时,看到一个很漂亮的特效,你查看源代码时看到的是一队乱码,那多扫兴呀!根据本人的研究,总结出了三种解密方法,与大家茄卖分享!!

方法一:

有一种加密的办法是颤盯逗采用javascript的escape()函数,把某些符号、汉字等变成乱码,以达到迷惑人的目的。解密这种代码的办法是采用其反函数加以还原。下面是一个经过加密的例子:

<HTML>
<SCRIPT LANGUAGE="Javascript">
var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"
var NewWords;
NewWords = unescape(Words);
document.write(NewWords)
</SCRIPT>
<BODY>
</BODY>
</HTML>

这种文件最好解密,一看就明白,关键是unescape()函数起了还原源代码的作用。要想看到加密前的代码是什么样子,可以用下面的办法:

<HTML><SCRIPT LANGUAGE="Javascript">
var Words ="%3Chtml%3E%3Cbody%20bgcolor%3D%22red%22%3E%3Cp%3E%u8FD9%u662F%u4F8B%u5B50%uFF01%uFF01%uFF1A%uFF09%3C/p%3E%3C/body%3E%3C/html%3E"
var NewWords;
NewWords = unescape(Words);
NewWords=NewWords.toString();
function password(){
document.pw.txtpw.value=NewWords;
}
</SCRIPT>
<BODY>
<form name=pw>
<input type=button onclick="password()" value="解密">
<br>
<textarea name="txtpw" cols="100" rows="100"></textarea>
</form>
</BODY>
</则唤HTML>

方法二:

有一个软件叫HTMLEncrypt.exe,它就是把源代码进行加密的软件,这个软件的加密的原理是把字符转换。下面的例子是一个分帧的页面:

<html><head><script>
function Carbosoft( s ) { var sRet=""; for(j=0; j< s.length; j++ ){ var n= s.charCodeAt(j); if (n>=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }
var sJsCmds ="" +
"?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo>#fkvhw@lvr0;;8<04%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wjhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%&33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +
"";
var s= Carbosoft( sJsCmds);
document.write (s);
</script>
</head><body></body></html>

从上面可以看出,浏览器解释这写代码前,进行了还原,从而可以得到破解的方法如下:

<script>
function Carbosoft( s ) { var sRet=""; for(j=0; j< s.length; j++ ){ var n= s.charCodeAt(j); if (n>=8364) {n = 128;} sRet += String.fromCharCode( n - 3 ); } return( sRet ); }
var sJsCmds ="" +
"?kwpoA?khdgA?phwd#kwws0htxly@%Frqwhqw0W|sh%#frqwhqw@%wh{w2kwpo>#fkvhw@lvr0;;8<04%A?wlwohAZHOFRPH?2wlwohA?phwd#qdph@%JHQHUDWRU%#frqwhqw@%Plfurvriw#IurqwSdjh#613%A?phwd#qdph@%Plfurvriw#Wkhph%#frqwhqw@%qrqh/#ghidxow%A?phwd#qdph@%Plfurvriw#Erughu%#frqwhqw@%qrqh/#ghidxow%A?2khdgA?iudphvhw#erughu@%3%#iudpherughu@%3%#urzv@%-/93%A##?iudph#qdph@%pdlq%#vuf@%xs1kwp%#vfuroolqj@%dxwr%A##?iudph#qdph@%rqolqh%#vuf@%grzq1kwp%#vfuroolqj@%qr%#qruhvl}h#wjhw@%beodqn%A##?qriudphvA##?erg|A##?sAWklv#sdjh#xvhv#iudphv/#exw#|rxu#eurzvhu#grhvq*w#vxssruw#wkhp1#?2sA##?2erg|A##?2qriudphvA?2iudphvhwA?2kwpoA?irqw#froru@%&33333%A?s#doljq@%fhqwhu%A?vpdooA?irqw#idfh@%Wdkrpd%AWklv#iloh#zdv#hqfu|swhg#xvlqj#dq#xquhjlvwhuhg#yhuvlrq#ri#?d#kuhi@%kwws=22fer{1wkhgqv1qhw2kwpohqfu|sw1kwp%AKWPO#Hqfu|sw#y413?2dA1?2irqwA?2vpdooA?2sA" +
"";
var s= Carbosoft( sJsCmds);
</script>
<form name=qq>
<textarea name=ww cols=100 rows=10></textarea>
<input onclick='ww.value=s' type=button value="解密">
</form>

方法三:

有一种加密方法是每行单独加密,还原起来比较复杂。看一个加密过的原文:

<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function Decode() {
d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function d (enc) {document.write(codeIt(key,enc));}
var key = "!\"\ \|#$%&\'()*+,-.\/:;<=>?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x < eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG > mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
Decode();
</SCRIPT>
</BODY>
</HTML>

还原的时候,也必须每行单独解密,用下面的方法可以看到源代码:

<HTML>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function Decode() {
d("FrfmnD");d("FruyvDFgwhqjfWnyeseysuEXpydy%whqjf~J~XWghwEXfkjJpgXDFIgwhqjfD");d("FmufyWrffjKuieqdEX?klfulfK$}{~}XD");d("FfqfnuDejFIfqfnuD");d("FIruyvD");d("FxkvaD");d("FIxkvaD");d("FIrfmnD");d("W");return 0;}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function d (enc) {alert(codeIt(key,enc));}
var key = "!\"\ \|#$%&\'()*+,-.\/:;<=>?@[\\]^_\t\`{}~\n";function codeIt (mC, eS) {var wTG, mcH = mC.length / 2, nS = "", dv;for (var x = 0; x < eS.length; x++) { wTG = mC.indexOf(eS.charAt(x));if (wTG > mcH) {dv = wTG - mcH; nS = nS + mC.charAt(48 - dv);}else {dv = mcH - wTG;nS = nS + mC.charAt(48 + dv);}}return nS;}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
Decode();
</SCRIPT>
</BODY>
</HTML>

哈哈!!:=)是不是很精彩!!

㈥ 3D建模都用哪些软件


3D建模软件有下列几种:

一、C4D软件



是Siemens PLM Software公司出品的一个产品工程解决方案,它为用户的产品设计及加工过程提供了数字化造型和验证手段。

Unigraphics NX针对用户的虚拟产品设计和工艺设计的需求,提供了经过实践验证的解决方案。

UG同时也是用户指南(user guide)和普遍语法(Universal Grammar)的缩写。

UG里面自带的光线追踪渲染出来的。


五、KeyShot

意为“The Key to Amazing Shots”,是一个互动性的光线追踪与全域光渲染程序,无需复杂的设定即可产生相片般真实的 3D 渲染影像。

专门的渲染软件Keyshot,操作简单功能强大,支持市面上常用的三维模型,导入既可使用。


六、3D One

3D One软件是全国首创的青少年三维创意设计软件,是助力中小学培养创新思维和开展创新教学的重要工具。

3D One已广泛应用于通用技术、信息技术、综合实践等学科领域,与趣味编程、机器人、开源硬件、3D打印机、激光切割机等技术融合协同发展,将创想转化为实物,激发学生自主学习的热情,积极地发挥学生的主观能动性和创造性,推动中小学生从软件应用能力向创新能力素养的转变。


七、sketch up。

SketchUp又名“草图大师”, 是一款可供您用于创建、共享和展示 3D 模型的软件。不同于3dsmax,它是平面建模。通过一个使用简单、内容详尽的颜色、线条和文本提示指导系统,让人们不必键入坐标,就能帮助其跟踪位置和完成相关建模操作。

就像人们在实际生活中使用的工具那样,SketchUp 为数不多的工具中每一样都可做多样工作。


八、SolidWorks。

简称“SW”。

SolidWorks是达索系统(Dassault Systemes )下的子公司,专门负责研发与销售机械设计软件的视窗产品,公司总部位于美国马萨诸塞州。


九、犀牛

Rhino是由美国Robert McNeel公司于1998年推出的一款基于NURBS为主的三维建模软件。

Rhino软件,Rhino英文全名为Rhinoceros,中文称之为犀牛,于1998年8月正式上市,是美国Robert McNeel & Assoc开发的PC上强大的专业3D造型软件。

热点内容
麦芒5脚本 发布:2024-11-27 21:45:33 浏览:848
dnf龙猫脚本 发布:2024-11-27 21:45:15 浏览:959
macoutlook存储位置设置 发布:2024-11-27 21:35:15 浏览:810
多台电脑共用一个多口服务器 发布:2024-11-27 21:27:45 浏览:863
算法设计与分析基础课后答案 发布:2024-11-27 21:21:53 浏览:647
linux修改mysql数据库编码 发布:2024-11-27 21:16:48 浏览:626
android10驱动 发布:2024-11-27 21:11:36 浏览:348
伤感网站源码 发布:2024-11-27 21:11:28 浏览:539
android软键盘挡 发布:2024-11-27 21:09:10 浏览:518
冒险家选哪个配置性价比高 发布:2024-11-27 20:58:36 浏览:877