- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
int main(int argc, char *argv[]) 
{ 
int  i = 0; 
char stuffing[36]; 
for (i = 0; i <= 32; i += 4) 
*(long *) &stuffing = 0x8048374 ;  
puts(stuffing);	
return 0; 
}Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−42
int main(int argc, char *argv[]) 
{ 
int  i = 0; 
char stuffing[36]; 
for (i = 0; i <= 32; i += 4) 
*(long *) &stuffing = 0x8048374 ;  
puts(stuffing);	
return 0; 
}
            Имея какую-либо прогу с принтфами и сканфами. имея уязвимости этих функций, мы с помощью программы, скомпилированной с этим кодом, произведем атаку на адрес 0x8048374. по этому адресу в программе - оппоненте находится точка входа в функцию, где происходит ввод строки(scanf'ом). введя строку, программа-атакер не даст выйти из функции и снова ударит по адресу входа и так далее....зацикливание. 
Это лаба по анализу уязвимостей по. вот не пойму только - 8 раз пройдет цикл, и по идее должен завершиться код, но помню когда делал лабу - сканф вызывался бесконечно при атаке. еще ужасная 7я строка создает жуткое впечатление ничегонепонимания )
        
−47
void init_by_array64(unsigned long long init_key[],
		     unsigned long long key_length)
{
    unsigned long long i, j, k;
    init_genrand64(19650218ULL);
    i=1; j=0;
    k = (NN>key_length ? NN : key_length);
    for (; k; k--) {
        mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 62)) * 3935559000370003845ULL))
          + init_key[j] + j; /* non linear */
        i++; j++;
        if (i>=NN) { mt[0] = mt[NN-1]; i=1; }
        if (j>=key_length) j=0;
    }
    for (k=NN-1; k; k--) {
        mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 62)) * 2862933555777941757ULL))
          - i; /* non linear */
        i++;
        if (i>=NN) { mt[0] = mt[NN-1]; i=1; }
    }
    mt[0] = 1ULL << 63; /* MSB is 1; assuring non-zero initial array */ 
}"Чистый и ясный код" (с)
+137
public class Problem33 {
    public static void main(String arg[]){
        long l1 = Calendar.getInstance().getTimeInMillis();
        int amount = 0;
        for(int a=1; a<=9; a++){
            for(int b=1; b<=9; b++){
                for(int c=1; c<=9; c++){
                    for(int d=1; d<=9; d++){
                        int numerator = a*10+b;
                        int denominator = c*10+d;
                        double fraction = 1.0*numerator/denominator;
                        if(numerator < denominator){
                            if(
                              (a==c && (1.0*b/d == fraction)) ||
                              (a==d && (1.0*b/c == fraction)) ||
                              (b==c && (1.0*a/d == fraction)) ||
                              (b==d && (1.0*a/c == fraction))
                              ){
                                amount++;
                                System.out.println(a + "" +  b + "/" + c + "" + d);
                             }
                        }
                    }
                }
            }
        }
        System.out.println(amount);
        long l2 = Calendar.getInstance().getTimeInMillis();
        System.out.println("Time: " + (l2-l1) + "ms");
    }
}
            http://projecteuler.net/problem=33
http://projecteuler.net/thread=33
        
+57
class GetParameter
	{
		var $dbhost = '';
		var $dbname = '';
		var $dblogin = '';
		var $dbpassword = '';
		var $deepmenu1itemstable = '`deepmenu1items`';
		var $deepmenu2itemstable = '`deepmenu2items`';
		var $topmenu2itemstable = '`topmenu2items`';
		var $topmenu3itemstable = '`topmenu3items`';
		var $topmenu4itemstable = '`topmenu4items`';
		var $news1table = '`news1`';
		var $news2table = '`news2`';
		var $news3table = '`news3`';
		var $news4table = '`news4`';
		var $sites2table = '`sites2`';
		var $chattable = '`chat`';
		var $votestable = '`votes`';
		
		var $varstable = '`vars`';
		var $sitestable = '`sites`';
		var $orderstable = '`orders`';
		var $fotoreporttable = '`fotoreport`';
		var $fotortable = '`fotor`';
		var $articlestable = '`articles`';
		var $menuitemstable = '`menuitems`';
		var $topmenuitemstable = '`topmenuitems`';
		var $streetstable = '`streets`';
		var $regionstable = '`regions`';
		var $zastrojstable = '`zastrojs`';
		var $naznachofisstable = '`naznachofiss`';
		var $managerstable = '`managers`';
		var $opensellstable = '`opensells`';
		var $objectstable = '`objects`';
		var $kodstable = '`kods`';
		var $namestable = '`names`';
		var $adminstable = '`admins`';
		var $peoplestable = '`peoples`';
		var $userstable = '`users`';
}
            Сайт написан за 1500$
молчу про остальные классы и функции.
        
+47
return PartnersProjectDaily::getInstance()->getSummary(
          array('date' => Utils::dateFormat($_POST['date']), 
                   'options' =>new StatSearchOptions($_POST['options']), 
                    'group' => $_POST['group']));Инкапсулировать параметризация полностью, руки не дошли?
−93
# -*- coding: utf-8 -*-
from django.db import models
# Create your models here.
class SheduleItem(models.Model):
  WIKDI = (
    ('monday', 'Понедельник'),
    ('tuesday', 'Вторник'),
    ('wednesday', 'Среда'),
    ('thursday', 'Четверг'),
    ('friday', 'Пятница'),
    ('saturday', 'Суббота'),
    ('sunday', 'Воскресенье'),
  )
  TAIM = (
    ('08:00', '08:00'),
    ('09:00', '09:00'),
    ('10:00', '10:00'),
    ('11:00', '11:00'),
    ('12:00', '12:00'),
    ('13:00', '13:00'),
    ('14:00', '14:00'),
    ('15:00', '15:00'),
    ('16:00', '16:00'),
    ('17:00', '17:00'),
    ('18:00', '18:00'),
    ('19:00', '19:00'),
    ('20:00', '20:00'),
    ('21:00', '21:00'),
  )
  weekday = models.CharField(max_length=20, choices=WIKDI)
  time = models.CharField(max_length=6, choices=TAIM)
  action = models.CharField(max_length=30)
  trainer = models.ForeignKey('trainers.StrongTrainer')
  def __unicode__(self):
    return self.actionDjango-модель для таблицы расписания занятий. Выдавлено в 2 часа ночи под Сержа Танкяна.
+159
function group_sorting_ABC(array, mode)
{
    var arr = [],
        resArray = [],
        add;
    for (var i = 0; i < array.length; i++)
    {
        var key;
        if (array[i].index && mode == 'index')
        {
            switch (array[i].index.toString().length)
            {
            case 1:
                add = '00';
                break;
            case 2:
                add = '0';
                break;
            case 3:
                add = '';
                break;
            }
            key = add + array[i].index;
        }
        else
        {
            key = array[i].name;
        }
        arr.push(key + '@' + i);
    }
    arr = arr.sort();
    for (var i = 0; i < arr.length; i++)
    {
        var a = arr[i].split('@');
        var item = array[a[1]];
        resArray.push(item);
    }
    return resArray;
}Наковырял в middleware set top box-а MAG-250.
−45
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void iswap(int &n1, int &n2)
{
    int temp = n1;
    n1 = n2;
    n2 = temp;
}
 
int main()
{
    int const n = 100;
    int a[n];
    for ( int i = 0; i < n; ++i ) { a[i] = n - i; cout << a[i] << " "; }
        //заполняем массив для наглядности.
        //-----------сортировка------------// 
        //сортирует по-возрастанию. чтобы настроить по-убыванию, 
        //поменяйте знаки сравнения в строчках, помеченных /*(знак)*/
    int sh = 0; //смещение
    bool b = false;
    for(;;)
    {
        b = false;
        for ( int i = 0; i < n; i++ )
        {
            if( i * 2 + 2 + sh < n )
            {
                if( ( a[i + sh] > /*<*/ a[i * 2 + 1 + sh] ) || ( a[i + sh] > /*<*/ a[i * 2 + 2 + sh] ) )
                {
                    if ( a[i * 2 + 1 + sh] < /*>*/ a[i * 2 + 2 + sh] ) 
                    {
                        iswap( a[i + sh], a[i * 2 + 1 + sh] );
                        b = true;
                    }
                    else if ( a[i * 2 + 2 + sh] < /*>*/ a[ i * 2 + 1 + sh]) 
                         {
                             iswap( a[ i + sh], a[i * 2 + 2 + sh]);
                             b = true;
                         }
                }
            }
            else if( i * 2 + 1 + sh < n )
                 {
                     if( a[i + sh] > /*<*/ a[ i * 2 + 1 + sh] )
                     {
                         iswap( a[i + sh], a[i * 2 + 1 + sh] );
                         b = true;
                     }
                 }
        }
        if (!b) sh++; //смещение увеличивается, когда на текущем этапе 
                      //сортировать больше нечего
        if ( sh + 2 == n ) break; 
    }  //конец сортировки
 
 
    cout << endl << endl;
    for ( int i = 0; i < n; ++i ) cout << a[i] << " "; 
 
 
    _getch();
    return 0;
}Запостил как-то на вики как более короткая реализация с++, более понятная и главное - рабочая. Не признали. Сам смотрю - не понимаю че там написано )))
+50
<?php
		
		$confs = array();
		
		$q = new WP_Query(array('post_type' => 'conference',
					'posts_per_page' => -1,
					'meta_key' => 'cd-conference-date-start',
					'orderby' => 'meta_value_num',
					'order' => 'DESC'
					));
		while($q->have_posts()): $q->the_post();
		$confs[date("Y", get_post_meta($post->ID, 'cd-conference-date-start', true))][] = array('conf_title' => get_the_title(),
												      'conf_date_start' => get_post_meta($post->ID, 'cd-conference-date-start', true),
												      'conf_date_end' => get_post_meta($post->ID, 'cd-conference-date-end', true),
												      'conf_link' => get_permalink(),
												      'conf_city' => '', /* Город */
												      'conf_icon' => '' /* Иконка */
												      );
		endwhile;
		wp_reset_postdata();
		
		foreach($confs as $key => $value)
		{
		?>
                <h1 class="year"><?=$key;?></h1>
		<?php
		//print_r($value);
		?>
                <div class="conferences">
		  <?php foreach($value as $val)
		  {
		  //print_r($val);
		  ?>
                  <div class="conf">
                    <div class="leftcol">
                      <a href="<?=$val["conf_link"];?>"><img src="<?=$val["conf_icon"];?>"></a>
                    </div>
                    <div class="rightcol">
                      <a href="<?=$val["conf_link"];?>"><h2><?=$val["conf_title"];?></h2></a>
                      <span class="date-place">
			<?php
			//setlocale(LC_TIME, "ru_RU");
			if(date("m", $val["conf_date_start"]) == date("m", $val["conf_date_end"])) $confdays = date("j", $val["conf_date_start"])."-".date("j", $val["conf_date_end"])." ".mb_strtolower(strftime("%B", $val["conf_date_start"]));
			else
			{
				$confdays = date("j", $val["conf_date_start"])." ".mb_strtolower(strftime("%B", $val["conf_date_start"]))." - ".date("j", $val["conf_date_end"])." ".mb_strtolower(strftime("%B", $val["conf_date_end"]));
			}
			?>
			<?=$confdays;?>, <?=$val["conf_city"];?>
		      </span>
                    </div>
                  </div>
		  <?php
		  }
		  ?>
                </div>
		
		<?php } ?>
+130
int print_entry(const char* name, const char* dir,const struct stat* st)
{
  if(!S_ISDIR(st->st_mode)){
      if(S_ISREG(st->st_mode)){
        printf("<file type=\"regular file\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
      };
      if(S_ISCHR(st->st_mode)){
        printf("<file type=\"charcter device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
      }
      if(S_ISBLK(st->st_mode)){
        printf("<file type=\"block device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
      }
      if(S_ISFIFO(st->st_mode)){
        printf("<file type=\"FIFO(named pipe)\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
      }
      if(S_ISLNK(st->st_mode)){
         char *linkname;
         ssize_t r;
         char *lname=strcat(dir,"");
         linkname =  new char[st->st_size + 1];
         if (linkname == NULL) {
            fprintf(stderr, "insufficient memory\n");
            exit(EXIT_FAILURE);
         }
        r=readlink(lname, linkname, st->st_size + 1);
        if (r < 0) {
          return 0;
        }
           if (r > st->st_size) {
        fprintf(stderr, "symlink increased in size "
                        "between lstat() and readlink()\n");
        exit(EXIT_FAILURE);
    }
        linkname[st->st_size] = '\0';
        printf("<file type=\"symbolic link\" owner=\"%d\" group=\"%d\" linkname=\"%s\">%s/%s</file>\n",st->st_uid,st->st_gid,linkname,dir,name);
      }
      if(S_ISSOCK(st->st_mode)){
        printf("<file type=\"socket\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
      }
    }
    return 0;
}
 
int main(int argc, char* argv[])
{
if(argc != 2)
    {
    fprintf(stderr, "Usage: %s DIR\n", argv[0]);
    exit(1);
    }
    printf("<dir name=\"%s\">\n",argv[1]);
    walk(argv[1], print_entry, 1,0);
    printf("</dir>",argv[1]);
}Создание xml файла всех директорий, поддиректорий и их файлов