Spoofed
پنج شنبه 28 اسفند 1382, 11:46 صبح
ایجاد کاراکترهای فارسی مستقر در حافظه تحت داس:
//#include <stdio.h>
//#include <conio.h>
//#include <stdlib.h>
#include <dos.h>
void farsi(void)
{
unsigned int font;
struct REGPACK reg;
union REGS regs1;
char ex_array[1457] ;
char font_def[91][14]={
/* 128 - 175 */
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x8 ,0x1c,0x8 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x20,0x30,0x38,0x18,0xc ,0xc ,0x4 ,0x4 ,0x4 ,0x4 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x42,0x7e,0x7c,0x30,0x18,0x18,0x8 ,0x8 ,0x8 ,0x8 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x49,0x7f,0x76,0x30,0x18,0x18,0x8 ,0x8 ,0x8 ,0x8 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x8 ,0x10,0x20,0x18,0x8 ,0x10,0x20,0x21,0x3e,0x1c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x8 ,0x8 ,0xc ,0x16,0x23,0x41,0x49,0x7f,0x36,0x0 ,0x0 },
{0x0 ,0x0 ,0x42,0x7e,0x3e,0x4 ,0x4 ,0x4 ,0x6 ,0x3 ,0x3 ,0x1 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x41,0x41,0x63,0x36,0x1c,0x1c,0x8 ,0x8 ,0x8 ,0x8 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x8 ,0x8 ,0x8 ,0x8 ,0x1c,0x1c,0x36,0x63,0x41,0x41,0x0 ,0x0 },
{0x0 ,0x0 ,0x18,0x3c,0x44,0x44,0x3c,0x4 ,0x6 ,0x3 ,0x3 ,0x1 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0xc ,0x18,0x18,0x18,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0xff,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x3c,0x42,0x40,0x60,0x10,0xc ,0xc ,0x0 ,0xc ,0xc ,0x0 ,0x0 },
{0x0 ,0x1 ,0x3e,0x40,0x8 ,0x8 ,0x8 ,0x8 ,0x8 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0xc ,0x10,0x3c,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0xc ,0x10,0x1c,0x20,0xc ,0x10,0x0 ,0x0 ,0x0 },
{0x0 ,0x8 ,0xc ,0x8 ,0x8 ,0x8 ,0x8 ,0x8 ,0x8 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x4 ,0x4 ,0x4 ,0x4 ,0x4 ,0x4 ,0x4 ,0x3 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x40,0x81,0x81,0x7e,0x0 ,0x0 ,0x10,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x20,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x40,0x81,0x81,0x7e,0x0 ,0x0 ,0x28,0x10,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x28,0x10,0x0 },
{0x0 ,0x0 ,0x0 ,0x14,0x0 ,0x40,0x81,0x81,0x7e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x14,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x8 ,0x14,0x0 ,0x40,0x81,0x81,0x7e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x8 ,0x14,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x2 ,0x3f,0x40,0x80,0x88,0x80,0x41,0x3e},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x3 ,0xfc,0x0 ,0x0 ,0x8 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x2 ,0x3f,0x40,0x80,0x94,0x88,0x41,0x3e},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x3 ,0xfc,0x0 ,0x0 ,0x28,0x10,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x2 ,0x3f,0x40,0x80,0x80,0x80,0x41,0x3e},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x18,0x24,0x3 ,0xfc,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x10,0x0 ,0x18,0x24,0x2 ,0x3f,0x40,0x80,0x80,0x80,0x41,0x3e},
{0x0 ,0x0 ,0x8 ,0x0 ,0x0 ,0x18,0x24,0x3 ,0xfc,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x4 ,0x2 ,0x1 ,0x21,0x3e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x8 ,0x0 ,0x0 ,0x4 ,0x2 ,0x1 ,0x21,0x3e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0x1 ,0x2 ,0x24,0x18,0x0 },
{0x0 ,0x0 ,0x0 ,0x2 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0x1 ,0x2 ,0x24,0x18,0x0 },
{0x0 ,0x0 ,0x2 ,0x5 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0x1 ,0x2 ,0x24,0x18,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x15,0x15,0x9a,0x88,0x88,0x88,0x70,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x15,0x15,0xea,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x4 ,0xa ,0x0 ,0x0 ,0x15,0x15,0x9a,0x88,0x88,0x88,0x70,0x0 },
{0x0 ,0x4 ,0xa ,0x0 ,0x0 ,0x0 ,0x15,0x15,0xea,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x2 ,0x5 ,0x29,0x1e,0x88,0x88,0x88,0x70,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x6 ,0x29,0x31,0xde,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x2 ,0x0 ,0x0 ,0x2 ,0x5 ,0x29,0x1e,0x88,0x88,0x88,0x70,0x0 },
{0x0 ,0x4 ,0x0 ,0x0 ,0x0 ,0x6 ,0x29,0x31,0xde,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x20,0x30,0x20,0x20,0x26,0x29,0x31,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
/* 225 - 255 */
{0x0 ,0x20,0x34,0x20,0x20,0x26,0x29,0x31,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0xc ,0x12,0x10,0x3e,0x40,0x80,0x80,0x80,0x42,0x3c},
{0x0 ,0x0 ,0x0 ,0x0 ,0xc ,0x1e,0xc ,0x12,0x21,0x40,0x40,0x40,0x21,0x1e},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1c,0x3c,0x18,0xe7,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x6 ,0x9 ,0x8 ,0xff,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x8 ,0x0 ,0x0 ,0xc ,0x12,0x10,0x3e,0x40,0x80,0x80,0x80,0x42,0x3c},
{0x0 ,0x4 ,0x0 ,0x0 ,0xe ,0x1e,0xc ,0x12,0x21,0x40,0x40,0x40,0x21,0x1e},
{0x0 ,0x0 ,0x8 ,0x0 ,0x0 ,0x1c,0x3c,0x18,0xe7,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x4 ,0x0 ,0x0 ,0x0 ,0x6 ,0x9 ,0x8 ,0xff,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x4 ,0x0 ,0x0 ,0x6 ,0x49,0x89,0x87,0x7e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x4 ,0x0 ,0x0 ,0x6 ,0x9 ,0x9 ,0x7 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0xa ,0x0 ,0x0 ,0x2 ,0x5 ,0x45,0x83,0x81,0x81,0x42,0x3c,0x0 },
{0x0 ,0xa ,0x0 ,0x0 ,0x6 ,0x9 ,0x9 ,0x7 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x2 ,0x4 ,0x8 ,0x8 ,0x4 ,0x2 ,0x41,0x81,0x7e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x3 ,0x4 ,0x8 ,0x8 ,0x6 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x12,0x24,0x8 ,0x8 ,0x4 ,0x2 ,0x41,0x81,0x7e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x13,0x24,0x8 ,0x8 ,0x6 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x1 ,0x3 ,0x1 ,0x1 ,0x1 ,0x1 ,0x41,0x81,0x81,0x81,0x42,0x3c,0x0 },
{0x0 ,0x21,0x21,0x11,0x11,0x9 ,0x9 ,0x7 ,0x1e,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x1 ,0x3 ,0x1 ,0x1 ,0x1 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x6 ,0x9 ,0x3e,0x40,0x40,0x40,0x40,0x40},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x6 ,0x9 ,0x9 ,0xf6,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x8 ,0x0 ,0x41,0x81,0x81,0x81,0x42,0x3c,0x0 },
{0x0 ,0x0 ,0x0 ,0x8 ,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x6 ,0x9 ,0x9 ,0x7 ,0x1 ,0x2 ,0x44,0x38,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0xc ,0x12,0x11,0x11,0xe ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1c,0x24,0x28,0xf3,0x24,0x14,0xc ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x8 ,0x1c,0x26,0x25,0x19,0xee,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x7 ,0x48,0x8c,0x82,0x82,0x7c},
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x3 ,0x44,0x88,0x8e,0x81,0x81,0x7e,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x1 ,0x1 ,0xfe,0x0 ,0x0 ,0x28,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 ,0x0 },
/***** latin number patterns */
{0x0 ,0x0 ,0x0 ,0x7c,0xc6,0xce,0xde,0xf6,0xe6,0xc6,0xc6,0x7c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x7e,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x7c,0xc6,0x6 ,0xc ,0x18,0x30,0x60,0xc6,0xfe,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x7c,0xc6,0x6 ,0x6 ,0x3c,0x6 ,0x6 ,0xc6,0x7c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0xc ,0x1c,0x3c,0x6c,0xcc,0xfe,0xc ,0xc ,0x1e,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0xfe,0xc0,0xc0,0xc0,0xfc,0x6 ,0x6 ,0xc6,0x7c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x38,0x60,0xc0,0xc0,0xfc,0xc6,0xc6,0xc6,0x7c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0xfe,0xc6,0x6 ,0xc ,0x18,0x30,0x30,0x30,0x30,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0x7c,0x0 ,0x0 },
{0x0 ,0x0 ,0x0 ,0x7c,0xc6,0xc6,0xc6,0x7e,0x6 ,0x6 ,0xc ,0x78,0x0 ,0x0 }
};
regs1.h.ah = 0x12;
regs1.h.bl = 0x10;
int86(0x10,&regs1,&regs1);
font = regs1.h.bl;
if(font==0x10) font=0; /* neither EGA nor VGA */
else
{
regs1.x.ax = 0x1130 ;
regs1.h.bh = 6 ;
int86(0x10,&regs1,&regs1);
font = regs1.x.cx;
/* download graphic chr.s here */
}
/*********** Make Font Data ************************************/
if((char )font) /* EGA or VGA */
{
register unsigned int j ;
char i ;
for (j=0 ; j<91 ; j++ )
{
for (i=0 ; i< 14 ; i++ )
ex_array[i+ j * font]=font_def[j][i];
if(font==16) ex_array[14+j*16]=ex_array[15+j*16]=0;
}
/* download */
reg.r_bx=font<<8;
reg.r_cx=48;
reg.r_dx=128;
reg.r_es=FP_SEG(ex_array);
reg.r_bp=FP_OFF(ex_array);
reg.r_ax=0x1110;
intr(0x10,&reg);
reg.r_bx=font<<8;
reg.r_cx=32;
reg.r_dx=224;
reg.r_es=FP_SEG(ex_array+48*font);
reg.r_bp=FP_OFF(ex_array+48*font);
reg.r_ax=0x1110;
intr(0x10,&reg);
}
}
void main(void)
{
farsi();
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.