Jump to content
f a

Cadangan: Buat Software Putera Sendirik

Recommended Posts

Assalamualaikum warahmatullah dan Selamat sejahtera...

  1. intro

    Hi. Seperti tajuk post ini, aku nak meminta pendapat korang berkenaan dengan cadangan aku untuk membuat software Putera sendiri untuk membantu pengguna pengguna putera 'membaiki' pc mereka sendiri. Cadangan aku maybe agak ketinggalan (mungkin ade orang da post topik yang sama sebelum ini). Tapi aku rase disebabkan ramai ahli ahli putera ni ramai yang berbakat besar dalam programming, apa kata meluangkan masa sedikit (atau sebanyak) untuk membuat software tersebut. Aku yakin kalo projek ni menjadi akan dapat memberi pelbagai faedah kepada pelbagai lapesan penggunanya.

  2. cadangan

    Dan pengisian terhadap software tersebut aku rase best kalo dapat 'adopt' sikit dari beberapa contoh software ni:

    • hijackthis - biasa digunakan oleh users windows untuk buat 'log' sistem
    • cpu-z - untuk mendapatkan maklumat mikro-p bagi tujuan overclock
    • pc wizard - mendapatkan maklumat asas bagi sistem yang digunakan. e.g temperature cpu, dll
    tapi sebagai penambahan daripada software software kat atas tu:
    • hijackthis tak buat log untuk file file penting seperti Autoexec.bat, Config.sys, Config.Nt. Autoexec.Nt, Win.INI, System.ini kerana maseh ada lagi users yang menggunakan non NT based Window$.
    • pc wizard boleh tunjuk file file macam tersebut, tapi tak boleh nak edit.
    • boleh buat copy dari clipboard yang berRTF formatted kepada tag forum yang berkaitan (aku tak tau lagi nak wat coding ni macam mane.. ala macam syntax highlighting tu) - memudahkan nak copy source code ke forum. tak la boring kalo orang post dalam tag [ code ] yang takde kaler.
    • boleh buat report dalam bentuk colorful (contoh macam log Hijackthis yang telah dikalerkan mengikut format tag forum). sebab obviusly kalo orang buat log tu, diorang akan tampal jugak ke dalam forum)
    • mungkin boleh tambah tweak win sikit..
    • ade 2 bahasa: Bahasa Malaysia/Bahasa Inggeris
    • dan mungkin kalo korang ade idea lain lain yang lagi best, dipersilakan..
  3. creative and critical thinking

    dan macam biasa la. kalo aku buat cadangan/purposal mesti la kene buat PMI (plus minus interesting) dan CAF (Consider All Factors) sekali..

    plus

    • memudahkan orang nak post masalah diorang ke sini atau mana mana forum
    • sangat berguna dan memudahkan kerja menyelenggara pc
    • menjimatkan masa pengguna (mungkin kita jugak yang bakal menjadi pengguna tersebut)
    • disamping tu, dapat gak a memperkenalkan putera.com kepada dunia (or at least Malaysia)
    minus
    • disebabkan banyak programming language, mungkin menjadi masalah dalam menentukan language ape yang sesuai.
    • biasa la, dalam forum nanti mesti banyak orang mengarut ngarut
    • boleh menimbulkan pergaduhan kalo tak terkawal
    • agak susah nak mantain (nak tentukan siapa yang nak buat library itu dan ini, nak buat documentation lagi). al maklum la, kite buat dalam situasi maya
    • tak beberapa nampak lagi objektif la untuk linux user (sori)
    interesting
    • boleh digunakan bukan sahaja untuk forum putera.com, tapi forum lain jugak
    • mampu mewujudkan sebarang hubungan dengan forum lain
    • mampu mewujudkan jugak sebarang hubungan dengan ahli ahli putera
    • kalo boleh, nak gabungkan macam macam programming language (cross-language)
    consider all factors
    • programming language - aku mencadangkan supaya dibuat dalam C#/VB.NET.. sebab pakai .NET ni boleh guna library yang dibuat menggunakan VB6 dan ASM (C atau C++ aku tak pasti boleh atau tak). mungkin kalo nak menentukan proc jenis ape, memerlukan OpC0de (sori kalo aku salah). atau jika ada kutukan, dipersilakan..
    • pemantauan - mintak tolong jasa baik para mod (terutama mod programming ni - puteranetwork:) menjaga kesucian thread pasal software ni. kalo ade yang tak kena, padam je post tu (tak kesah la dari sape pon). tapi jangan pulak padam terus satu thread tu. jangan kerana nila setitik rosak sebelanga.
    • to do list - ni penting untuk menetapkan objektif bagi setiap 'section'
    • idea - mungkin ada sesetengah idea bercanggah dengan orang lain. ni boleh menimbulkan pergaduhan. jangan disimpan sifat bertolak ansur tu.
    • compiling - sape yang ade compiler boleh la compile. tapi at least make sure sebelum distribute, tak de mane mane virus yang melekat/terselit sekali. hehe
  4. outro

    sori la kalo idea aku nie kasar atau melampau sangat. sori jugak kalo kene bace panjang panjang... and lastly, sebarang kritikan, curse, hate or what-so-ever, disilakan.. aku menerima dengan hati yang terbuke..sekian, mekaseh..

Edited by F A

Share this post


Link to post
Share on other sites

Tahniah dan aku sokong 100% dalam usaha ko F A!

Minta maaf kerana tidak dapat banyak membantu, kerana aku tak mahir dalam buat application. Cuma aku ada satu cadangan tambahan:

- mungkin kalau letak sekali arkib cara-cara membaiki pc yang boleh didapati di putera.com ni, tulis semula dalam bahasa melayu dan inggeris, kemudian masukkan sekali dalam software tu, mungkin menarik smile.gif

Anyway, tahniah atas usaha ini. Sedihnya aku tak tau apa yang aku boleh bantu... Good Luck! smile.gif

Share this post


Link to post
Share on other sites

Ni artificial intelligent (AI) nie. Maksud kau software tu boleh jelaskan macam mana nak baiki pc? macam tu program nie memang (AI). So aku cadangkan program nie guna NEURAL NETWORKS.

Share this post


Link to post
Share on other sites

Setelah meneliti ayat FA dengan betul... aku mula sedar yang FA bukan nak buat Artificial Intelligent..... Dia cuma nak buat "TOOL".

Ayat nie buat aku konpius, sebab aku pikir bukan semua pengguna terror. So aku ingat AI

"membantu pengguna pengguna putera 'membaiki' pc mereka sendiri"

Apa kata ubah kepada

"Tool untuk membantu penguna baiki komputer"

Aku betul berharap buat AI tadi rupanya bukan, sedih siot... ingat nak join tadi.

Share this post


Link to post
Share on other sites

thanx electroboy.

Aku betul berharap buat AI tadi rupanya bukan, sedih siot... ingat nak join tadi.

kenape tak bleh lak. idea ko tu da best. mai join je..nak pakai ANN, Genetic algo dan ape ape lagi yang best. tak mustahil...

aku la ni tengah wat dll untuk registry editing. pakai C# la tapi. nanti aku pos kat sini smile.gif

Share this post


Link to post
Share on other sites

erm... aku sokong sesangat.Lih aku belajo sesikit ngan lebih mendalam c# neh.Anyway.. ramai ker involve dalam projek neh? aku tgh wat psm.. ader maser aku datang bagi sokongan sesikit. wink.gif

Share this post


Link to post
Share on other sites

Aku akan sokong semua cadangan yg ko kemukakan dalam ni. Cuma aku nak tanya software-software yang nak dibangunkan ni untuk dikomersilkan ke? atau nak buat percuma? Memandangkan putera.com sendiri adalah bukan berasaskan keuntungan jadi aku rasa kalau kita buat satu projek open source pun bagus jugak. Ini cuma cadangan!

Aku memang dah lama pikirkan benda-benda macam ni, cuma itu la, susah nak dapatkan komitmen semua orang lebih-lebih lagi kalau benda tu percuma.

Aku bercadang kita buat software yang boleh kita jual. Software yg ada nilai komersil. Kemudian kita taruk kat tempat-tempat yang ada macam Download.com dan sebagainya.

Share this post


Link to post
Share on other sites

asalnya cume nak luaskan pengetahuan macam mana nak godek² OS utk warga putera. tapi buat la ruang untuk donate. sukati la mcm mane pon. aku ok je laugh.gif

ps: hdd aku rosak. projek yang aku dah buat untuk ni (siap dengan tutorial skali) hancur dimakan bad sector. so, kene start from ground balik la.. sad.gif

Share this post


Link to post
Share on other sites

di sebabkan registry is the heart of windows, so aku nak letak sikit doc (kurang formal siket) pasal registry. ni baru pengenalan je. pastu masuk programming pasal registry (tengah usahakan:). then baru kite main main dengan removing bho, possible vx and so... i need a CURSE, HATE and so on (about this) to make this life is better :)

ps: rasenye majoriti dah tau kot pasal registry ni. but just in case statement :lol:

Part 1: A Little Introduction on Registry

(for Microsoft Windows 32-bit)

Seksyen 1: Registry

Registry merupakan 'database' untuk menyimpan settings, opsyen, informasi dan sebagainya untuk kegunaan software-software yang 'berlari' di atas platform Microsoft Windows 32-bit. Malah, Windows sendiri menggunakan registry untuk menyimpan konfigurasi-konfigurasi yang penting untuk kegunaan kawalan dan seliaan user, hardware, software dan preference seperti Nama Komputer, Lokasi Program Files, Fail-fail Startup dan Tabiat Desktop (Desktop Behaviour). Apabila terdapat perubahan konfigurasi yang dilakukan di dalam Control Panel, atau apabila menginstall dan mengubah sesuatu applikasi, tindakan tersebut akan terus dilakukan di dalam registry.

Fail-fail yang menyimpan kandungan registry adalah berbeza-beza mengikut jenis Windows yang digunakan. Fail-fail tersebut adalah seperti berikut (berdasarkan kepada Windows):

1. Windows 95 dan Windows 98: USER.DAT dan SYSTEM.DAT di dalam folder windows (sebagai fail tersembunyi).

2. Windows ME: USER.DAT, SYSTEM.DAT dan CLASSES.DAT (sebagai fail tersembunyi).

3. Windows NT, Windows 2000 dan Windows XP: didalam folder %SystemRoot%\System32\Config (dimana %SystemRoot% merupakan pemboleh ubah untuk folder sistem - untuk Windows NT dan 2000, BIASANYA %SystemRoot% adalah C:\Winnt manakala untuk Windows XP pula adalah C:\Windows)

Fail-fail tersebut tidak sepatutnya diubah secara langsung. Para user dan developer memerlukan tools untuk mengubah nilai-nilai yang terdapat didalam registry tersebut. Contoh tools yang dibekalkan adalah Regedit.exe dan Regedt32.exe.. Selepas ini, kita akan menggunakan kedua-dua tools tersebut untuk memahami dengan lebih lanjut mengenai registry.

Seksyen 2: Struktur Registry

Langkah paling mudah untuk melihat registy adalah dengan menggunakan Regedit.exe. Sekiranya program tersebut dilarikan (run:), kita akan dipaparkan database Windows (yang digelar registry:). Sebagai contoh, di dalam komputer aku akan dipaparkan gambarajah seperti berikut (apa yang anda lihat mungkin berbeza):

IPB Image

Rajah 2.1: Antaramuka Registry Editor (Regedit.exe)

Nod-nod dibawah tree "My Computer" digelar sebagai "Key". Secara umumnya, segala ‘top level nodes’ digelar sebagai ‘Registry Hive’ dan setiap satunya mempunyai fungsi-fungsi yang khusus:

  • HKEY_CLASSES_ROOT (HKCR), penetapan kepada pemetaan (mapping) antara applikasi dan jenis-jenis extensi fail (extension file) serta kelas-kelas identifiers (classes identifiers), menyimpan settings mengenai kelas dan extensi fail seperti ikon untuk dipaparkan di dalam Windows Explorer dan Asiosi fail (file association), dan informasi mengenai DDE dan OLE. Di dalam Windows NT, 95, 98 dan ME, key ini merupakan alias kepada key HKEY_LOCAL_MACHINE\Software\Classes.

  • HKEY_CURRENT_USER (HKCU) menyimpan konfigurasi untuk current user. Key ini dipetakan kepada HKEY_USERS untuk memudahkan pembina aplikasi menyimpan aturan serta konfigurasi aplikasi itu sendiri terhadap user yang berlainan. Antara contoh konfigurasi lain yang disimpan didalam key ini adalah penetapan enviroment variables, network preferences dan fail-fail startup untuk Windows.

  • HKEY_LOCAL_MACHINE (HKLM) pula berbeza dengan HKCU dari segi keglobalan, dimana HKLM menyimpan konfigurasi yang sama untuk setiap user. Kelebihan disebabkan oleh keglobalan ini adalah dari segi penyimpanan data yang sama untuk setiap user seperti informasi Plug and Play (PnP), informasi sistem, preferences untuk network logon dan sebagainya.

  • HKEY_USERS (HKU) menyimpan data mengenai setiap user, dimana setiap user diwakili oleh SID (Security identifier) untuk digunakan pada setiap user, user baru dan data kepada current user.

  • HKEY_CURRENT_CONFIG (HKCC) menyimpan konfigurasi hardware untuk current user - iaitu konfigurasi semasa yang berbeza dengan konfigurasi standard.

  • HKEY_DYN_DATA (HKDD) menyimpan informasi dan konfiguras Plug and Play dimana subkey-subkeynya akan berubah sekiranya terdapat penambahan atau pembuangan komponen-komponen hardware untuk digunakan di HKLM. Key ini hanya wujud untuk Microsoft Windows 95, 98 dan ME.

  • HKEY_PERFORMANCE_DATA (HKPD) digunakan untuk mengakses performance data. Data ini sebenarnya tidak disimpan di dalam registry, tetapi fungsi registry akan menyebabkan sistem mengumpul data dari puncanya. Key ini tidak wujud untuk Microsoft Windows 95, 98 dan ME.

  • HKEY_PERFORMANCE_NLSTEXT (HKPN) menggunakan (string) text yang menerangkan pengiraan di dalam bahasa semasa dimana komputer dan sistem yang sedang dijalankan. Key ini tidak wujud untuk Microsoft Windows 95, 98, ME, NT dan 2000 dan tidak boleh diakses (secara manual) dengan menggunakan Regedit.exe dan Regedt32.exe.

  • HKEY_PERFORMANCE_TEXT (HKPT) adalah seperti HKPN, tetapi text disimpan dengan menggunakan US English. Key ini juga tidak wujud untuk Microsoft Windows 95, 98, ME, NT dan 2000 dan tidak boleh diakses (secara manual) dengan menggunakan Regedit.exe dan Regedt32.exe.

Setiap key dan subkey, boleh menggunakan sebarang perkataan (sama ada yang boleh dicetak atau tidak - printable or not) kecuali huruf ‘\’ (backslash) kerana backslash digunakan untuk menuruni Key. Sebagai contoh, HKEY_LOCAL_MACHINE\SOFTWARE\Putera.com\Fafa menerangkan Subkey Fafa yang terletak di bawah SOFTWARE di dalam HKLM. Key untuk setiap top-level nodes dan nodes-nodes dibawahnya, diletakkan disebelah kiri (lihat Rajah 2.1) manakala Value Name dan Data diletakkan disebelah kanan. Sebagai contoh (menggunakan rajah yang sama), antara value name yang ada adalah "TestSZ" (kolum 1) yang menyimpan data "©fa" (kolum 3) dengan jenis nilai REG_SZ (kolum 2). REG_SZ merupakan jenis nilai yang mengumpukkan jenis nilai yang sepatutnya diterangkan ("©fa") kepada value name tersebut. Penerangan lebih lanjut mengenai jenis data akan diterangkan pada Seksyen barikut.

Seksyen 3: Jenis Nilai

Terdapat pelbagai jenis nilai yang boleh digunakan di dalam registry, tetapi ada diantaranya tidak dapat digunakan secara terus dengan menggunakan tools yang dibekalkan bersama Windows itu sendiri. Antara jenis-jenis nilai yang wujud adalah seperti berikut.

  • REG_NONE: Tiada jenis yang ditetapkan.

  • REG_BINARY: Nombor penduaan didalam pelbagai bentuk. Nilai yang sah adalah kombinasi antara 0 dan 1. Didalam Regedit.exe, ianya ditunjukkan dalam hexadecimal.

  • REG_DWORD: Nombor 32-bit (double word). Ditunjukkan dalam bentuk hexadecimal (format 0x???????? - dimana ? adalah no perenambelasan) dan integer 32-bit (didalam kurungan sebagai nombor persepulihan) di dalam Regedit.Exe.

  • REG_DWORD_LITTLE_ENDIAN. 32-bit di dalam Little-Endian format. Boleh menyimpan dengan kapasiti yang sama seperti REG_DWORD, tetapi didalam bentuk Little-Endian (nilai multibyte akan disimpan dari byte yang terendah - the little end). Sebagai contoh, data 0x01234567 akan disimpan sebagai 0x67 0x45 0x23 0x01 - iaitu format little endian. Didalam registry, ianya akan ditreat sebagai REG_DWORD disebabkan REG_DWORD juga menyimpan dari byte yang terendah.

  • REG_DWORD_BIG_ENDIAN: 32-bit di dalam format Big-Endian. Boleh menyimpan dengan kapasiti yang sama seperti REG_DWORD tetapi dengan format "Big-End" (nilai multibyte akan disimpan dari bit tertinggi). Sebagai contoh, data 0x01234567 akan disimpan sebagai 0x01 0x23 0x45 0x67 - iaitu format big endian.

  • REG_QWORD: Nombor 64-bit (quad word). Tidak boleh dicipta secara terus tetapi boleh mengubah datanya (menggunakan hexadecimal value) melalui Regedit.Exe.

  • REG_QWORD_LITTLE_ENDIAN: Juga nombor 64-bit (quad word). Juga tidak boleh dicipta secara terus tetapi boleh mengubah datanya (menggunakan hexadecimal value) melalui Regedit.Exe.

  • REG_SZ: String (ANSI atau UNICODE) yang diakhiri dengan null character (\0). Biasanya digunakan untuk menyimpan human-readable-text.

  • REG_EXPAND_SZ: Sama seperti REG_SZ, tetapi akan meng"expand" sebarang Environment Variables (diakses dengan prefik % dan suffix %). Sebagai contoh di dalam Rajah 2.1, TestESZ akan dibaca dengan mengembangkan environment variables "windir" dan diappendkan dengan nilai "\Notepad.exe" supaya menjadi "F:\WINDOWS\Notepad.exe", dengan assumption %windir% = F:\WINDOWS

  • REG_MULTI_SZ: Array kepada REG_SZ. Setiap item akan dimatikan dengan single null character dan array tersebut akan dimatikan dengan dua null character. Sekiranya ia diedit dari Regedit.exe, setiap array akan diterminatekan dengan newline character (yang kemudiannya akan diubah oleh Regedit.exe kepada null character)

IPB Image

Rajah 3.1: Mengedit data jenis REG_MULTI_SZ.

  • REG_LINK: Unicode symbolic link. Aplikasi (pada ring-3 level) biasanya tidak menggunakan akses ini. (Rujuk Microsoft-DDK)

  • REG_RESOURCE_LIST: Senarai device driver. Biasanya diakses dengan ring-0 level . (Rujuk Microsoft-DDK)
Seksyen 4: Had Saiz Element

Untuk setiap nama subkey, maksimum bilangan huruf yang dibenarkan adalah 255 sahaja. Untuk setiap value name pula dikelaskan mengikut jenis OS yang berbeza:

• Windows XP dan Windows 2003 Server: 16383 bilangan huruf

• Windows 2000: ANSI - 260 huruf atau Unicode - 16383 huruf.

• Windows 95/98/ME - 255 huruf

Reference:

[Regards, fa]

*edited: typ0

Edited by F A

Share this post


Link to post
Share on other sites

bagus2. penerangan yg lengkap.

Share this post


Link to post
Share on other sites

Assalammualaikum.. saya cadangkan buat dalam C / C++

dan kalau boleh takmau le melibatkan .net nye gelombang. Guna c biasa je. pasal kalau nak transfer ke platform lain nanti banyak masalah.

Lagi saya cadangkan kita kita pecah-pecahkan dan buat dalam bentuk modul. so bila nk buat patching pun senang. cth:

satu core engine - untuk interprate problem description

Modul a - master dalam repair registry.

Module b - master dalam disk operational

module c - master dalam troubleshoot application (ms office, excel, lotus 123)

module d - translate defination

module e - ..... bla bla

then kita kea ada central untuk letakan problem defination. Macam knowladge base tapi cuma program kita yang faham. Pastu bila timbul masalah pc, pengguna cuma perlu download latest defination dan kesan masalah melalui event log, atau something semiliar.

Pasal reporting, maybe kita boleh mintak tolong pakar javascript + html untuk involve.

ni cuma pandangan saya. banyak saya lihat program yang berunsurkan module mampu bertahan lama dan boleh pergi jauh. dan ada yang dah terlalu advance dah tapi masih open source & free.

salam dari saya..

Edited by Ichiro78

Share this post


Link to post
Share on other sites

tq all

sebelum letak kat wikiputera, rasanya baik letak kat sini dulu. at least apa yang aku paham, tapi sebenarnya salah, sama sama kita saling ingat mengingatkan (please flame me). like a FAQ. and sapa yang tak paham, boleh tanya straight kat sini. kalo rasanya dah stabil (tak de edit mengedit lagi), baru letak kat wikiputera :)

kalo nak ikutkan language ape yang sesuai, kene tengok gak kat mana yang seswai. contoh macam aku dah cakap dulu, kalo nak retrieve cpu, system boleh guna .NET for its compibility (kat linux, boleh guna mono je using the same executable file). tapi kalo nak wat spesifik untuk sesuatu OS (contohnya Registry untuk Windows - yang terang terang invoke dari advapi32.dll atau microsoft.win32 namespace), pakai C++ or VB dah sufficent (pakai WSH sahaja sebenarnye pon boleh). but the main point is kita sama sama belajar (aku pon kadang kadang sux in acl, dacl and so..) and kalo aku rajin, aku letak sekali .NET punye..

pasal pecah pecahkan kepada sub modul tu memang bagus. nak update software, maybe just need to replace some libraries instead of the whole. cuma sekarang ni kita baru nak mula. agak sukar nak cari sapa yang nak buat a, b, c atau kombinasi antaranya. tapi tak pe la kalo tak cukup tangan, kite buat je dulu apa yang kita leh buat :)

event log tu memang ada dalam perancangan. but if kalo nak wat spec untuk digunakan untuk dipost kat sini (or maybe other forum), so aku rasa better buat dalam forum tag. and leh gak 'export to html' untuk senang dibaca (maybe orang akan gunakan email sending to their friends)..

and for www.codedb.org, insya-Allah, aku akan letak dalam masa terdekat :)

-------

apa apa hal pon, ni part 3 (part 2 memang takde sebab kurang berkaitan sikit).

yang part 3 ni banyak pasal penerangan function je. sape yang ada msdn collection, platform sdk, internet connection or memang dah hafal, rasanya tak perlu kot. so, aku letak link je la ek.

http://www.geocities.com/salahasohan/part3.pdf

pasni part 4 pulak akan terangkan pasal tempat yang selalu jadi tempat serangan virus, spyware, trojan and their famili.

IPB Image

Edited by F A

Share this post


Link to post
Share on other sites

intresting. cdangan yang bagus.. hehe kalau aku ada maklumat mentah atau yang best2 nanti aku akan post kan kat topik nie setakat nak share dan bantu sikit2 hehe..

tapi aku still wat software dalam VB,dalam C & C++ kantoi hehe :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...