Jump to content

Program Crasher


Skrip
 Share

Recommended Posts

This is designed to crash other programs. Have fun.

Selecting the checkbox adds checking, but slows it down ALOT.

Requires NomadMemory

#include <GUIConstants.au3>
#include <NomadMemory.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Program Crasher", 306, 114, -1, -1)
$Label1 = GUICtrlCreateLabel("Process:", 88, 10, 45, 17)
$Input1 = GUICtrlCreateInput("blank.exe", 136, 8, 121, 21)
$Button1 = GUICtrlCreateButton("Begin", 15, 32, 120, 25, 0)
$Button2 = GUICtrlCreateButton("Cancel", 180, 32, 120, 25, 0)
ControlDisable($Form1, "", $Button2)
$Progress1 = GUICtrlCreateProgress(8, 64, 289, 17)
$Label2 = GUICtrlCreateLabel("Status: Waiting", 8, 90, 135, 17)
$check = GUICtrlCreateCheckbox("Enable Process/Cancel Check", 140, 90)
GUISetState(@SW_SHOW)
#EndRegion ### START Koda GUI section ### Form=

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            _go()
    EndSwitch
WEnd



Func _go()
    $process = GUICtrlRead($Input1)
    If GUICtrlRead($check) = $GUI_CHECKED Then
        If Not ProcessExists($process) Then
            _status("Process not found.")
        Else
            ControlDisable($Form1, "", $Button1)
            ControlEnable($Form1, "", $Button2)
            $memo = 0
            $hProc = _MemoryOpen(ProcessExists($process))
            Do
                $nMsg = GUIGetMsg()
                If $nMsg = $Button2 Then
                    ControlEnable($Form1, "", $Button1)
                    ControlDisable($Form1, "", $Button2)
                    _status("Waiting")
                    $memo = 999999
                EndIf
                If Not ProcessExists($process) Then
                    $memo = 999999
                EndIf
                $memo = $memo + 1
                _MemoryWrite("0x" & $memo, $hProc, "0x000000", "dword")
                $progress = $memo / 10000
                GUICtrlSetData($Progress1, $progress)
                _status($memo & " / 999999")
            Until $memo >= 999999
            _status("Completed.")
            _MemoryClose($hProc)
        EndIf
    Else
        If Not ProcessExists($process) Then
            _status("Process not found.")
        Else
            ControlDisable($Form1, "", $Button1)
            $memo = 0
            $hProc = _MemoryOpen(ProcessExists($process))
            Do
                $memo = $memo + 1
                _MemoryWrite("0x" & $memo, $hProc, "0x000000", "dword")
                $progress = $memo / 10000
                GUICtrlSetData($Progress1, $progress)
                _status($memo & " / 999999")
            Until $memo >= 999999
            _status("Completed.")
            _MemoryClose($hProc)
        EndIf
    EndIf
    ControlEnable($Form1, "", $Button1)
    ControlDisable($Form1, "", $Button2)
EndFunc;==>_go

Func _status($msg)
    GUICtrlSetData($Label2, "Status: " & $msg)
EndFunc;==>_status

Yes..I know that this uses incorrect hex, but it is fine. It seems to work every time.

Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

And I should wait until 999999?

Wait until it (your target) crashes, or hits the end. I have never had to wait the full 999999.. Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

Yes. Unless you tick the check box it will continue. The reason I don't automatically have that set is because it slows the program down ALOT.

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

Yes. Unless you tick the check box it will continue. The reason I don't automatically have that set is because it slows the program down ALOT.

You are slowing it down by having it to update to bar and the number of blocks!!!!!

Use AdlibEnable to call a function every 3 second or so, now you can have it stop when the process crash and update the information without slowing it down.

(This is also the same way I made my OpenIndex to do its much faster from 1.35minute to 30second ^ ^)

Also it does crash some program

It does not clash ccleaner ?? my simple program?? kaspersky antivirus ?? other crash even windows it self ^ ^

Edited by sightez
Link to comment
Share on other sites

You are slowing it down by having it to update to bar and the number of blocks!!!!!

Use AdlibEnable to call a function every 3 second or so, now you can have it stop when the process crash and update the information without slowing it down.

(This is also the same way I made my OpenIndex to do its much faster from 1.35minute to 30second ^ ^)

Also it does crash some program

It does not clash ccleaner ?? my simple program?? kaspersky antivirus ?? other crash even windows it self ^ ^

Thanks for the input, I might look into it if I ever work on this again.

And it has worked on every program I tried. I guess it might not crash every one. It crashes by doing some memory rape.

EDIT: HA! I was able to crash my G15 keyboard LCD!

Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

You sure this will allow you to write to OS protected code memory space?

I have not tested.

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...