You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.9 KiB

3 years ago
include windows.inc
include user32.inc
include kernel32.inc
include gdi32.inc
include shell32.inc
include comctl32.inc
include comdlg32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib gdi32.lib
includelib shell32.lib
includelib comctl32.lib
includelib comdlg32.lib
includelib masm32.lib
include keystone_x86.inc
includelib keystone_x86.lib
;-----------------------------------------------------------------------------------------
; KSExample_x86 Prototypes
;-----------------------------------------------------------------------------------------
WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD
WndProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
DoEncode PROTO :DWORD
.CONST
;-----------------------------------------------------------------------------------------
; KSExample_x86 Constants
;-----------------------------------------------------------------------------------------
ICO_MAIN equ 101
; Main Dialog
;KSExample_x86.dlg
IDD_DIALOG equ 1000
IDC_TxtAsmToEncode equ 1001
IDC_TxtEncodedBytes equ 1002
IDC_LblAsmToEncode equ 1003
IDC_LblEncodedBytes equ 1004
IDC_BtnExit equ 1005
IDC_BtnEncode equ 1006
; Main Menu
IDM_MENU EQU 10000
IDM_FILE_EXIT EQU 10001
IDM_HELP_ABOUT EQU 10101
.DATA
;-----------------------------------------------------------------------------------------
; KSExample_x86 Initialized Data
;-----------------------------------------------------------------------------------------
ClassName DB 'DLGCLASS',0
AppName DB 'LTLI Dialog',0
AboutMsg DB 'www.LetTheLight.in',13,10,'Copyright <20> fearless 2014',0
szNull DB 0,0
szFmt DB '%02X ',0
szCODEBuffer DB 256 DUP (0)
szCODEInitial DB 'INC ecx; DEC edx',0
szOutput DB 256 DUP (0)
szFinalOutput DB 256 DUP (0)
ks_engine DD 0
Address DQ 0 ; Note has to be QWORD sized as a parameter for ks_asm
Encode DD 0
EncodeSize DD 0
Count DD 0
ks_err DD 0
szKSError DB 'Keystone Error',0
szKSCodeEmpty DB 'Please enter some assembly code to encode.',0
szKSOpenFail DB 'ERROR: failed on ks_open',0
szKSAsmFail DB 'ERROR: ks_asm failed',0
.DATA?
;-----------------------------------------------------------------------------------------
; KSExample_x86 Uninitialized Data
;-----------------------------------------------------------------------------------------
icc INITCOMMONCONTROLSEX <>
hInstance DD ?
CommandLine DD ?
hWnd DD ?
hIcoMain DD ?
hWhiteBrush DD ?
hTxtAsmToEncode DD ?
hTxtEncodedBytes DD ?