1. Си / Говнокод #8802

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #define MAKEPTR(p,o) (LPVOID) ( (DWORD)p + (DWORD)o )
    #define WRITE_OPCODE(pCode, x) \
       res = WriteProcessMemory( hProcess, pCode, &x, sizeof(x), &nWritten ); \
       if( !res ) return FALSE; \
       pCode = MAKEPTR(pCode,sizeof(x))
    #define WRITE_DWORD(pCode, x) \
       res = WriteProcessMemory( hProcess, pCode, &x, sizeof(x), &nWritten ); \
       if( !res ) return FALSE; \
       pCode = MAKEPTR(pCode,sizeof(x))

    макрос "сюрприз" хоть бы назвал яснее типа
    WRITE_OPCODE_AND_RETURN_VAL_IF_FAIL
    но чем так писать лучше уж условие не прятать

    http://ospy.googlecode.com/svn/!svn/bc/2/trunk/Agent/hooking.cpp

    63F45EF45RB65R6VR, 12 Декабря 2011

    Комментарии (7)
  2. Си / Говнокод #8793

    +138

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    int my_number = count-1;
    	int addition_size =18;
    	if(sock >= 0)
    	{
    		while(1)
    		{
    			bytes_read = recv(sock, buf, 1024, 0);
    			if(bytes_read <= 0) break;
    			send_buf[0]='r';
    			send_buf[1]='e';
    			send_buf[2]='c';
    			send_buf[3]='e';
    			send_buf[4]='i';
    			send_buf[5]='v';
    			send_buf[6]='e';
    			send_buf[7]='d';
    			send_buf[8]=' ';
    			send_buf[9]='m';
    			send_buf[10]='e';
    			send_buf[11]='s';
    			send_buf[12]='s';
    			send_buf[13]='a';
    			send_buf[14]='g';
    			send_buf[15]='e';
    			send_buf[16]=':';
    			send_buf[17]=' ';
    			
    			for(i=addition_size;i<addition_size+bytes_read;i++)
    				send_buf[i]=buf[i-addition_size];
    			for(i=0;i<count;i++)
    				if(i != my_number)
    					send(active_sockets[i], send_buf, bytes_read+addition_size, 0);
    		}
    		close(sock);
    		for(i=my_number;i<count-1;i++)
    			active_sockets[i]=active_sockets[i+1];
    		count--;
    	}

    наша студентота 3курса :(

    null, 10 Декабря 2011

    Комментарии (19)
  3. Си / Говнокод #8700

    +113

    1. 1
    if (args.first ? 1 : 0 + args.second ? 1 : 0 + args.third ? 1 : 0 > 1)

    vayerx, 01 Декабря 2011

    Комментарии (12)
  4. Си / Говнокод #8696

    +138

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    вот так выглядит загрузка DLL у людей, которые не знают про tchar
    
    const char string [] = "right_dll.dll";
    LPCWSTR put = (LPCWSTR) string;
    HINSTANCE my_dll = LoadLibraryEx (put, 0, DONT_RESOLVE_DLL_REFERENCES);

    Kortez, 01 Декабря 2011

    Комментарии (1)
  5. Си / Говнокод #8692

    +106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    #include "stdafx.h"
    #include "math.h"
    #include "stdio.h"
    #include "conio.h"
     
    int main()
    { 
    int p;
    if (p==1 || p==21 || p==31 || p==41 || p==51 || p==61 || p==71 
    || p==81 || p==91   || p==101 || p==121 || p==131 || p==141 || p==151 
    || p==161 || p==171 || p==181 || p==191 || p==201 || p==221 || p==231 
    || p==241 || p==251 || p==261 || p==271 || p==281 || p==291 || p==301
    || p==321 || p==331 || p==341 || p==351 || p==361 || p==371 || p==381
    || p==391 || p==401 || p==421 || p==431 || p==451 || p==461 || p==471 
    || p==481 || p==491 || p==501 || p==521 || p==531 || p==541 || p==551 
    || p==561 || p==571 || p==581 || p==591 || p==601 || p==621 || p==631
    || p==641 || p==651 || p==661 || p==671 || p==681 || p==691 || p==701 
    || p==721 || p==731 || p==741 || p==751 || p==761 || p==771 || p==781 
    || p==791 || p==801 || p==821 || p==831 || p==841 || p==851 || p==861
    || p==871 || p==881 || p==891 || p==901 || p==921 || p==931 || p==941
    || p==951 || p==961 || p==971 || p==981 || p==991 )
    printf("Hruvna\n");
    else 
    {
    if (p>1 && p<5 || p>21 && p<25 || p>31 && p<35 
    || p>41 && p<45 || p>51 && p<55 || p>61 && p<65
    || p>71 && p<75 || p>81 && p<85 || p>91 && p<95
    ||p>101 && p<105 || p>121 && p<125 || p>131 && p<135
    ||p>141 && p<145 || p>151 && p<155 || p>161 && p<165
    ||p>171 && p<175 || p>181 && p<185 || p>191 && p<195
    ||p>201 && p<205 || p>211 && p<215 || p>221 && p<225
    ||p>231 && p<235 || p>241 && p<245 || p>251 && p<255
    ||p>261 && p<265 || p>271 && p<275 || p>281 && p<285
    ||p>291 && p<295 || p>301 && p<305 || p>311 && p<315
    ||p>321 && p<325 || p>331 && p<335 || p>341 && p<345
    ||p>351 && p<355 || p>361 && p<365 || p>371 && p<375
    ||p>381 && p<385 || p>391 && p<395 || p>401 && p<405
    ||p>411 && p<415 || p>421 && p<425 || p>431 && p<435
    ||p>441 && p<445 || p>451 && p<455 || p>461 && p<465
    ||p>471 && p<475 || p>481 && p<485 || p>491 && p<495
    ||p>501 && p<505 || p>511 && p<515 || p>521 && p<525
    ||p>531 && p<535 || p>541 && p<545 || p>551 && p<555
    ||p>561 && p<565 || p>571 && p<575 || p>581 && p<585
    ||p>591 && p<595 || p>601 && p<605 || p>611 && p<615
    ||p>621 && p<625 || p>631 && p<635 || p>641 && p<645
    ||p>651 && p<655 || p>661 && p<665 || p>671 && p<675
    ||p>681 && p<685 || p>691 && p<695 || p>701 && p<705
    ||p>711 && p<715 || p>721 && p<725 || p>731 && p<735
    ||p>741 && p<745 || p>741 && p<745 || p>751 && p<755
    ||p>761 && p<765 || p>771 && p<775 || p>781 && p<785
    ||p>791 && p<795 || p>801 && p<805 || p>811 && p<815
    ||p>821 && p<825 || p>831 && p<835 || p>841 && p<845
    ||p>851 && p<855 || p>861 && p<865 || p>871 && p<875
    ||p>881 && p<885 || p>891 && p<895 || p>901 && p<905
    ||p>911 && p<915 || p>921 && p<925 || p>931 && p<935
    ||p>941 && p<945 || p>951 && p<955 || p>961 && p<965
    ||p>971 && p<975 || p>981 && p<985 || p>991 && p<995)
    printf("Hryvni\n");
    }
     
    if (p>1000)
    printf("Error\n");
    else 
    printf("Hryven\n");
    getch();
    return 0;
    }

    Цитата автора: "Дано натуральное число s (s <= 1000), определяющий денежную сумму (в гривнах). Дать для этого числа название «гривна», «гривны» или «гривен». Составил программу а она не работает" Оригинал здесь: http://www.cyberforum.ru/cpp-beginners/thread258801.html?uri=/cpp-beginners/thread258801.html

    Fenom, 30 Ноября 2011

    Комментарии (33)
  6. Си / Говнокод #8689

    +111

    1. 1
    2. 2
    3. 3
    for(x = 1; x; x += x)
      if(!(((e*x)%m)/t))
      { x = d; break; }

    Недавно прислали с вопросом: "Тут что-то поломалось, надо исправить... Поможешь?"

    TarTar, 30 Ноября 2011

    Комментарии (45)
  7. Си / Говнокод #8650

    +102

    1. 1
    #define HESHELME_BESHELME(x, y) (((x)>0)<<2 | ((y)>0)<<1 | ((x) > ((x)*(y) > 0 ? (y) : -(y))))

    двумерное "квантование" точки

    orion, 26 Ноября 2011

    Комментарии (35)
  8. Си / Говнокод #8645

    +106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if ( 0 == strcmp( executable, "" ) ||
         0 == strcmp( executable, "NONE" ) ||
         0 == strcmp( executable, "none" ) ||
         0 == strcmp( executable, "None" )  )
    {
    /* ... */

    ... ровно так документация и описывает данный параметр: либо пустая строка, либо case-insensitive строка NONE.

    Dummy00001, 25 Ноября 2011

    Комментарии (29)
  9. Си / Говнокод #8599

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void set_cameramode_with_reset(GameCameraMode mode, bool reset) 
      {
        CurrentTime time;
        switch (reset)
        {
          case false: game.state_camera_mode(mode, time, true, 1); break;
          case true: game.state_camera_mode(mode, time, true, 2);
        }
      }

    Мало ли, влруг ещё варианты появятся.

    MAGnit, 22 Ноября 2011

    Комментарии (23)
  10. Си / Говнокод #8495

    +132

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    void * c_memmove(void *dest, void *src, size_t n)
    {
      void *ret = dest;
    
      if (n)
      {
    
        *(__int8 **)&dest += n;
        *(__int8 **)&src += n;
    
        switch (int x = n % 4)
        {
          do
          {
            if (!!'true')
            {
              case 0:
                *--*(__int32 **)&dest = *--*(__int32 **)&src;
                n -= 4;
            }
            else
            {
              case 3: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              case 2: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              case 1: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              n -= x;
            }
          } while (n);
        }
      }
      return ret;
    }

    63F45EF45RB65R6VR, 11 Ноября 2011

    Комментарии (23)