dberube4

Vfx

Sep 9th, 2012
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.04 KB | None | 0 0
  1. from PyQt4.QtGui import *
  2. from PyQt4.QtCore import *
  3. from sys import exit,argv
  4. import os
  5.  
  6. style = '''
  7. app.setStyle(QString(u'plastique'))
  8. self.palette = QPalette()
  9. self.palette.setColor(QPalette.Active,QPalette.Window,QColor(QString(u'#141414')))
  10. self.palette.setColor(QPalette.Inactive,QPalette.Window,QColor(QString(u'#141414')))
  11. self.palette.setColor(QPalette.Disabled,QPalette.Window,QColor(QString(u'#505050')))
  12. self.palette.setColor(QPalette.Active,QPalette.WindowText,QColor(QString(u'#3bff00')))
  13. self.palette.setColor(QPalette.Inactive,QPalette.WindowText,QColor(QString(u'#3bff00')))
  14. self.palette.setColor(QPalette.Disabled,QPalette.WindowText,QColor(QString(u'#ffffff')))
  15. self.palette.setColor(QPalette.Active,QPalette.Base,QColor(QString(u'#050505')))
  16. self.palette.setColor(QPalette.Inactive,QPalette.Base,QColor(QString(u'#050505')))
  17. self.palette.setColor(QPalette.Disabled,QPalette.Base,QColor(QString(u'#ffffff')))
  18. self.palette.setColor(QPalette.Active,QPalette.AlternateBase,QColor(QString(u'#84ff62')))
  19. self.palette.setColor(QPalette.Inactive,QPalette.AlternateBase,QColor(QString(u'#84ff62')))
  20. self.palette.setColor(QPalette.Disabled,QPalette.AlternateBase,QColor(QString(u'#c3c3c3')))
  21. self.palette.setColor(QPalette.Active,QPalette.ToolTipText,QColor(QString(u'#000000')))
  22. self.palette.setColor(QPalette.Inactive,QPalette.ToolTipText,QColor(QString(u'#000000')))
  23. self.palette.setColor(QPalette.Disabled,QPalette.ToolTipText,QColor(QString(u'#000000')))
  24. self.palette.setColor(QPalette.Active,QPalette.Text,QColor(QString(u'#2eff00')))
  25. self.palette.setColor(QPalette.Inactive,QPalette.Text,QColor(QString(u'#2eff00')))
  26. self.palette.setColor(QPalette.Disabled,QPalette.Text,QColor(QString(u'#000000')))
  27. self.palette.setColor(QPalette.Active,QPalette.Button,QColor(QString(u'#202020')))
  28. self.palette.setColor(QPalette.Inactive,QPalette.Button,QColor(QString(u'#202020')))
  29. self.palette.setColor(QPalette.Disabled,QPalette.Button,QColor(QString(u'#444444')))
  30. self.palette.setColor(QPalette.Active,QPalette.ButtonText,QColor(QString(u'#3bff00')))
  31. self.palette.setColor(QPalette.Inactive,QPalette.ButtonText,QColor(QString(u'#3bff00')))
  32. self.palette.setColor(QPalette.Disabled,QPalette.ButtonText,QColor(QString(u'#444444')))
  33. self.palette.setColor(QPalette.Active,QPalette.BrightText,QColor(QString(u'#000000')))
  34. self.palette.setColor(QPalette.Inactive,QPalette.BrightText,QColor(QString(u'#000000')))
  35. self.palette.setColor(QPalette.Disabled,QPalette.BrightText,QColor(QString(u'#ffffff')))
  36. self.palette.setColor(QPalette.Active,QPalette.Light,QColor(QString(u'#ffffff')))
  37. self.palette.setColor(QPalette.Inactive,QPalette.Light,QColor(QString(u'#ffffff')))
  38. self.palette.setColor(QPalette.Disabled,QPalette.Light,QColor(QString(u'#ffffff')))
  39. self.palette.setColor(QPalette.Active,QPalette.Midlight,QColor(QString(u'#ffffff')))
  40. self.palette.setColor(QPalette.Inactive,QPalette.Midlight,QColor(QString(u'#ffffff')))
  41. self.palette.setColor(QPalette.Disabled,QPalette.Midlight,QColor(QString(u'#ffffff')))
  42. self.palette.setColor(QPalette.Active,QPalette.Dark,QColor(QString(u'#ffffff')))
  43. self.palette.setColor(QPalette.Inactive,QPalette.Dark,QColor(QString(u'#ffffff')))
  44. self.palette.setColor(QPalette.Disabled,QPalette.Dark,QColor(QString(u'#7f7f7f')))
  45. self.palette.setColor(QPalette.Active,QPalette.Mid,QColor(QString(u'#282828')))
  46. self.palette.setColor(QPalette.Inactive,QPalette.Mid,QColor(QString(u'#282828')))
  47. self.palette.setColor(QPalette.Disabled,QPalette.Mid,QColor(QString(u'#aaaaaa')))
  48. self.palette.setColor(QPalette.Active,QPalette.Shadow,QColor(QString(u'#015200')))
  49. self.palette.setColor(QPalette.Inactive,QPalette.Shadow,QColor(QString(u'#015200')))
  50. self.palette.setColor(QPalette.Disabled,QPalette.Shadow,QColor(QString(u'#929292')))
  51. self.palette.setColor(QPalette.Active,QPalette.Highlight,QColor(QString(u'#44ff00')))
  52. self.palette.setColor(QPalette.Inactive,QPalette.Highlight,QColor(QString(u'#44ff00')))
  53. self.palette.setColor(QPalette.Disabled,QPalette.Highlight,QColor(QString(u'#acff75')))
  54. self.palette.setColor(QPalette.Active,QPalette.HighlightedText,QColor(QString(u'#000000')))
  55. self.palette.setColor(QPalette.Inactive,QPalette.HighlightedText,QColor(QString(u'#000000')))
  56. self.palette.setColor(QPalette.Disabled,QPalette.HighlightedText,QColor(QString(u'#ffffff')))
  57. self.palette.setColor(QPalette.Active,QPalette.Link,QColor(QString(u'#3bff00')))
  58. self.palette.setColor(QPalette.Inactive,QPalette.Link,QColor(QString(u'#3bff00')))
  59. self.palette.setColor(QPalette.Disabled,QPalette.Link,QColor(QString(u'#0000ff')))
  60. self.palette.setColor(QPalette.Active,QPalette.LinkVisited,QColor(QString(u'#3bff00')))
  61. self.palette.setColor(QPalette.Inactive,QPalette.LinkVisited,QColor(QString(u'#3bff00')))
  62. self.palette.setColor(QPalette.Disabled,QPalette.LinkVisited,QColor(QString(u'#ff00ff')))
  63. app.setPalette(self.palette)'''
  64.  
  65. class VFXWindow1(QMainWindow):
  66.    
  67.     def __init__(self,parent):
  68.         super(VFXWindow1,self).__init__()
  69.         self.parent = parent
  70.         self.setWindowFlags(Qt.CustomizeWindowHint|Qt.WindowStaysOnTopHint|Qt.FramelessWindowHint|Qt.BypassGraphicsProxyWidget)
  71.         self.menuBar = self.vfxMenuBar()
  72.         self.dragTimer = QTimer();self.dragTimer.setInterval(1);self.dragTimer.timeout.connect(self.drag);
  73.    
  74.     def vfxMenuBar(self):
  75.         self.saveAction = QAction('Save',None);self.saveAction.triggered.connect(self.actions)
  76.         self.loadAction = QAction('Load',None);self.loadAction.triggered.connect(self.actions)
  77.         self.menu = QMenu();self.menu.addAction(self.saveAction);self.menu.addAction(self.loadAction)
  78.        
  79.         self.options = QPushButton('Save/Load',self);self.options.setFlat(True);self.options.setMenu(self.menu)
  80.         self.quitBtn = QPushButton('X',self);self.quitBtn.setGeometry(210,5,20,20);self.quitBtn.setFlat(True);self.quitBtn.clicked.connect(self.quit)
  81.        
  82.         line = QFrame(self);line.setLineWidth(2);line.setMidLineWidth(2);line.setGeometry(0,30,self.width(),1)
  83.         line.setFrameShape(QFrame.HLine)
  84.    
  85.     def actions(self):
  86.         sender = self.sender()
  87.         if sender == self.saveAction:
  88.             f = open('LiteSave.dat','wb')
  89.             data = {}
  90.             dllList = []
  91.            
  92.             for i in range(self.dllBox.count()):
  93.                 item = self.dllBox.item(i)
  94.                 dllList.append(item.path)
  95.            
  96.             data['process'] = self.procName.text()
  97.             data['injection'] = self.injectionType.currentIndex()
  98.             data['dlls'] = dllList
  99.            
  100.             pickle.dump(data,f)
  101.             f.close()
  102.             app.beep()
  103.            
  104.         if sender == self.loadAction:
  105.             try:
  106.                 f = open('LiteSave.dat','rb')
  107.                 data = pickle.load(f)
  108.             except:
  109.                 app.beep()
  110.                 QMessageBox.warning(self,'Error','No saved configuration')
  111.                 return 0
  112.            
  113.             self.procName.setText(data['process'])
  114.             self.injectionType.setCurrentIndex(data['injection'])
  115.            
  116.             for i in data['dlls']:
  117.                 item = QListWidgetItem(os.path.basename(str(i)));item.path = i
  118.                 self.dllBox.addItem(item)
  119.             app.beep()
  120.            
  121.    
  122.     def quit(self):
  123.         self.parent.close()
  124.         self.close()
  125.    
  126.     def mousePressEvent(self,event):
  127.        
  128.         self.localX = event.x()
  129.         self.localY = event.y()
  130.         self.dragTimer.start()
  131.        
  132.     def mouseReleaseEvent(self,event):
  133.         self.dragTimer.stop()
  134.    
  135.     def drag(self):
  136.             sender = self.sender()
  137.            
  138.             if sender == self.dragTimer:
  139.                 mouse = QCursor()
  140.                 self.move(mouse.pos().x()-self.localX,mouse.pos().y()-self.localY)    
  141.  
  142. class program(QMainWindow):
  143.    
  144.     def __init__(self):
  145.         super(program,self).__init__()
  146.         app.setFont(QFont('Arial',12))
  147.         exec(style)
  148.         self.initLiteInject()
  149.    
  150.     def initLiteInject(self):
  151.        
  152.         def actions():
  153.             window = self.liteInject
  154.             sender = window.sender()            
  155.            
  156.             if sender == window.addDllBtn:
  157.                 path = QFileDialog.getOpenFileNames(self.liteInject,'Choose dll',filter = 'Dynamic-link library (*.dll)')
  158.                 for i in path:
  159.                     item = QListWidgetItem(os.path.basename(str(i)));item.path = i
  160.                     window.dllBox.addItem(item)
  161.        
  162.             if sender == window.timer:
  163.                 if window.dllBox.count() <= 0:
  164.                     window.statusLbl.setText('No Dll selected!')
  165.                     return 0
  166.                 if window.procName.text() == '':
  167.                     window.statusLbl.setText('No process selected!')
  168.                     return 0
  169.                
  170.                 window.statusLbl.setText('Waiting for {}'.format(window.procName.text()))
  171.                
  172.             if sender == window.remDllBtn:
  173.                 if window.dllBox.currentRow() == -1:
  174.                     app.beep()
  175.                     QMessageBox.warning(window,'Error','No dll selected!')
  176.                     return 0
  177.                
  178.                 window.dllBox.takeItem(window.dllBox.currentRow())
  179.  
  180.         def initWidgets(window):
  181.            
  182.            
  183.             #fileMenu = window.menuBar.addMenu('&Save/Load');fileMenu.addAction(window.saveAction);fileMenu.addAction(window.loadAction)
  184.            
  185.             title = QLabel('Lite Injector',window);title.setFont(QFont('Arial',30));title.setGeometry(17,40,220,50)
  186.             label1 = QLabel('Process:',window);label1.setGeometry(10,100,71,31)
  187.             label2 = QLabel('Injection:',window);label2.setGeometry(10,150,91,31)
  188.             label3 = QLabel('Dll List:',window);label3.setGeometry(10,200,71,21)
  189.             window.procName = QLineEdit('Ava.exe',window);window.procName.setGeometry(100,100,131,31)
  190.             window.injectionType = QComboBox(window);window.injectionType.setGeometry(100,150,131,31);window.injectionType.addItems(['Soft Injection','Hard Injection'])
  191.             window.addDllBtn = QPushButton('Add',window);window.addDllBtn.setGeometry(80,198,70,24);window.addDllBtn.clicked.connect(actions)
  192.             window.remDllBtn = QPushButton('Remove',window);window.remDllBtn.setGeometry(160,198,70,24);window.remDllBtn.clicked.connect(actions)
  193.             window.dllBox = QListWidget(window);window.dllBox.setGeometry(10,231,221,131)
  194.             window.statusLbl = QLabel('No Dll selected!',window);window.statusLbl.setGeometry(10,375,221,41);window.statusLbl.setAlignment(Qt.AlignHCenter)
  195.             window.timer = QTimer();window.timer.setInterval(800);window.timer.timeout.connect(actions);window.timer.start()
  196.          
  197.         self.liteInject = VFXWindow1(self)
  198.         self.liteInject.setWindowTitle('PB - Lite Injector')
  199.         self.liteInject.setFixedSize(240,400)
  200.         initWidgets(self.liteInject)
  201.         self.liteInject.show()
  202.        
  203. if __name__ == '__main__':
  204.     global app
  205.     app = QApplication(argv);app.setStyle('plastique')
  206.     p = program()
  207.     exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment