SRL Archive - SRL Archives

InPin!


Naum

2009-06-06 18:04:03

I was looking for stuff to do when..
InPin would only click on the numbers, this didn't look human like, so I did some stuff and made it find the boundaries of the box and click inside it (randomly):

function InPin(Pin: string): Boolean;
var
TMouseSpeed, iNumber, Tx, Ty, Counter: Integer;
TPA : Array [0..2] Of TPointArray;
ATPA : T2DPointArray;
Sq : TBox;
begin
if (CountColor(0, MSX1, MSY1, MSX2, MSY2) > 113000) and (Length(Pin) = 4) then
begin
MouseBox(26, 138, 489, 157, 1);
Counter := GetTimeRunning + 45000;
while (not BankScreen) and (GetTimeRunning < Counter) do
Wait(50);
Wait(RandomRange(100, 150));
end;
if (not(PinScreen)) then Exit;
if (GetNumbers(Pin) <> Pin) then
begin
srl_Warn('InPin', '''' + Pin + ''' is not a valid Pin', warn_AllVersions);
Exit;
end;
if (Length(Pin) <> 4) then
begin
srl_Warn('InPin', 'Pin must be 4 digits long', warn_AllVersions);
Exit;
end;
TMouseSpeed := MouseSpeed;
MouseSpeed := 25;
Wait(1000 + Random(1000));
repeat
if (PinScreen) then
begin
for iNumber := 1 to Length(Pin) do
begin
if (Random(4) = 0) then
begin
repeat
Tx := Random(765);
Ty := Random(504);
until (not(IntInBox(Tx, Ty, IntToBox(30, 100, 383, 319))));
MMouse(Tx, Ty, 0, 0);
Wait(500 + Random(500));
end;
if (not(FindText(Tx, Ty, Pin[iNumber], UpChars, 30, 100, 383, 319))) then
GetMousePos(Tx, Ty);

if (FindText(Tx, Ty, Pin[iNumber], UpChars, 30, 100, 383, 319)) then
Begin
FindColorsTolerance(TPA[0], 8356779, 30, 100, 383, 319, 0);
FindColorsTolerance(TPA[1], 1341, 30, 100, 383, 319, 0)
TPA[2] := CombineTPA(TPA[0], TPA[1]);
ATPA := TPAToATPAEx(TPA[2], 65, 65);
SortATPAFromFirstPoint(ATPA, Point(Tx, Ty));
Sq := GetTPABounds(ATPA[0]);

Mouse(RandomRange(Sq.x1, Sq.x2), RandomRange(Sq.y1, Sq.y2), 0, 0, True);
Wait(1000 + Random(500));
End;
end;
end;
Wait(1000 + Random(500));
if (BankScreen) then
begin
Result := True;
MouseSpeed := TMouseSpeed;
Exit;
end;
ClickContinue(True, True);
while (not(FindColor(Tx, Ty, 0, 7, 460, 69, 474))) do
begin
if (not(LoggedIn)) then
begin
MouseSpeed := TMouseSpeed;
Exit;
end;
Wait(1000 + Random(500));
end;
Inc(Counter);
until(Counter > 2);
end;

lightcam999

2009-06-06 18:41:58

so what does this do crack bank pins?

Dark Arcana

2009-06-06 18:44:12

From: lightcam999
so what does this do crack bank pins?


It enters bank pin humanly.

Tniffoc

2009-06-06 18:44:57

From: lightcam999
so what does this do crack bank pins?


No. This enters the pin of a player. This is a botting thing, not a cracking thing. If you want to hack, take a gander by alt:2600 and get your head flamed off.

From: Hobbit

Cheers,

Tniffoc

lightcam999

2009-06-06 18:45:46

From: Dark Arcana
It enters bank pin humanly.


so instead of u hitting the pin that you know in yourself it does it for u?

Dynamite

2009-06-06 18:47:09

From: lightcam999
so instead of u hitting the pin that you know in yourself it does it for u?


haha, you put it into a script, this is an upgrade of the old one.

T~M

Gu3st...

2009-06-06 18:48:34

From: lightcam999
so instead of u hitting the pin that you know in yourself it does it for u?

He updated the old function to use MouseBox instead of clicking the letters. Learn to read godamit

Nava2

2009-06-06 18:50:28

The boxes are static?

Naum

2009-06-06 20:23:33

No, what I did was to make it click in the Box by using TPA's. The one before clicked on the number this one clicks in the box. The boxes are static but the numbers inside then change - which answers your question Nava :)

Nava2

2009-06-06 20:42:41

From: NaumanAkhlaQ
No, what I did was to make it click in the Box by using TPA's. The one before clicked on the number this one clicks in the box. The boxes are static but the numbers inside then change - which answers your question Nava :)


Okay, could you run this on the pin screen:
program new;
{.include SRL/SRL.scar}

var
atpa: T2DPointArray;
b: Tbox;
i: integer;
begin
setupsrl;
activateclient;

setlength(atpa, 2);
FindColorsTolerance(aTPA[0], 8356779, 30, 100, 383, 319, 0);
FindColorsTolerance(aTPA[1], 1341, 30, 100, 383, 319, 0)
ATPA := TPAToATPAEx(mergeaTPA(atpA), 65, 65);
writeln('BoxArr := [');
for i := 0 to high(atpa) do
begin
b := GetTPABounds(atpa[i]);
with b do
Writeln('IntToBox(' + IntToStr(x1) + ', ' + IntToStr(y1) + ', ' + IntToStr(x2) + ', ' + InttoStr(y2) + '), ');
end;
Writeln('];');
end.

Then write the details here? I don't have an account. :(

Naum

2009-06-06 20:45:06

BoxArr := [
IntToBox(37, 107, 100, 170),
IntToBox(131, 107, 194, 170),
IntToBox(225, 107, 288, 170),
IntToBox(309, 107, 372, 170),
IntToBox(37, 179, 100, 242),
IntToBox(131, 179, 194, 242),
IntToBox(225, 179, 288, 242),
IntToBox(37, 251, 100, 314),
IntToBox(131, 251, 194, 314),
IntToBox(225, 251, 288, 314),
];


There you go :)

Naike

2009-06-06 22:54:48

NaumanAkhlaQ: Nice find, now stop so I got something to do. ;)

Nava2

2009-06-06 22:57:29

function InPin(Pin: string): Boolean;
var
TMouseSpeed, iNumber, Tx, Ty, Counter, i: Integer;
Boxes: array of TBox;
begin
Result := False;
if (CountColor(0, MSX1, MSY1, MSX2, MSY2) > 113000) and (Length(Pin) = 4) then
begin
MouseBox(26, 138, 489, 157, 1);
Counter := GetTimeRunning + 45000;
while (not BankScreen) and (GetTimeRunning < Counter) do
Wait(50);
Wait(RandomRange(100, 150));
end;
if (not(PinScreen)) then Exit;
if (GetNumbers(Pin) <> Pin) then
begin
srl_Warn('InPin', '''' + Pin + ''' is not a valid Pin', warn_AllVersions);
Exit;
end;
if (Length(Pin) <> 4) then
begin
srl_Warn('InPin', 'Pin must be 4 digits long', warn_AllVersions);
Exit;
end;
Boxes := [IntToBox(37, 107, 100, 170), IntToBox(131, 107, 194, 170), IntToBox(225, 107, 288, 170), IntToBox(309, 107, 372, 170),
IntToBox(37, 179, 100, 242), IntToBox(131, 179, 194, 242), IntToBox(225, 179, 288, 242), IntToBox(37, 251, 100, 314),
IntToBox(131, 251, 194, 314), IntToBox(225, 251, 288, 314)];
TMouseSpeed := MouseSpeed;
MouseSpeed := 25;
Counter := 0;
repeat
if (PinScreen) then
begin
for iNumber := 1 to Length(Pin) do
begin
if (Random(4) = 0) then
begin
repeat
Tx := Random(765);
Ty := Random(504);
until (not(IntInBox(Tx, Ty, IntToBox(30, 100, 383, 319))));
MMouse(Tx, Ty, 0, 0);
Wait(500 + Random(500));
end;

if (FindText(Tx, Ty, Pin[iNumber], UpChars, 30, 100, 383, 319)) then
Begin
for i := 0 to 9 do
if IntInBox(Tx, Ty, Boxes[i]) then
with Boxes[i] do
begin
MouseBox(x1, y1, x2, y2, 1);
Break;
end;
Wait(1000 + Random(500));
End;
end;
end;
Wait(1000 + Random(500));
if (BankScreen) then
begin
Result := True;
MouseSpeed := TMouseSpeed;
Exit;
end;
ClickContinue(True, True);
while (not(FindColor(Tx, Ty, 0, 7, 460, 69, 474))) do
begin
if (not(LoggedIn)) then
begin
MouseSpeed := TMouseSpeed;
Exit;
end;
Wait(1000 + Random(500));
end;
Inc(Counter);
until(Counter > 2);
end;

Could someone test this?

ian.

2009-06-06 23:08:28

Tested yours N2, works fine. Testing NaumanAkhlaQ's now.

Nauman, your's seemed to input the wrong numbers.. I don't see why but it did 3 times. Nava2's did it correctly =X

Nava2

2009-06-06 23:14:06

From: 99_
Tested yours N2, works fine. Testing NaumanAkhlaQ's now.

Nauman, your's seemed to input the wrong numbers.. I don't see why but it did 3 times. Nava2's did it correctly =X


How is the speed?

ian.

2009-06-06 23:21:17

Relatively fast. waiting between each tries (I did it to set my pin ;] was a little slow.. but I think it'd be better if right after it clicked, it moved the mouse away ^^ That would make it look better, in my opinion. And faster? :o

Naum

2009-06-06 23:44:27

Huh? It shouldn't output the wrong numbers? Try again?
Nava - Stop Pwning me! Also wouldn't it take along time doing all the conversions? Maybe it can be used with math :)

ian.

2009-06-06 23:47:59

It put a 3 instead of a 2, and an 8 instead of a 4 because it was covering up the 4 or something like that. I tried it twice for both.. I'll try again later (Going to my mom's house ^^).

It was probably an error, but Nava's seemed to work a wee bit better! Don't worry about it though, he's amazing <3 haha

Naum

2009-06-06 23:55:20

99_ I'm not sure; but maybe your error corresponds with the thread in the Help Section??

Nava2

2009-06-07 07:51:39

function InPin(Pin: string): Boolean;
var
TMouseSpeed, iNumber, Tx, Ty, Counter, i: Integer;
Boxes: array of TBox;
OnBox: Boolean;
begin
Result := False;
if (CountColor(0, MSX1, MSY1, MSX2, MSY2) > 113000) and (Length(Pin) = 4) then
begin
MouseBox(26, 138, 489, 157, 1);
Counter := GetTimeRunning + 45000;
while (not BankScreen) and (GetTimeRunning < Counter) do
Wait(50);
Wait(RandomRange(100, 150));
end;
if (not(PinScreen)) then Exit;
if (GetNumbers(Pin) <> Pin) then
begin
srl_Warn('InPin', '''' + Pin + ''' is not a valid Pin', warn_AllVersions);
Exit;
end;
if (Length(Pin) <> 4) then
begin
srl_Warn('InPin', 'Pin must be 4 digits long', warn_AllVersions);
Exit;
end;
Boxes := [IntToBox(37, 107, 100, 170), IntToBox(131, 107, 194, 170), IntToBox(225, 107, 288, 170), IntToBox(309, 107, 372, 170),
IntToBox(37, 179, 100, 242), IntToBox(131, 179, 194, 242), IntToBox(225, 179, 288, 242), IntToBox(37, 251, 100, 314),
IntToBox(131, 251, 194, 314), IntToBox(225, 251, 288, 314)];
TMouseSpeed := MouseSpeed;
MouseSpeed := 25;
Counter := 0;
repeat
if (PinScreen) then
begin
for iNumber := 1 to Length(Pin) do
begin
if OnBox then
begin
repeat
Tx := Random(MSX2);
Ty := Random(MSY2);
for i := 0 to 9 do
if IntInBox(Tx, ty, Boxes[i]) then
begin
OnBox := True;
Break;
end;
OnBox := False;
until (not(OnBox));
MMouse(Tx, Ty, 0, 0);
Wait(500 + Random(500));
end;

if (FindText(Tx, Ty, Pin[iNumber], UpChars, 30, 100, 383, 319)) then
Begin
for i := 0 to 9 do
begin
OnBox := False;
if IntInBox(Tx, Ty, Boxes[i]) then
with Boxes[i] do
begin
OnBox := True;
MouseBox(x1, y1, x2, y2, 1);
Break;
end;
end;
Wait(1000 + Random(500));
End;
end;
end;
Wait(1000 + Random(500));
if (BankScreen) then
begin
Result := True;
MouseSpeed := TMouseSpeed;
Exit;
end;
ClickContinue(True, True);
while (not(FindColor(Tx, Ty, 0, 7, 460, 69, 474))) do
begin
if (not(LoggedIn)) then
begin
MouseSpeed := TMouseSpeed;
Exit;
end;
Wait(1000 + Random(500));
end;
Inc(Counter);
until(Counter > 2);
end;

Committed.

Naum

2009-06-07 11:57:45

Thanks :)