Jump to content
Sign in to follow this  
Skrip

Program Crasher

Recommended Posts

Skrip

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]

Share this post


Link to post
Share on other sites
Andreik

Where I can find NomadMemory.au3 ?


When the words fail... music speaks

Share this post


Link to post
Share on other sites
Skrip

It is attached.


[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]

Share this post


Link to post
Share on other sites
Andreik

And I should wait until 999999?


When the words fail... music speaks

Share this post


Link to post
Share on other sites
Skrip

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]

Share this post


Link to post
Share on other sites
sightez

Does this work on vista ?? i tried making a simple program with delphi, a button and a edit box it does not crash??

EDIT: TYPO

Edited by sightez

Share this post


Link to post
Share on other sites
Skrip

I do not know. Tested on XP MCE SP3


[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]

Share this post


Link to post
Share on other sites
Michel Claveau

Hi!

Sorry: don't run on my computer (Vista ultimate).

I tried twice. The target run OK, at begin. Then, after the counter become at 200000, the target is closed suddenly, BUT PROGRAM-CRASH CONTINUES TO RUN.

@+

Share this post


Link to post
Share on other sites
Skrip

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]

Share this post


Link to post
Share on other sites
sightez

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

Share this post


Link to post
Share on other sites
Skrip

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]

Share this post


Link to post
Share on other sites
Confuzzled

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

Share this post


Link to post
Share on other sites
Skrip

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]

Share this post


Link to post
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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.