IT家园's Archiver

13125 发表于 2011-6-3 14:01

网众写加密狗C 源码完整版【转】

1. /*fun main()

2. {

3. exit(0,0x61,0,0):0;

4. }

5. */

6.

7. #include <sys_api.h>

8. #include <string.h>

9.

10. /*output[41] //地区代码*/

11. //output[38][39] : 编号 xor 0x45c4a//

12. //output[48..51] :用户数//

13. //output[52..55]最大用户户数//

14. //output[46][47] :使用时间数

15.

16. byte xdata output[144]={0x52, 0x2A, 0x29, 0xC9, 0x52, 0xF2, 0xEF, 0xD9, 0xCE, 0xE7, 0x78, 0xD4, 0x52, 0xF2,

17. 0xEF, 0xD9, 0xCE, 0xE7, 0x78, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

18. 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x86, 0x29, 0x00, 0x27, 0x00, 0x9B, 0x00, 0x00,

19. 0x08, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,

20. 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6E, 0x65, 0x74, 0x7A, 0x6F, 0x6E, 0x65, 0x73, 0x6F, 0x66, 0x74,

21. 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x77, 0x7A, 0x73, 0x6A, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0x00,

22. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

23. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0xB3, 0x6B, 0x09, 0xBD, 0x6F,

24. 0xEF, 0xC4, 0x42, 0x66, 0xC7, 0xB4, 0x5C, 0x76, 0xBA, 0x23, 0x59, 0x0F, 0x00, 0x00, 0x00, 0x00,0x00,0x00};

25.

26. /*byte xdata output[144]={0x52, 0x2A, 0x29, 0xC9, 0x52, 0xF2, 0xEF, 0xD9, 0xCE, 0xE7, 0x78, 0xD4, 0x52, 0xF2,

27. 0xEF, 0xD9, 0xCE, 0xE7, 0x78, 0xC4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

28. 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xf2, 0xec, 0x00, 0x27, 0x00, 0x9B, 0x00, 0x00,

29. 0x08, 0x40, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F,

30. 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6E, 0x65, 0x74, 0x7A, 0x6F, 0x6E, 0x65, 0x73, 0x6F, 0x66, 0x74,

31. 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x77, 0x7A, 0x73, 0x6A, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x00, 0x00,

32. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

33. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x7f, 0x23, 0x66, 0x12, 0x21,

34. 0x10, 0x3e, 0x1c, 0x15, 0xed, 0x09, 0xc5, 0xbb, 0x62, 0x80, 0x37, 0x31, 0x00, 0x00, 0x00, 0x00,0x00,0x00};

35.

36. */

37. byte xdata boot[0x60]={0xC2, 0x0B, 0xB0, 0x06, 0xC2, 0xD2, 0x33, 0x07, 0xA1, 0xF8, 0x74, 0x9E, 0xC2, 0xD2,

38. 0x33, 0x07, 0xA1, 0xF8, 0x74, 0x9A, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

39. 0x00, 0x00, 0x55, 0x8B, 0xEC, 0x66, 0x53, 0x66, 0x51, 0x66, 0x52, 0x66, 0x55, 0x66, 0x56, 0x66,

40. 0x57, 0x1E, 0x06, 0x0F, 0xA0, 0x0F, 0xA8, 0x0E, 0x1F, 0x66, 0xFF, 0x76, 0x06, 0x06, 0x53, 0xE8,

41. 0x90, 0x04, 0x0F, 0xA9, 0x0F, 0xA1, 0x07, 0x1F, 0x66, 0x5F, 0x66, 0x5E, 0x66, 0x5D, 0x66, 0x5A,

42. 0x66, 0x59, 0x66, 0x5B, 0x90, 0x5D, 0xCB, 0x00, 0xC8, 0x06, 0x00, 0x00, 0xB8, 0x32, 0x00, 0xE8,

43. 0xBA, 0x2F};

44.

45. byte xdata initval[8]={0x13,0xa6,0x28,0xb7,0x00,0xda,0x25,0xb7};

46.

47. void main()

48. {

49. byte xdata tmpbuf[0xe0];

50. byte xdatais;

51. wordfileid;

52. byte xdata alltime[8];

53. dword endtime,curtime;

54. byte xdata tmpbyte;

55. dword xdata tmp,key1,key2,fun,time1,time2,outtime,outsec;

56.

57. fileid=0x1002;

58. get_input(tmpbuf,0,0,0xe0);

59. tmp=tmpbuf[4];

60. key1=tmp<<24;

61. tmp=tmpbuf[5];

62. key1=key1 | (tmp<<16);

63. tmp=tmpbuf[6];

64. key1=key1 | (tmp<<8);

65. key1=key1 | tmpbuf[7];

66. tmp=tmpbuf[8];

67. key2=tmp<<24;

68. tmp=tmpbuf[9];

69. key2=key2 | (tmp<<16);

70. tmp=tmpbuf[10];

71. key2=key2 | (tmp<<8);

72. key2=key2 | tmpbuf[11];

73.

74. tmp=tmpbuf[0];

75. time1=tmp<<24;

76. tmp=tmpbuf[1];

77. time1=time1 | (tmp<<16);

78. tmp=tmpbuf[2];

79. time1=time1 | (tmp<<8);

80. time1=time1 | tmpbuf[3];

81. tmp=tmpbuf[16];

82. time2=tmp<<24;

83. tmp=tmpbuf[17];

84. time2=time2 | (tmp<<16);

85. tmp=tmpbuf[18];

86. time2=time2 | (tmp<<8);

87. time2=time2 | tmpbuf[19];

88. time1=time1^time2;

89. fun=key1^key2;

90. switch (fun)

91. {

92. case 0x10:

93. is=open_file(&fileid,0);

94. if(is!=0)

95. {

96. creat_file(fileid, "1002", 0x80,0x8);

97. write_file(0,initval,8);

98. }

99. read_file(0,alltime,8);

100. tmp=alltime[0];

101. endtime=tmp<<24;

102. tmp=alltime[1];

103. endtime=endtime | (tmp<<16);

104. tmp=alltime[2];

105. endtime=endtime | (tmp<<8);

106. endtime=endtime | alltime[3];

107.

108. tmp=alltime[4];

109. curtime=tmp<<24;

110. tmp=alltime[5];

111. curtime=curtime | (tmp<<16);

112. tmp=alltime[6];

113. curtime=curtime | (tmp<<8);

114. curtime=curtime | alltime[7];

115. if(time1<=endtime)

116. {

117. if(time1>=curtime)

118. {

119. outsec=endtime-time1;

120. }

121. else

122. {

123. outsec=endtime-curtime;

124. }

125. outtime=(outsec/(60*60))+((outsec/(60*60)) % 24);

126. if(time1>curtime)

127. {

128. tmpbyte=time1>>24;

129. alltime[4]=tmpbyte;

130. tmpbyte=time1>>16;

131. alltime[5]=tmpbyte;

132. tmpbyte=time1>>8;

133. alltime[6]=tmpbyte;

134. tmpbyte=time1;

135. alltime[7]=tmpbyte;

136. write_file(0,alltime,8);

137. }

138. tmpbyte=outtime>>24;

139. output[44]=tmpbyte;

140. tmpbyte=outtime>>16;

141. output[45]=tmpbyte;

142. tmpbyte=outtime>>8;

143. output[46]=tmpbyte;

144. tmpbyte=outtime;

145. output[47]=tmpbyte;

146. }

147. else

148. {

149. output[44]=0;

150. output[45]=0;

151. output[46]=0;

152. output[47]=0;

153. }

154. set_response(144,output);

155. break;

156. case 0x11:

157. set_response(144,output);

158. break;

159. case 0x4: set_response(96,boot);

160. break;

161. }

162. //memcpy(output,tmpbuf,20);

163. //set_response(144,output);

164. exit();

165. }

13125 发表于 2011-6-3 14:03

:lol 我自己也看不懂

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.