當前位置:首頁 » 操作系統 » 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造型軟體。

熱點內容
sql轉換成數據類型int時失敗 發布:2024-05-05 06:29:21 瀏覽:826
蘋果手機視頻怎麼加密 發布:2024-05-05 06:22:08 瀏覽:918
java反編譯工具使用方法 發布:2024-05-05 06:00:38 瀏覽:217
戀人源碼 發布:2024-05-05 05:53:33 瀏覽:166
安卓平板用什麼助手好 發布:2024-05-05 05:51:09 瀏覽:775
java語義分析 發布:2024-05-05 05:32:39 瀏覽:754
我的世界伺服器房型 發布:2024-05-05 05:31:16 瀏覽:702
pythonwhere 發布:2024-05-05 05:30:22 瀏覽:441
免費加密隱身俠 發布:2024-05-05 05:07:54 瀏覽:613
我的世界模組伺服器推薦手機版 發布:2024-05-05 05:02:49 瀏覽:818