📄 czkotst.c
字号:
/*每0.01元人民币=10个现金单位按现时拨号费每小时3元计算,拨号每分钟需5分人民币=>50个现金单位INT32 最大能表示200多万元人民币*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <strings.h>#include <fcntl.h>#include <unistd.h>#include <shadow.h>#include <pwd.h>/*#include "account.h"#include "acc_shm.h"*/#include "acc_file.h"typedef struct account_pw { char cid[10]; /* Card ID */ char passwd[16]; /* Card Password */ char type; /* Card type */ char status; /* Card Active Status */ long first_date; /* First login time */ long last_date; /* Last login time */ char account_id[12]; /* Bank account id */ long left_fee; /* Left available fee */} ACCOUNT_PW;main(){ ACCOUNT_PW user_czk; stru_user user_xf; FILE *fp_czk; FILE *fp_xf; FILE *fp_uid; int id,i; FILE *fp; char buf[1000]; int j,k; char *ptr; struct spwd sha; struct spwd *shaptr; struct passwd *pwdptr; long expire_date; int ever; long groupid; INT32 uid; int other_usr,invalid_usr; int czkjs_used,czkjs_unused,czkbz_used,czkbz_unused,czk_lock; int u10,u20,u21,u22,u25,u29,u49,u200,u209,u40,u41,u42,u201,u45,u204,u210,u50,u51,u52,u53,u54,u55,u56,u57,u58,u59,u151,u152,u30,u220,u222,u240,u242,u230,u231,u250,u251,u31; czkjs_used=czkjs_unused=czkbz_used=czkbz_unused=czk_lock=0; other_usr=invalid_usr=0; u10=u20=u21=u22=u25=u29=u49=u200=u209=u40=u41=u42=u201=u45=u204=u210=u50=u51=u52=u53=u54=u55=u56=u57=u58=u59=u151=u152=u30=u220=u222=u240=u242=u230=u231=u250=u251=u31=0; if((fp_xf=fopen("user.dat","wb"))==NULL) { printf("Cannot open user.dat for write!\n"); exit(1); } strcpy(user_xf.Uname,"system"); strcpy(user_xf.Passwd,(const char *)crypt("manager","./")); user_xf.Uid=1; user_xf.Gid=1; user_xf.Ulevel=2; user_xf.Cid=3; user_xf.Status=4; user_xf.Type=5; user_xf.CostType=6; strcpy(user_xf.Reserve,"ILOVEYOU"); user_xf.PeriodTm=0xaaaaaaaa; user_xf.Wday=0xb; user_xf.AccvalidTm=0xcccccccc; user_xf.AccexpTm=0xdddddddd; user_xf.Last_time=0xeeeeeeee; user_xf.CashAmt=0xffffffff; user_xf.PointAmt=0x11111111; user_xf.Credit=0x22222222; user_xf.Auth=0x33333333; user_xf.PerLimit=0x44444444; user_xf.DayLimit=0x55555555; user_xf.Amount=0x66666666; user_xf.ListPtr=0x77777777; user_xf.UertPtr=0x88888888; printf("The size of stru_user is %d\n",sizeof(stru_user)); if(fwrite(&user_xf,sizeof(stru_user),1,fp_xf)!=1) { printf("Write user.dat error!(Can not create root user)\n"); exit(-1); } fclose(fp_xf); printf("结束!\n"); exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -