線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2606
推到 Plurk!
推到 Facebook!

請問有關 Windows 的最後開機或關機時間問題

答題得分者是:carstyc
ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-09-01 02:21:31 IP:210.66.xxx.xxx 訂閱
1. 軟體目的/ 需求
管理 user 在限定時間內,必須做某些軟體的動作.

電腦開機後,要人工啟動/執行 AA.EXE 的 win32 軟體
此軟體不是每天都運作,偶而才發佈給 user .

但希望 user 只能在 2011.09.01 至 2011.09.02 這二天內使用,
在此時間區間以外,執行此軟體,不做任何事,程式自動離開/並警告逾期.

2. 軟體寫作者限制
僅用很簡單的日期判斷就好,不想花太多的技巧在此需求上

3. user 的小聰明
假設今天是 2011.09.05 ,已過 AA.EXE 的使用時間, 但 USER 將電腦日期
調整為 2011.09.01 ,再去 執行 AA.EXE 這不是軟體的目的.

問題:
A. Windows 開機或關機時,會記錄當時的 PC 時間嗎 ??
想抓取此記錄比對 USER 的現在日期是否合理.

例 : 電腦記錄的時間,已是 2011.09.03,就算逾期.



B. 若 USER 的電腦開機後,就不再關機,以上 A. 的記錄還會有嗎 ?

例 : USER 2011.08.31 就開機, 電腦就不再開關機,今天是 2011.09.03
電腦記錄的時間,會是什麼 ?

不知有何方式可以完成以上需求,還是有更好的做法,

謝謝您


------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
編輯記錄
ANDY8C 重新編輯於 2011-08-31 12:25:59, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-09-01 12:04:53 IP:118.169.xxx.xxx 未訂閱
不知道ANDY兄要這支的目的, 看起來很神秘, 好像要鎖定某些程式使用權

===================引 用 ANDY8C 文 章===================
1. 軟體目的/ 需求
管理 user 在限定時間內,必須做某些軟體的動作.



電腦開機後,要人工啟動/執行 AA.EXE 的 win32 軟體
此軟體不是每天都運作,偶而才發佈給 user .

但希望 user 只能在 2011.09.01 至 2011.09.02 這二天內使用,
在此時間區間以外,執行此軟體,不做任何事,程式自動離開/並警告逾期.
還是用INI來儲存每次啟動的日期及時間, 如果擔心被改, 可以使用
加密字串功能來保護


3. user 的小聰明
假設今天是 2011.09.05 ,已過 AA.EXE 的使用時間, 但 USER 將電腦日期
調整為 2011.09.01 ,再去 執行 AA.EXE 這不是軟體的目的.
這就必須靠AA.EXE 的TIMER來計算時間, 如果考慮TIMER的執行序佔用資源, 可以
不要設定1秒, 拉到1個小時或半小時做一次就可以, 根本無須考量客戶是否關機的事件
上圖就是我寫的自動備份系統, 是一個定時操作的範例


不知有何方式可以完成以上需求,還是有更好的做法,

謝謝您


ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-09-02 00:36:50 IP:210.66.xxx.xxx 訂閱
 P.D. 兄

這題目與 上一題 是相關的
http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=103109


當客戶於指定的時間安裝時,會有 "私秘" 的註冊資料產生,超過此時間點,視為不合法的安裝
軟體也無法啟用( 可以裝 , 不能用 )

if not (time = '2011.09.01' or time='2011.09.02' ) then
application.terminal
else
begin
create.. timestamp and write to register or INI files;
end;

所以我才要知道客戶的 pc 時間是自然的還是人工調整的.



謝謝您





------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
編輯記錄
ANDY8C 重新編輯於 2011-09-01 10:38:11, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-09-02 22:59:37 IP:118.169.xxx.xxx 未訂閱
其實保護的歷史由久以來, 大家想盡辦法無不希望自己的程式可以不被別人盜用, 或者可以限制, 
但太多可以解開的方法, 所謂道高一尺, 魔高一丈, 就好像DVD怕人複製, 但酒精一上就破功一樣,
所以我後來放棄了軟鎖的各種可能性, 改用KEYPRO的硬鎖, 或者就像你說的,
自我感覺良好, 一再被客戶唬嚨, 我也被搞了不少, 都是那句話,
算我便宜一點, 我用的好後面還有很多我的客戶可以介紹
但大家心知肚明, 那還有下一次, 可是為了生活, 還是要接下來,
因為一個很簡單的道理, 接還有錢入袋, 不接一毛都沒有, 那你要選那一個?
所以我最後只好做君子, 程式不要寫的那麼好, 留一些BUG(故意或非故意)
如果像你說的, 客戶用的那麼好, 我就不相信電腦不會壞, 不會換, 客戶會自己處理
終就還是要找到原來的設計人處理, 到時再"敲"一筆補回來
那只要基本的保護做一下就好了!
===================引 用 ANDY8C 文 章===================
P.D. 兄

這題目與 上一題 是相關的
http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=103109


當客戶於指定的時間安裝時,會有 "私秘" 的註冊資料產生,超過此時間點,視為不合法的安裝
軟體也無法啟用( 可以裝 , 不能用 )

if not (time = '2011.09.01' or time='2011.09.02' ) then
application.terminal
else
begin
create.. timestamp and write to register or INI files;
end;

所以我才要知道客戶的 pc 時間是自然的還是人工調整的.



謝謝您





ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-09-02 23:40:01 IP:115.30.xxx.xxx 訂閱
沒錯 !  用軟體 BUG 整整客戶就好,別把客戶嚇跑才是上策.
軟體再偉大,沒收入也是不行的.

所以.....讓客戶在非法複製過程中,吃一些苦頭.時間的參數,就是一道可以運用的關卡
才想說能不能多多利用它; KEYPRO 也買了一盒(20顆) 不過我就是不習慣用 KEYPRO
,感覺多了一事,.


謝謝您
------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-09-06 10:48:25 IP:203.73.xxx.xxx 訂閱
豬寶寶只能單純的就開關機時間來回答
在WINDOWS 2000後..都會有事件檢視器
那個會有記錄開關機時間
像這樣

carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2011-09-08 00:07:15 IP:219.84.xxx.xxx 訂閱
好複雜啊......什麼開關機的時間......我不知道

但你的問題,我之前的一個作品碰到過.....

我辛辛苦苦的寫了一堆日期保護......

沒想到剛交給客戶....馬上就被破解了...而且客戶還是個非常不懂電腦的user .....

千算萬算就是沒料到他會去更改系統時間........

所以我下一個版本就會線上去抓某個網頁的時間......比如雅虎的首頁....裡面都會有日期的資訊當然....

如果怕雅虎突然掛點....程式跑不起來怎麼辦....

嘿嘿....那就多撈幾個 氣象局.....環保局.....中華電信.....反正很多地方的網頁都會有日期資訊....

當然....這些都是笨的解法.....王道就是程式執行後....去跟某個 Time Server做sync....

KTOP 上面應該能找到一些作法......

祝好運....





===================引 用 ANDY8C 文 章===================
1. 軟體目的/ 需求
管理 user 在限定時間內,必須做某些軟體的動作.

電腦開機後,要人工啟動/執行 AA.EXE 的 win32 軟體
此軟體不是每天都運作,偶而才發佈給 user .

但希望 user 只能在 2011.09.01 至 2011.09.02 這二天內使用,
在此時間區間以外,執行此軟體,不做任何事,程式自動離開/並警告逾期.

2. 軟體寫作者限制
僅用很簡單的日期判斷就好,不想花太多的技巧在此需求上

3. user 的小聰明
假設今天是 2011.09.05 ,已過 AA.EXE 的使用時間, 但 USER 將電腦日期
調整為 2011.09.01 ,再去 執行 AA.EXE 這不是軟體的目的.

問題:
A. Windows 開機或關機時,會記錄當時的 PC 時間嗎 ??
想抓取此記錄比對 USER 的現在日期是否合理.

例 : 電腦記錄的時間,已是 2011.09.03,就算逾期.



B. 若 USER 的電腦開機後,就不再關機,以上 A. 的記錄還會有嗎 ?

例 : USER 2011.08.31 就開機, 電腦就不再開關機,今天是 2011.09.03
電腦記錄的時間,會是什麼 ?

不知有何方式可以完成以上需求,還是有更好的做法,

謝謝您


ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2011-09-08 01:02:54 IP:210.66.xxx.xxx 訂閱

沒錯......就是更改系統時間,一切都破功了......
已發佈的程式,不可能收回來,所以早期的客戶,都用 "萬年版"....哭

===================引 用 carstyc 文 章===================

千算萬算就是沒料到他會去更改系統時間........


------
---------------------------------------
偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩.
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#9 引用回覆 回覆 發表時間:2011-09-08 08:47:37 IP:60.244.xxx.xxx 訂閱
耶..問個很呆的問題
如果那台PC沒上網怎麼辦@@?
===================引 用 carstyc 文 章===================
千算萬算就是沒料到他會去更改系統時間........

所以我下一個版本就會線上去抓某個網頁的時間......比如雅虎的首頁....裡面都會有日期的資訊當然....
當然....這些都是笨的解法.....王道就是程式執行後....去跟某個 Time Server做sync....


carstyc
資深會員


發表:16
回覆:254
積分:329
註冊:2003-07-18

發送簡訊給我
#10 引用回覆 回覆 發表時間:2011-09-08 09:59:58 IP:203.79.xxx.xxx 訂閱
也許是我網路中毒太深了.....

現在不能上網的電腦.....開機後.....能幹什麼?.....

但話說回來....如果是單機的電腦....基本上它就是與世隔絕....所以他的系統時間就絕對是正確時間 ....想怎麼改就怎麼改......

所以別浪費時間跟他耗了.....程式就送他了......

連上網都沒有的用戶....你還忍心收他錢嗎....]

開玩笑的啦.....但就時間的保護來看.....沒網路就一定沒辦法知道現在正確的時間.....此題應該無解.....

但也許可以用偷吃步的方式來片面破解 ....

比如執行後...記錄當天的日期....且再執行時....當天的日期不能比曾經執行過的日期早.....且一天僅能執行固定次數...當天執行超過次數就不能再執行....

而第一次執行的日期.....最後一次執行的日期....間距不能超過 365天....如此不管他日期怎麼改....都只能維持一年的有效使用期限.....

要不要搞得這麼複雜.....就看程式作品....值不值得這樣做了.......






===================引 用 mypigbaby 文 章===================
耶..問個很呆的問題
如果那台PC沒上網怎麼辦@@?
===================引 用 carstyc 文 章===================
千算萬算就是沒料到他會去更改系統時間........

所以我下一個版本就會線上去抓某個網頁的時間......比如雅虎的首頁....裡面都會有日期的資訊當然....
當然....這些都是笨的解法.....王道就是程式執行後....去跟某個 Time Server做sync....


jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#11 引用回覆 回覆 發表時間:2011-09-15 11:50:53 IP:211.23.xxx.xxx 訂閱
給個方法:
1.準備好一個Server當驗證伺服器
2.client連線Server取得Expire countdown(可以絕對時間為值,但一般以相對時間比較好)
3.client countdown 不以系統時間為依據
4.每次紀錄寫入都記載寫入時間,每次寫入時順便檢查上次寫入時間,如發現時間倒退了.............
5.程式開啟時先讀取紀錄並比對目前系統時間.......合法的話繼續,此時Expire countdown須減掉程式未執行的空檔時間


以上是簡易版的作法,至於豪華版............自由發揮
至於驗證伺服器...........反正就是一個憑證發送器而已,不過能有那是最好的


===================引 用 ANDY8C 文 章===================
1. 軟體目的/ 需求
管理 user 在限定時間內,必須做某些軟體的動作.

電腦開機後,要人工啟動/執行 AA.EXE 的 win32 軟體
此軟體不是每天都運作,偶而才發佈給 user .

但希望 user 只能在 2011.09.01 至 2011.09.02 這二天內使用,
在此時間區間以外,執行此軟體,不做任何事,程式自動離開/並警告逾期.

2. 軟體寫作者限制
僅用很簡單的日期判斷就好,不想花太多的技巧在此需求上

3. user 的小聰明
假設今天是 2011.09.05 ,已過 AA.EXE 的使用時間, 但 USER 將電腦日期
調整為 2011.09.01 ,再去 執行 AA.EXE 這不是軟體的目的.

問題:
A. Windows 開機或關機時,會記錄當時的 PC 時間嗎 ??
想抓取此記錄比對 USER 的現在日期是否合理.

例 : 電腦記錄的時間,已是 2011.09.03,就算逾期.



B. 若 USER 的電腦開機後,就不再關機,以上 A. 的記錄還會有嗎 ?

例 : USER 2011.08.31 就開機, 電腦就不再開關機,今天是 2011.09.03
電腦記錄的時間,會是什麼 ?

不知有何方式可以完成以上需求,還是有更好的做法,

謝謝您


系統時間:2024-04-27 11:47:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!