(۲۰-بهمن-۱۳۸۸, ۰۳:۰۶:۰۹)1120 نوشته است: نقل قول: مگه از اين تکنيک استفاده نکرده؟
نه مجتبی جان
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
نقل قول: سلام
خوب هستيد
كار اين اقاي برديا چقدر به كار من نزديك بوده !!!!
http://forum.persiantools.com/showpost.p...stcount=48
و
http://forum.persiantools.com/t20871.html
دقيقا يك كاره بد نيست دوستان برنامه نويس كد رو كه بر ميدارن سورسشم بگن از كجا بر داشتن
به اميد ديدار
سلام سعید عزیز .
با تمام احترامی که برای شما قائلم ، اما بهتر نیست اول کمی در مورد کسی که ادعا می کنی سورس شما رو دزدیده و منبع رو نگفته تحقیق کنی ؟؟؟
سعید جان Strong Bytes ( بردیا ) از بهترین کرکر های ایران هستن و برنامه نویس دلفی هستن نه ویبی 6 !
اگه برای ادعات مدرکی داری بسم الله ، بزار همه ببینیم ...
سلام
خوب هستيد
من نگفتم كركرم و نه گفتم برنامه نويس هيچي بلد نيستم مثل همه
من انگلیسی ضعیفی دارم و بخاطر همین معمولا پیغام های مسیج رو بصورت خلاصه توی کد مینویسم .توی تاپیکی که دادم برید پیغام های مسیج باکس ها رو با کدی که لینک دادن مقایسه کنید . اسم متغیر ها رو هم بررسی کنید
خوب يك نگاه كن
اين قسمت ماژول سورسي كه توي اين
تاپيك هست و به نام روش اقاي برديا نام برده شده:
کد:
Option Explicit
Dim lngProcess As Long
Dim lngThread As Long
Dim lngProcessID As Long
Dim lngThreadID As Long
Dim lngReply As Long
Public Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Byte
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type
Public Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess _
As Long, ByVal uExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As _
Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function CreateProcess Lib "kernel32" Alias _
"CreateProcessA" (ByVal lpApplicationName As String, ByVal _
lpCommandLine As String, lpProcessAttributes As Any, _
lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal _
dwCreationFlags As Any, lpEnvironment As Any, ByVal _
lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As Long
Public Declare Function GetWindowThreadProcessId& Lib "user32" _
(ByVal hwnd As Long, lpdwProcessID As Long)
Public Declare Function ResumeThread Lib "kernel32" _
(ByVal hThread As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" _
(ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, _
ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Const GW_HWNDNEXT = 2
Public Const WM_QUIT = &H12
Public Const WM_CLOSE = &H10
Public Const SYNCHRONIZE = &H100000
Public Const NORMAL_PRIORITY_CLASS = &H20&
Public Const CREATE_SUSPENDED = &H4&
Public pInfo As PROCESS_INFORMATION
Public sInfo As STARTUPINFO
Public sNull As String
Public Sub Main()
Dim txtStart As String, pHandle As Long, BufferTXT As String
txtStart = "[color=#FF0000]lock.dat[/color]"
If Dir(txtStart) = "" Then
MsgBox "[color]Failed to Start[/color] "
End
End If
sInfo.cb = Len(sInfo)
lngReply = CreateProcess(sNull, txtStart, ByVal 0&, ByVal 0&, 1&, _
CREATE_SUSPENDED, ByVal 0&, sNull, sInfo, pInfo)
If lngReply = 0 Then
MsgBox "[color]Unable to start[/color] "
End
End If
lngProcessID = pInfo.dwProcessId
lngThreadID = pInfo.dwThreadId
lngProcess = pInfo.hProcess
lngThread = pInfo.hThread
BufferTXT = Chr(&H55) & Chr(&H8B) & Chr(&HEC) & Chr(&H6A)
lngReply = WriteProcessMemory(lngProcess, &H4112DA, BufferTXT, Len(BufferTXT), 0&)
If lngReply = 0 Then
MsgBox "[color]Failed to change[/color]. "
GoTo End_Process
End If
lngReply = ResumeThread(lngThread)
If lngReply = 0 Then
MsgBox "Failed to Resume "
GoTo End_Process
End If
lngReply = CloseHandle(lngThread)
lngReply = CloseHandle(lngProcess)
End
End_Process:
lngReply = TerminateProcess(lngProcess, 0&)
lngReply = CloseHandle(lngThread)
lngReply = CloseHandle(lngProcess)
End
End Sub
حالا از لينكي كه بالا هم اشاره شد يعني اين
لينك پست پنجم
کد:
Option Explicit
Dim lngProcess As Long
Dim lngThread As Long
Dim lngProcessID As Long
Dim lngThreadID As Long
Dim lngReply As Long
Public Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Byte
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type
Public Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess _
As Long, ByVal uExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As _
Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function CreateProcess Lib "kernel32" Alias _
"CreateProcessA" (ByVal lpApplicationName As String, ByVal _
lpCommandLine As String, lpProcessAttributes As Any, _
lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal _
dwCreationFlags As Any, lpEnvironment As Any, ByVal _
lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, _
lpProcessInformation As PROCESS_INFORMATION) As Long
Public Declare Function GetWindowThreadProcessId& Lib "user32" _
(ByVal hWnd As Long, lpdwProcessID As Long)
Public Declare Function ResumeThread Lib "kernel32" _
(ByVal hThread As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" _
(ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, _
ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Const GW_HWNDNEXT = 2
Public Const WM_QUIT = &H12
Public Const WM_CLOSE = &H10
Public Const SYNCHRONIZE = &H100000
Public Const NORMAL_PRIORITY_CLASS = &H20&
Public Const CREATE_SUSPENDED = &H4&
Public pInfo As PROCESS_INFORMATION
Public sInfo As STARTUPINFO
Public sNull As String
Public Sub Main()
Dim txtStart As String, pHandle As Long, BufferTXT As String
' اسم برنامه ما كه مي خواييم با تابع زير اون رو اجرا كنيم
txtStart = "[color]test.lck[/color]"
' چك كردن وجود فايل در زير شاخه اجرا برنامه
If Dir(txtStart) = "" Then
MsgBox "[color]Failed to Start [/color]"
End
End If
'مقدار دهي متغييري كه مشخصات برنامه ما رو مثل دستگيره برنامه رو نگه ميداره
sInfo.cb = Len(sInfo)
' اجرا برنامه بوسيله تابع CreateProcess با خاصيت Suspended كه باعث ميشه برنامه بصورت معلق اجرا بشه و هنگامي كه لودر به EP رسيد برنامه
' متوقف بشه و منتظر فرمانResumeThread بشه كه برنامه اجرا بشه در اين صورت ميشه هر موقعه بخواييم برنامه رو متوقف و يا ادامه دهيم
lngReply = CreateProcess(sNull, txtStart, ByVal 0&, ByVal 0&, 1&, _
CREATE_SUSPENDED, ByVal 0&, sNull, sInfo, pInfo)
' چك ميكنه ايا برنامه اجرا شد يا نه ؟
If lngReply = 0 Then
MsgBox "[color]Unable to start [/color]"
End
End If
'ذخيره اطلاعات اوليه برنامه براي استفاده هاي بعدي
lngProcessID = pInfo.dwProcessId
lngThreadID = pInfo.dwThreadId
lngProcess = pInfo.hProcess
lngThread = pInfo.hThread
'6A70 مقدار دهي بافري كه بايد نوشته بشه يعني مقدار
BufferTXT = Chr(&H6A) & Chr(&H70)
' نوشتن در حافظه برنامه ( ِD100739 ) توسط تابع WriteProcessMemory
lngReply = WriteProcessMemory(lngProcess, &H100739D, BufferTXT, Len(BufferTXT), 0&)
' چك كردن اينكه نوشتن با موفقيت انجام شده يا نه و گرنه به تابع اتمام برنامه برو
If lngReply = 0 Then
MsgBox "[color]Failed to change. [/color]"
GoTo End_Process
End If
' ادامه دادن برنامه ( تمامي تغييرات اعمال شده و مثل فايل اوليه شده اما در حافظه )
lngReply = ResumeThread(lngThread)
' چك كردن ادامه برنامه و در صورت عدم ادامه برنامه پرش به قسمت اتمام برنامه
If lngReply = 0 Then
MsgBox "Failed to Resume "
GoTo End_Process
End If
' بستن هندلهاي استفاده شده
lngReply = CloseHandle(lngThread)
lngReply = CloseHandle(lngProcess)
' خروج از برنامه
End
End_Process:
' اتمام برنامه
lngReply = TerminateProcess(lngProcess, 0&)
' بستن هندلهاي استفاده شده
lngReply = CloseHandle(lngThread)
lngReply = CloseHandle(lngProcess)
' خروج از برنامه
End
End Sub
به تاريخ 07-05-2005 نوشته من در سايت پرشين تولز.
مي بني قسمت هاي قرمز رنگ ( كه بايد قزمر مشخص شن اما نميدونم چرا قرمز نشدن و با تگ color معلوم هستند ) يكي هست حتي اسم متغير ها نحوه قرار گرفتن كد و... يكي است فقط يكسري قسمت ها تغيير كرده . توضيحات كم شده. قسمتي كه توي حافظه برنامه پچ ميشه مقدار هاش تغيير كرده چون برنامه مورد نظر براي قفل گذاري تغيير كرده .
شما خودتون قضاوت كنيد
به اميد ديدار
-----------------------
پي نوشت: يك نگاهي اينجا بكنيد 1120
http://barnamenevis.org/forum/showpost.p...stcount=80
در دنياي كه مرگ شكارچي ان است بايد شكارچي بود - تعليمات دون خوان نوشته كارلوس كاستاندار