home *** CD-ROM | disk | FTP | other *** search
/ Media Depot 5 / mediadepotvolume51993.iso / FILES / 13 / SSD40.ZIP / EXAMPLE.DOC < prev    next >
Encoding:
Text File  |  1996-04-19  |  14.9 KB  |  608 lines

  1.                  Example: Borland C small memory model program
  2.  
  3.  
  4. DOS version read
  5. Get segment address of program
  6. Get segment address of environment block
  7. Read interrupt vector 00
  8. Read interrupt vector 04
  9. Read interrupt vector 05
  10. Read interrupt vector 06
  11. Set vector 00 to 5306:015C
  12. Modify memory allocation
  13. Get clock counter
  14. Get device information
  15. [Stdin]
  16. Get device information
  17. [Stdout]
  18. Get segment address of environment block
  19. Get bytes from command line
  20. Write to [Stdout]
  21.  
  22. Funcion main, of program test running....
  23. Set vector 00 to 1322:19A9
  24. Set vector 04 to 1322:1A1B
  25. Set vector 05 to F000:FF54
  26. Set vector 06 to F000:1805
  27. Terminate!
  28. 2
  29.                          Example: Viral Messiah Virus
  30.  
  31.  
  32. Set vector 03 to 51DE:0000
  33. Set vector 01 to 51DE:0000
  34. Write to programmable interrupt controller port [0021]
  35. (Attempt to disable hardware. Inhibited)
  36. Get Current directory
  37. Get segment address of environment block
  38. Change directory [C:\WINDOWS]
  39. DTA read
  40. DTA changed
  41. Searching for [*.COM]
  42. DTA read
  43. Open file [WIN.COM]
  44. [4] bytes read from [WIN.COM]
  45. Close file [WIN.COM]
  46. Set file attributes [WIN.COM]
  47. (Inhibited)
  48. Open file [WIN.COM]
  49. Get clock counter
  50. Write to file [WIN.COM]
  51. (Inhibited)
  52. Set file date/time [WIN.COM]
  53. (Inhibited)
  54. Close file [WIN.COM]
  55. Set file attributes [WIN.COM]
  56. (Inhibited)
  57. DTA changed
  58. Change directory [\VIRUS]
  59. Get Current directory
  60. Get segment address of environment block
  61. Change directory [C:\WINDOWS]
  62. DTA read
  63. DTA changed
  64. Searching for [*.COM]
  65. DTA read
  66. Open file [WIN.COM]
  67. [4] bytes read from [WIN.COM]
  68. Close file [WIN.COM]
  69. Set file attributes [WIN.COM]
  70. (Inhibited)
  71. Open file [WIN.COM]
  72. Get clock counter
  73. Write to file [WIN.COM]
  74. (Inhibited)
  75. Set file date/time [WIN.COM]
  76. (Inhibited)
  77. Close file [WIN.COM]
  78. Set file attributes [WIN.COM]
  79. (Inhibited)
  80. DTA changed
  81. Change directory [\VIRUS]
  82. Get Current directory
  83. 3
  84. Get segment address of environment block
  85. Change directory [C:\WINDOWS]
  86. DTA read
  87. DTA changed
  88. Searching for [*.COM]
  89. DTA read
  90. Open file [WIN.COM]
  91. [4] bytes read from [WIN.COM]
  92. Close file [WIN.COM]
  93. Set file attributes [WIN.COM]
  94. (Inhibited)
  95. Open file [WIN.COM]
  96. Get clock counter
  97. Write to file [WIN.COM]
  98. (Inhibited)
  99. Set file date/time [WIN.COM]
  100. (Inhibited)
  101. Close file [WIN.COM]
  102. Set file attributes [WIN.COM]
  103. (Inhibited)
  104. DTA changed
  105. Change directory [\VIRUS]
  106. Get Current directory
  107. Get segment address of environment block
  108. Change directory [C:\WINDOWS]
  109. DTA read
  110. DTA changed
  111. Searching for [*.COM]
  112. DTA read
  113. Open file [WIN.COM]
  114. [4] bytes read from [WIN.COM]
  115. Close file [WIN.COM]
  116. Set file attributes [WIN.COM]
  117. (Inhibited)
  118. Open file [WIN.COM]
  119. Get clock counter
  120. Write to file [WIN.COM]
  121. (Inhibited)
  122. Set file date/time [WIN.COM]
  123. (Inhibited)
  124. Close file [WIN.COM]
  125. Set file attributes [WIN.COM]
  126. (Inhibited)
  127. DTA changed
  128. Change directory [\VIRUS]
  129. Get Current directory
  130. Get segment address of environment block
  131. Change directory [C:\WINDOWS]
  132. DTA read
  133. DTA changed
  134. Searching for [*.COM]
  135. DTA read
  136. Open file [WIN.COM]
  137. [4] bytes read from [WIN.COM]
  138. 4
  139. Close file [WIN.COM]
  140. Set file attributes [WIN.COM]
  141. (Inhibited)
  142. Open file [WIN.COM]
  143. Get clock counter
  144. Write to file [WIN.COM]
  145. (Inhibited)
  146. Set file date/time [WIN.COM]
  147. (Inhibited)
  148. Close file [WIN.COM]
  149. Set file attributes [WIN.COM]
  150. (Inhibited)
  151. DTA changed
  152. Change directory [\VIRUS]
  153. Write character in teletype mode: I
  154. Write character in teletype mode:  
  155. Write character in teletype mode: a
  156. Write character in teletype mode: m
  157. Write character in teletype mode:  
  158. Write character in teletype mode: y
  159. Write character in teletype mode: o
  160. Write character in teletype mode: u
  161. Write character in teletype mode: r
  162. Write character in teletype mode:  
  163. Write character in teletype mode: V
  164. Write character in teletype mode: I
  165. Write character in teletype mode: R
  166. Write character in teletype mode: A
  167. Write character in teletype mode: L
  168. Write character in teletype mode:  
  169. Write character in teletype mode: M
  170. Write character in teletype mode: E
  171. Write character in teletype mode: S
  172. Write character in teletype mode: S
  173. Write character in teletype mode: I
  174. Write character in teletype mode: A
  175. Write character in teletype mode: H
  176. Write character in teletype mode: 
  177.  
  178. Write character in teletype mode: 
  179.  
  180. Write character in teletype mode: F
  181. Write character in teletype mode: o
  182. Write character in teletype mode: l
  183. Write character in teletype mode: l
  184. Write character in teletype mode: o
  185. Write character in teletype mode: w
  186. Write character in teletype mode:  
  187. Write character in teletype mode: m
  188. Write character in teletype mode: e
  189. Write character in teletype mode:  
  190. Write character in teletype mode: a
  191. Write character in teletype mode: n
  192. Write character in teletype mode: d
  193. Write character in teletype mode:  
  194. 5
  195. Write character in teletype mode: b
  196. Write character in teletype mode: e
  197. Write character in teletype mode:  
  198. Write character in teletype mode: r
  199. Write character in teletype mode: e
  200. Write character in teletype mode: d
  201. Write character in teletype mode: e
  202. Write character in teletype mode: e
  203. Write character in teletype mode: m
  204. Write character in teletype mode: e
  205. Write character in teletype mode: d
  206. Write character in teletype mode: 
  207.  
  208. Write character in teletype mode: 
  209.  
  210. Write character in teletype mode: Y
  211. Write character in teletype mode: o
  212. Write character in teletype mode: u
  213. Write character in teletype mode: r
  214. Write character in teletype mode:  
  215. Write character in teletype mode: d
  216. Write character in teletype mode: a
  217. Write character in teletype mode: t
  218. Write character in teletype mode: a
  219. Write character in teletype mode:  
  220. Write character in teletype mode: d
  221. Write character in teletype mode: o
  222. Write character in teletype mode: t
  223. Write character in teletype mode: h
  224. Write character in teletype mode:  
  225. Write character in teletype mode: e
  226. Write character in teletype mode: x
  227. Write character in teletype mode: i
  228. Write character in teletype mode: s
  229. Write character in teletype mode: t
  230. Write character in teletype mode:  
  231. Write character in teletype mode: n
  232. Write character in teletype mode: o
  233. Write character in teletype mode:  
  234. Write character in teletype mode: m
  235. Write character in teletype mode: o
  236. Write character in teletype mode: r
  237. Write character in teletype mode: e
  238. Write character in teletype mode: 
  239.  
  240. Write character in teletype mode: 
  241.  
  242. Write character in teletype mode: T
  243. Write character in teletype mode: h
  244. Write character in teletype mode: e
  245. Write character in teletype mode:  
  246. Write character in teletype mode: F
  247. Write character in teletype mode: A
  248. Write character in teletype mode: T
  249. Write character in teletype mode:  
  250. Write character in teletype mode: h
  251. 6
  252. Write character in teletype mode: o
  253. Write character in teletype mode: l
  254. Write character in teletype mode: d
  255. Write character in teletype mode: s
  256. Write character in teletype mode:  
  257. Write character in teletype mode: a
  258. Write character in teletype mode: s
  259. Write character in teletype mode: h
  260. Write character in teletype mode: e
  261. Write character in teletype mode: s
  262. Write character in teletype mode:  
  263. Write character in teletype mode: o
  264. Write character in teletype mode: f
  265. Write character in teletype mode:  
  266. Write character in teletype mode: y
  267. Write character in teletype mode: o
  268. Write character in teletype mode: u
  269. Write character in teletype mode: r
  270. Write character in teletype mode:  
  271. Write character in teletype mode: d
  272. Write character in teletype mode: r
  273. Write character in teletype mode: e
  274. Write character in teletype mode: a
  275. Write character in teletype mode: m
  276. Write character in teletype mode: s
  277. Write character in teletype mode: 
  278.  
  279. Write character in teletype mode: 
  280.  
  281. Write character [I] to printer [00]
  282. (Inhibited)
  283. Write character [ ] to printer [00]
  284. (Inhibited)
  285. Write character [a] to printer [00]
  286. (Inhibited)
  287. Write character [m] to printer [00]
  288. (Inhibited)
  289. Write character [ ] to printer [00]
  290. (Inhibited)
  291. Write character [y] to printer [00]
  292. (Inhibited)
  293. Write character [o] to printer [00]
  294. (Inhibited)
  295. Write character [u] to printer [00]
  296. (Inhibited)
  297. Write character [r] to printer [00]
  298. (Inhibited)
  299. Write character [ ] to printer [00]
  300. (Inhibited)
  301. Write character [V] to printer [00]
  302. (Inhibited)
  303. Write character [I] to printer [00]
  304. (Inhibited)
  305. Write character [R] to printer [00]
  306. (Inhibited)
  307. 7
  308. Write character [A] to printer [00]
  309. (Inhibited)
  310. Write character [L] to printer [00]
  311. (Inhibited)
  312. Write character [ ] to printer [00]
  313. (Inhibited)
  314. Write character [M] to printer [00]
  315. (Inhibited)
  316. Write character [E] to printer [00]
  317. (Inhibited)
  318. Write character [S] to printer [00]
  319. (Inhibited)
  320. Write character [S] to printer [00]
  321. (Inhibited)
  322. Write character [I] to printer [00]
  323. (Inhibited)
  324. Write character [A] to printer [00]
  325. (Inhibited)
  326. Write character [H] to printer [00]
  327. (Inhibited)
  328. Write character [
  329. ] to printer [00]
  330. (Inhibited)
  331. Write character [
  332. ] to printer [00]
  333. (Inhibited)
  334. Write character [F] to printer [00]
  335. (Inhibited)
  336. Write character [o] to printer [00]
  337. (Inhibited)
  338. Write character [l] to printer [00]
  339. (Inhibited)
  340. Write character [l] to printer [00]
  341. (Inhibited)
  342. Write character [o] to printer [00]
  343. (Inhibited)
  344. Write character [w] to printer [00]
  345. (Inhibited)
  346. Write character [ ] to printer [00]
  347. (Inhibited)
  348. Write character [m] to printer [00]
  349. (Inhibited)
  350. Write character [e] to printer [00]
  351. (Inhibited)
  352. Write character [ ] to printer [00]
  353. (Inhibited)
  354. Write character [a] to printer [00]
  355. (Inhibited)
  356. Write character [n] to printer [00]
  357. (Inhibited)
  358. Write character [d] to printer [00]
  359. (Inhibited)
  360. Write character [ ] to printer [00]
  361. (Inhibited)
  362. Write character [b] to printer [00]
  363. 8
  364. (Inhibited)
  365. Write character [e] to printer [00]
  366. (Inhibited)
  367. Write character [ ] to printer [00]
  368. (Inhibited)
  369. Write character [r] to printer [00]
  370. (Inhibited)
  371. Write character [e] to printer [00]
  372. (Inhibited)
  373. Write character [d] to printer [00]
  374. (Inhibited)
  375. Write character [e] to printer [00]
  376. (Inhibited)
  377. Write character [e] to printer [00]
  378. (Inhibited)
  379. Write character [m] to printer [00]
  380. (Inhibited)
  381. Write character [e] to printer [00]
  382. (Inhibited)
  383. Write character [d] to printer [00]
  384. (Inhibited)
  385. Write character [
  386. ] to printer [00]
  387. (Inhibited)
  388. Write character [
  389. ] to printer [00]
  390. (Inhibited)
  391. Write character [Y] to printer [00]
  392. (Inhibited)
  393. Write character [o] to printer [00]
  394. (Inhibited)
  395. Write character [u] to printer [00]
  396. (Inhibited)
  397. Write character [r] to printer [00]
  398. (Inhibited)
  399. Write character [ ] to printer [00]
  400. (Inhibited)
  401. Write character [d] to printer [00]
  402. (Inhibited)
  403. Write character [a] to printer [00]
  404. (Inhibited)
  405. Write character [t] to printer [00]
  406. (Inhibited)
  407. Write character [a] to printer [00]
  408. (Inhibited)
  409. Write character [ ] to printer [00]
  410. (Inhibited)
  411. Write character [d] to printer [00]
  412. (Inhibited)
  413. Write character [o] to printer [00]
  414. (Inhibited)
  415. Write character [t] to printer [00]
  416. (Inhibited)
  417. Write character [h] to printer [00]
  418. (Inhibited)
  419. 9
  420. Write character [ ] to printer [00]
  421. (Inhibited)
  422. Write character [e] to printer [00]
  423. (Inhibited)
  424. Write character [x] to printer [00]
  425. (Inhibited)
  426. Write character [i] to printer [00]
  427. (Inhibited)
  428. Write character [s] to printer [00]
  429. (Inhibited)
  430. Write character [t] to printer [00]
  431. (Inhibited)
  432. Write character [ ] to printer [00]
  433. (Inhibited)
  434. Write character [n] to printer [00]
  435. (Inhibited)
  436. Write character [o] to printer [00]
  437. (Inhibited)
  438. Write character [ ] to printer [00]
  439. (Inhibited)
  440. Write character [m] to printer [00]
  441. (Inhibited)
  442. Write character [o] to printer [00]
  443. (Inhibited)
  444. Write character [r] to printer [00]
  445. (Inhibited)
  446. Write character [e] to printer [00]
  447. (Inhibited)
  448. Write character [
  449. ] to printer [00]
  450. (Inhibited)
  451. Write character [
  452. ] to printer [00]
  453. (Inhibited)
  454. Write character [T] to printer [00]
  455. (Inhibited)
  456. Write character [h] to printer [00]
  457. (Inhibited)
  458. Write character [e] to printer [00]
  459. (Inhibited)
  460. Write character [ ] to printer [00]
  461. (Inhibited)
  462. Write character [F] to printer [00]
  463. (Inhibited)
  464. Write character [A] to printer [00]
  465. (Inhibited)
  466. Write character [T] to printer [00]
  467. (Inhibited)
  468. Write character [ ] to printer [00]
  469. (Inhibited)
  470. Write character [h] to printer [00]
  471. (Inhibited)
  472. Write character [o] to printer [00]
  473. (Inhibited)
  474. Write character [l] to printer [00]
  475. 10
  476. (Inhibited)
  477. Write character [d] to printer [00]
  478. (Inhibited)
  479. Write character [s] to printer [00]
  480. (Inhibited)
  481. Write character [ ] to printer [00]
  482. (Inhibited)
  483. Write character [a] to printer [00]
  484. (Inhibited)
  485. Write character [s] to printer [00]
  486. (Inhibited)
  487. Write character [h] to printer [00]
  488. (Inhibited)
  489. Write character [e] to printer [00]
  490. (Inhibited)
  491. Write character [s] to printer [00]
  492. (Inhibited)
  493. Write character [ ] to printer [00]
  494. (Inhibited)
  495. Write character [o] to printer [00]
  496. (Inhibited)
  497. Write character [f] to printer [00]
  498. (Inhibited)
  499. Write character [ ] to printer [00]
  500. (Inhibited)
  501. Write character [y] to printer [00]
  502. (Inhibited)
  503. Write character [o] to printer [00]
  504. (Inhibited)
  505. Write character [u] to printer [00]
  506. (Inhibited)
  507. Write character [r] to printer [00]
  508. (Inhibited)
  509. Write character [ ] to printer [00]
  510. (Inhibited)
  511. Write character [d] to printer [00]
  512. (Inhibited)
  513. Write character [r] to printer [00]
  514. (Inhibited)
  515. Write character [e] to printer [00]
  516. (Inhibited)
  517. Write character [a] to printer [00]
  518. (Inhibited)
  519. Write character [m] to printer [00]
  520. (Inhibited)
  521. Write character [s] to printer [00]
  522. (Inhibited)
  523. Write character [
  524. ] to printer [00]
  525. (Inhibited)
  526. Write character [
  527. ] to printer [00]
  528. (Inhibited)
  529. Terminate!
  530. 11
  531.                    Example: Encrypted .COM program (Edited)
  532.  
  533.  
  534. 0100 jmp 0104
  535. 0104 mov [0101],2C4A
  536. 010A std
  537. 010B mov si,423E
  538. 010E mov di,5572
  539. 0111 mov ax,0000
  540. 0114 mov cx,[si]
  541. 0116 cmp cx,ax
  542. 0118 je 0100
  543. 011A dec si
  544. 011B dec si
  545. 011C rep movsw
  546. 011E mov cx,[si]
  547. 0120 dec si
  548. 0121 dec si
  549. 0122 rep stosw
  550. 0124 jmp short 0114
  551. 0114 mov cx,[si]
  552. 0116 cmp cx,ax
  553. 0118 je 0100
  554. 011A dec si
  555. 011B dec si
  556. 011C rep movsw
  557. 011E mov cx,[si]
  558. 0120 dec si
  559. 0121 dec si
  560. 0122 rep stosw
  561. 0124 jmp short 0114
  562. 0114 mov cx,[si]
  563. 0116 cmp cx,ax
  564. 0118 je 0100
  565. 0100 jmp 2D4D
  566. 2D4D call 0A99
  567. 0A99 call 0BDE
  568. 0BDE mov ah,30
  569. 0BE0 call 0910
  570. 0910 cmp ah,3D
  571. 0913 je 092A
  572. 0915 cmp ah,3C
  573. 0918 je 092A
  574. 091A cmp ah,3E
  575. 091D je 0952
  576. 091F cmp ah,80
  577. 0922 je 096C
  578. 0924 push bp
  579. 0925 cld
  580. 0926 int 21                     DOS version read
  581. 0928 pop bp
  582. 0929 ret
  583.  
  584. 12
  585.               Example: Microsoft C 5.1 Small memory model program
  586.  
  587.  
  588. DOS version read
  589. Get segment address of program
  590. Get segment address of program
  591. Modify memory allocation
  592. DOS version read
  593. Read interrupt vector 00
  594. Set vector 00 to 51EE:00B8
  595. Get segment address of environment block
  596. Get device information
  597. [Stdprn]
  598. Get device information
  599. [Stdaux]
  600. Get device information
  601. [Stderr]
  602. Get device information
  603. [Stdout]
  604. Get device information
  605. [Stdin]
  606. Get segment address of environment block
  607. Get segment address of environment block
  608. Get bytes from command line
  609. Get bytes from command line
  610. Write to [Stdout]
  611.  
  612.  
  613. Funcion main, of program test running....
  614. Set vector 00 to 120A:19A9
  615. Terminate!
  616.  
  617.