Thursday, August 27, 2009

නිකං ඉන්න බැරිකමට ලිව්ව එකක්.........

ටික කාලයක් නිහඬව හිටියෙ අළුතින් ලිපියක් ලියන්න තරම් සුදුසුයි කියල හිතෙන මාතෘකාවක් නොලැබුණු නිසා... කවි, නිසදැස් ඕව ලියන්න අදහස් එන්නෑනෙ මට... :( ලිව්වොත් එකත් ඒකත් ගීක් ඇන්ඩ් ග්‍රීක් වෙලා තියෙයි. මගේ කැමරා පෝං එකත් නොතිබුණා නම් නිවාඩු කාලෙ කිසි ආතල් එකක් නැතිව ගෙවිලා යනවා.

ඊයෙ මට පොඩි වැඩක් සෙට් වුණා. මගෙ යාළුවෙකුගෙ මැසිමෙ Windows XP දාලා අළුතෙන්. හැබැයි වින්ඩෝස් ස්ථාපනය කරපු partition එක නිකංම D වෙලා. ඉතිං මෑන්ස්ට මේක සැටිස් මදි. මට කියනවා පුළුවන් නම් partition එකේ තියෙන අකුර වෙනස් කරල දෙන්නලු. ඒක C කරගන්න ඕනලු. හාඩ් ඩිස්ක් එකේ තියෙන චිත්‍රපට සහ ඇනිමේෂන් කන්දරාව නිසා අනිත් partition වල තියෙන ඒවා එහාට මෙහාට කරන්නත් බෑ. ඕක ඔය මොකේ තිබුණාම මොකද වැඩේ කෙරෙනවනං..

බලාගෙන ගියාම පොර පොඩි (ලොකු) හොර වැඩක් කරන්න ගිහිං. එයාගෙ ළඟ තිබිල තියෙනවා WindowsXPGenuine.exe කියල පොඩි patch එකක්. මේ ක්‍රමලේඛය එක එක පාරක් ධාවනය කරලා Patch කළාම වින්ඩෝස් යවත්කල් කරගන්න පුළුවන් කිසි කරදරයක් නැතුව. ඒ කියන්නෙ අර Windows Genuine (Dis)Advantage කියන update එක එන්නෙ නැතිලු. නියම (අ)ව්‍යාජ මයික්‍රොසොෆ්ට් පාරිභෝගිකයෙක් වෙනවලු. ඕක දාන්න ගියාම error එකක් ඇවිත්... C:\WINDOWS\System32\winsysan.vbs කියන file එක හොයාගන්න නැතිලු. මේකෙ C/D මාරු වෙලා තියෙන නිසා මම D එකේ අදාළ තැන බැලුවා... එහෙම ගොනුවක් හොයාගන්න නැහැ.

ඒ කියන්නෙ මේ patch එකෙන් තාවකාලිකව VBScript ගොනුවක් හදාගෙන ඒක ධාවනය කරලා තමයි patch කරන්නෙ. අන්තිමේ ඒ තාවකාලික ගොනුව මකලා දානවා. කොහොමද මේ VBScript එක කොපි කරගන්න තියෙනවනං? මට ආවෙ එහෙම අදත්තාදාන අදහසක්... හොර වැඩ අස්සෙ තවත් හොර වැඩ! :D

මම notepad එකේ මෙන්න මෙහෙම පේළි දෙකක් ලියලා a.bat කියන නමින් save කළා ඔය VBScript එක කොපි වෙන තැනටම:

copy winsysan.vbs winsysan.txt
a.bat

සිද්ධ වෙන දේ පැහැදිලියිනේ.... මේක නොනැවතී ධාවනය වෙන පොඩි batch file එකක්. කොයි වෙලාවක හරි winsysan.vbs කියල ගොනුවක් හම්බවුණොත් ඒකෙ පිටපතක් තියාගන්නවා.

ඔහොම අටවලා ආයෙ පාරක් patch කළා. වැඩේ හරි!! :) winsysan.vbs එකේ පිටපතක් ලැබුණා. හැබැයි ඕන කරන දේ ඒක ඇතුළෙ තිබුණෙ නෑ. :( ඒක Windows XP වල product key එක වෙනස් කරන්න ලියපු පොඩි script එකක්. හැබැයි script එක ඇතුළෙ product key එකක් නෑ. ඒ කියන්නෙ key එක වෙනම ලබා දෙන්න ඕනා. පේළි 20ක් විතර තිබුණු ඒ කේතය කියවද්දි, සිද්ධ වෙන දේ මට හරියටම පැහැදිළි වුණා.

මේ patch එකෙන් ඇත්තටම සිද්ධ වෙන්නෙ patch කිරීමක් නෙමෙයි. පොඩි VBScript කෑල්ලක් කඩේ යවන එක. කඩේ යවන්නෙ අතට සල්ලිත් දීලා. තේරුණේ නැද්ද? පරිගණක ක්‍රමලේඛණය කරන අයගේ බාසාවෙන් කිව්වොත් VBScript එකක් හදලා product key එක parameter/arguement එකක් විධියට එවනවා script එකට. ඒ කියන්නේ product key එක තියෙන්නේ අර මුලින් කිව්ව WindowsXPGenuine.exe ගොනුව හෙවත් 'patch' එක ඇතුලේ.

දැන් ඉතින් වෙන කුමක් කරන්නද exe එක කියවනු හැර? ඉතිං මට මතක් වුණා පොඩි ආම්පන්නයක්. Huawei E220 අගුළු අරිනකොට පාවිච්චි කළා ඒක. ඒ තමයි XVI32 hex editor එක. ඇත්තටම මම නං hex editor වලින් වැඩිය වැඩ දාන්න දන්නෙ නෑ. ;) හැබැයි මොකක් හරි හොයාගන්න පුළුවන් වෙයි කියල හිතලා exe එක විවෘත කරලා බැලුවා. ග්‍රීක් වගේ... ඉලක්කං ගොඩකුයි ඉංග්‍රීසි අකුරුයි... විකාර වගෙ. ඒ වුණත් ටිකක් එහෙ මෙහෙ විපරං කරලා බලනකොට මෙන්න තියෙනවා ගෙඩි පිටින් කැරට් 0x18 ගෝල්ඩ් කිව්වලු!!! :-O XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

මොකක් හරි මටත් හිතාගන්න බැරි හේතුවක් නිසා මේ key එක blacklist වෙලා නෑ. වින්ඩෝස් යවත්කල් කරන්න පුළුවන් කිසි ගේමක් නැතිව. මම මේ ගැන විස්තර කරලා ලිව්වේ හේතු දෙකක් නිසා. පළවෙනි හේතුව, පරිගණක ක්‍රමලේඛණයෙදි සිද්ධ වෙන වැරදි නිසා ඒවයෙ තියෙන වැදගත් තොරතුරු වෙනත් අය අතට පත් වෙන්නෙ කොහොමද කියල පෙන්නන්න. මේ පොඩි ක්‍රමලේඛය ලිව්ව කෙනා කෙළින්ම වින්ඩෝස් registry එකේ අදාළ වෙනස්කම් සිද්ධ වෙන විධියට ක්‍රමලේඛය සකස් නොකර VBScript එකක් කඩේ යැව්වෙ සමහරවිට අදාළ කේත තමන් විසින්ම ලියන්න තියෙන කම්මැලිකමට වෙන්න පුළුවන්. Windows API එකෙන් %WINDOWS%\System32 කියන එක නොගෙන ලියන්නන් වාලේ C:\WINDOWS\System32 කියලා path එක දීලා තියෙන විධියෙන්ම පේනවා කම්මැලිකම බව. ;)

අනෙක් හේතුව තමයි අමුතු ගැජට් කෑලි දැක්කාම ඒ ගැන ටිකක් විපරම් කරලා වැඩ දාලා බලන්න ඕන (හැබැයි කූඤ්ඤෙ ගලවපු වඳුරා වගේ නොවී - ක්‍රමානුකූලව :D ).... ඒකෙ තියෙන ආතල් එක ගන්න ඕන කියන දේ පෙන්නන්න. ඒ වගේම ක්‍රමානුකූලව මේ වගේ දෙයක් කරන්නෙ කොහොමද කියල පෙන්නන්න. නිකම් පොඩි tool එකක් ධාවනය කරලා ක්ලික් දෙකතුනක් දීලා වැඩ කරගන්නව වගේද code එක්කත් යංතං හරි ඔට්ටු වුණාම තියෙන ආතල් එක? ;)

මේ 'patch' එක හැදුවෙ කවුද (ලංකාවෙ කෙනෙක්), කුමන හේතුවක් නිසා ද කියලා මම දන්නවා.... (හේතුවක් නැත්තං මෙහෙම වට වන්දනාවෙ යන්නෙ නැතුව Windows CD එකේ හොර කොපිත් එක්ක බෙදාහරින්න තිබුණනෙ) ඒත්... ඒ ගැන මම කියන්නෙ නෑ.... key එකත් අහන්න එපා මොකක්ද කියලා.... :D (key එකෙන් මම වැඩක් නොගන්න එක වෙනම කතාවක් :D )

කියන්න අතමක වුණා.... මගේ යාළුවා ඇනිමේෂන් බුවෙක් නිසා මම ගහපු උබුන්ටු තෙල වැඩ කළේ නෑ :( ඒ නිසා තාමත් හොරට M$ පාවිච්චි කරනවා.
එහෙනං.... Ciao!

෴සමීර ශාකුන්තල | Sameera Shaakunthala෴

19 comments:

  1. මරු මරු
    ෂර්ලොක් හෝම්ස් හොරෙක් පස්සෙ එළවනවා වගේනෙ වැඩේ

    "නිකම් පොඩි tool එකක් ධාවනය කරලා ක්ලික් දෙකතුනක් දීලා වැඩ කරගන්නව වගේද code එක්කත් යංතං හරි ඔට්ටු වුණාම තියෙන ආතල් එක?"
    ඔන්න දැන් අපේ ජනේල රසිකයො ටික මැරෙන්න හදාවි. FOSS geeks ලට නේද කියල.

    ReplyDelete
  2. මරු. (මරේ මරු). ;)

    windows උඬ ඉදගෙනම system partition වෙනස් කරන්න බෑ නේද?

    "Windows API එකෙන්....." මොනවද ඔට්ටු? ඕක ලියපු බුවා programming පටන් අරන් තියෙන්නෙ VB වලින්.

    පුලුවන් නම් patch එකේ copy එකක් දෙන්නකො.

    ReplyDelete
  3. @සුසිත,
    තැංකූ වේවා මලේ... මම කියවපු පරණ පොතක (AT & XT යුගයේ පොතක්) තිබුණා පරිගණක ඉගෙනීමේදී ෂ්ර්ලොක් හෝම්ස් වගේ හිතන්න පුරුදු වෙන්න කියලා... ඒ පොතට තමයි මම දැන් ලැප්ටොප් ලිඩ් එක හේත්තු කරල තියෙන්නෙ. :D

    @änthräX,
    Windows වල ඉඳගෙනම system partition වල වෙනස්කම් යම තාක් දුරකට කරන්න පුළුවන් PowerQuest Partition Magic මෘදුකාංගයෙන්. එතකොට වෙන්නෙ පරිගණකය restart කරල chkdsk ධාවනය වෙන text interface එක වගේ ලා නිල් පාට interface එකක අදාළ කාරිය ධාවනය වෙන එකයි. හැබැයි හැම වෙලාවෙම සාර්ථක ප්‍රතිපල ලැබෙයිද කියන එක නම් සහතික කරන්න බැහැ. Partition Magic වලිනුත් වැඩේ පටන් ගන්නෙ backup media ලෑස්ති කරගන්න warning එක දීල තමයි.

    Windows API වලින්.... ඔය මගේ වචනනේ... මම මුලින්ම පටන් ගත්තෙ fx-5200p එකක BASIC වලින්... ඩෙස්ක්ටොප් මැසිම ගත්තට පස්සෙ මුළින්ම කොළේ VB තමා. :D (http://blog.shaakunthala.com/2008/12/fedora.html)

    'patch' එක එව්වෝ...

    ReplyDelete
  4. මට ඔය මුකුත් එපා....අර exe file අරින්න පුළුවන් මොකකින්ද කියන්නකො.

    ReplyDelete
  5. ෂහ්, අර බැච් ෆයිල් එකෙන් කොපියක් ගන්න වැඩෙත් මරු අදහස.
    ඔය Hex editor වලින් වගේ අර resource hacker එකෙන් වැඩ දාන්න බෑ නේද?

    ReplyDelete
  6. @සසික,
    exe ෆයිල් වලට නියම වැඩ දාන්න පුළුවන් එකක නමක් ඔය තමීර කියල තියෙන්නේ... නොමිලේ දෙන යෙට් එනදර් එළ භාණ්ඩයක්.

    @තමීර,
    Hex Editor වලින් වැඩ දන්න මිනිස්සුන්ට වැඩ දාන්න පුළුවන් මම හිතන්නෙ. Crackers Toolkit කියල මෘදුකාංග කට්ටලයක්ම බෑව මතකයි මම එකසැරයක්. වැඩ දන්නවනම් ඒවයින් නියම වැඩ දාන්න පුළුවන්. Resource Hacker එක හොඳයි පොඩි පොඩි සෙල්ලං ටිකක් කරල බලන්න. හැබැයි මට නං ටික දවසක් යද්දි ඒකෙ ආතල් එකක් නැතුව ගියා.

    @All,
    මේ දැන් ලැබුණු ප්‍රවෘත්තියක්...
    මමත් පොඩි වටවන්දනා පාරක් එහෙම ගිහින් තියෙනව කියල දැනගත්තෙ පහු වෙලා.. ඕක අල්ලගන්න hex editor ඕන නෑ. නිකම් notepad එකෙන් open කළාම ඇති කියල මේ දැන් දැනගත්තේ. :D

    ReplyDelete
  7. It is possible to rename drive letters without rearranging partitions

    Right click on My Computer --> Go to Hard Disk Manager
    --> Right click on required partition --> Change Drive Letter option

    ReplyDelete
  8. Chanaka කියන විදිහට boot partition එකේ drive letter එක වෙනස් කරොත් එක්කො කරන්න දෙන්නෙ නැති වෙයි, නැත්තම් ඊලග පාර ඔන් වෙනකොට ටොපිය හම්බෙයි මගෙ හිතේ :D

    ReplyDelete
  9. @Chanaka Aruna Munasinghe,
    Yes it's possible with both Partition Magic and Windows Disk Manager. But when it comes to system partitions, task becomes impossible with Windows Disk Manager. It's like trying to format %HOMEDRIVE% while you are running Windows. The best tool I've seen is PowerQuest Partition Magic.

    ReplyDelete
  10. Yes, It is not allow for changing drive letter of boot partition by default . How ever there are tricks to safely change boot partitions drive letter while running windows.

    I used to keep my boot partition as X: ;-)

    ReplyDelete
  11. මාත් ගොඩක් දවසකින් මේ පැත්තෙ ආවෙ. දැන් බ්ලොග් එක ගොඩක් වෙනස් වෙලානෙ

    ReplyDelete
  12. @සුදු මහත්තයා,
    තැංකූ වේවා මේ පැත්තෙ ආවට... :) මමත් ගොඩක් කාලෙකට පස්සෙ තමයි ලිව්වේ...

    ReplyDelete
  13. මචෝ මට හම්බුනා මෙහෙම ‍Genuine කිරිල්ලක්

    ------------------------------------------
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
    NT\CurrentVersion\WPAEvents]
    "OOBETimer"=
    "LastWPAEventLogged"=

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
    "CurrentBuild"="1.511.1 () (Obsolete data - do not use)"
    "InstallDate"=dword:
    "ProductId"=""
    "DigitalProductId"=
    "LicenseInfo"=
    ---------------------------------------------

    ඔය ටික Registry එකට දාන්න තමයි තියෙන්නේ. එක පාරක් කරල අප්ඩේට් කරා මතකයි ඉස්සර. පොඩ්ඩක් බලල ‍registry merge එකක් හදාගත්ත නම් ගොඩ. ඔය ක්‍රමේ කලිං දැකල ඇති කියල හිතනවා.

    ‍හොරකං කරන්න උදව් කරන්න බෑනේ ඩේටා ටික මකල තමයි පෝස්ට් කරන්නේ. මගේ බ්ලොග් එක මාසෙකින් ලියන්නත් බැරි උනා මේ වැඩ නිසා. ඔන්න මේකෙ තමයි කාලෙකින් කමෙන්ට් ‍කරේ

    ReplyDelete
  14. @ගයාන් තාරක,
    මම කිව්ව VBScript එකත් ඔය තියරියටම තමා වැඩ කරන්නේ. ;)

    ReplyDelete
  15. @ ගයාන් තාරක. ඔය ක්‍රමේ දැන් හරි යන්නෙ නෑ නේද ? blacklist වෙනවා නේද ? මමනම් ට්‍රයි කරන බැලුවෙ නෑ. යාලුවෙක් කිව්ව හරිගියේ නෑ කියල. මට කොහොමත් ඔය ලොකු ලොකු සයිට් වලට යන්න බෑනෙ.

    ReplyDelete
  16. @සුදු මහත්තයා,
    ඔව්. පොතේ හැටියට නං බ්‍ලැක්ලිස්ට් වෙන්න ඕනේ. ඒත් මට තැයෙන ගැටළුව මට ලැබුණු key එක බ්ලැක්ලිස්ට් නොවුණෙ කොහොමද කියන එක.

    ReplyDelete
  17. Why didn't you get a stack overflow type of error, by executing this infinite loop.

    -Amila

    ReplyDelete
  18. @Anonymous Amila,
    This is not a loop. This is recursive execution of another program, by a script. In each iteration, the script goes on the following sequence.
    * Start
    * Execute the copy command
    * Start another instance of itself
    * Exit (it doesn't wait till the new instance is finished)

    Since the script has an exit after each iteration, the amount of memory used for each iteration is released after execution. So a stack overflow may never happen.

    ReplyDelete
  19. එල ශාකුනතල අය්යෙ

    ReplyDelete

Facebook ප්‍රතිචාර