Author Topic: in depth bypass tutorial  (Read 4848 times)

0 Members and 1 Guest are viewing this topic.

Gerk

  • Klass Klown
  • ***
  • Posts: 377
    • View Profile
in depth bypass tutorial
« on: May 28, 2012, 03:23:29 pm »
In this in depth tutorial I’ll tell you how to load your scripts in MP. This should work for arma2 and arma2OA

For this you’ll need hex editor that can be attached to a process or any version of cheat engine. It doesn’t matter whether it’s detected or not since we are going to make changes in arma2 process before joining MP servers. 

1.   Create a folder, name it MyScripts and put it in arma2 directory (in the same place where arma2.eze is)

2.   Inside folder MyScripts create a file and call it go.sqf (This will be our init file)

3.   Place code in it and save.

Code: [Select]
keyhandler =
{
private["_handled","_ctrl", "_dikCode", "_shift", "_ctrlKey", "_alt"];
_ctrl = _this select 0;
_dikCode = _this select 1;
_shift = _this select 2;
_ctrlKey = _this select 3;
_alt = _this select 4;
_handled = false;
//hint format ["%1",_this];
if (!_shift && _ctrlKey && !_alt && (_dikCode == 219)) then {
_ctrl = nil;
_handled = true;

nil = execVM "\MyScripts\execMe.sqf";

};
    _handled;
};
Missionstrr =(findDisplay 46) displayAddEventHandler ["keyDown", "_this call keyhandler"];


4.Create file execMe.sqf and place it inside MyScripts folder (you can put any script commands, for testing put hint “it works!” for example)

5.Run the game, attach hex editor or cheat engine to arma2 process and search for text and overwrite part where path (example \ca\ui\scripts\dedicatedServerInterface.sqf") in a way so it would point to your init script ("\MyScripts\go.sqf"), if your path is shorter then original one, press space to make bytes amount equal. Example: before private ["_dummy"]; _dummy = [_this,"onload"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; after private ["_dummy"]; _dummy = [_this,"onload"] execVM "\MyScripts\go.sqf"; >> press space to make bytes amount equal.     (you should search one string, below is a list with strings, any of them should fit):

private ["_dummy"]; _dummy = [_this,"onload"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf";
if (isNil('IGUI_GEAR_activeFilter')) then { IGUI_GEAR_activeFilter = 0;}; private ['_dummy']; _dummy = [_this,'onLoad'] execVM  '\ca\ui\scripts\handleGear.sqf'; _dummy; //after changing this string press server control to activate your init
["_dummy"]; _dummy = [_this,"login"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press login button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_kick"] execVM "dedicatedServerInterface.sqf"; //after changing this string press vote kick button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_admin"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press vote admin button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_mission"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press vote mission button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_missions"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press vote missions button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_reassign"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press vote reassign button in server control to activate your init

["_dummy"]; _dummy = [_this,"vote_restart"] execVM "\ca\ui\scripts\dedicatedServerInterface.sqf"; //after changing this string press vote restart button in server control to activate your init


More strings will be added soon when I'll install the game again.
for Iron front
- replace the "\ca\ui" part with "Lib\lib_gui" when searching for the dedicatedServerInterface strings
- for the handleGear thing search for "_dummy = [_this,'onLoad'] execVM 'Lib\lib_gui\LIB_GearDialog\handleGear.sqf';" (the part before it is different you so cant search for "if (isNil('IGUI_GEAR_activeFilter'))" etc.)


6. Now you need to hex edit path so when you press certain button it would exec your init file (go.sqf in our case). Find with a help of CE(cheat engine) any of strings above and change "\ca\ui\scripts\dedicatedServerInterface.sqf  to "\MyScripts\go.sqf”;
As an example lets search for if (isNil('IGUI_GEAR_activeFilter')) then { IGUI_GEAR_activeFilter = 0;}; private ['_dummy']; _dummy = [_this,'onLoad'] execVM  '\ca\ui\scripts\handleGear.sqf'; _dummy; and replace \ca\ui\scripts\handleGear.sqf with \MyScripts\go.sqf so now we’ll have (isNil('IGUI_GEAR_activeFilter')) then { IGUI_GEAR_activeFilter = 0;}; private ['_dummy']; _dummy = [_this,'onLoad'] execVM "\MyScripts\go.sqf"; _dummy; After you made this changes close cheat engine or hex editor (depends on what you were using). Join to any server and when your character will be able to move press G button to activate your init file (go.sqf in this example). In our init we had a script that activates key combination which execs script commands placed in file execMe.sqf when you press ctrl+left win. You can put any code in this file to test it in MP. In folder MyScripts you can create unlimited amount of sqf or sqs scripts and exec them via key combinations or with a help of bugfast like menu.
If you want to make a bugfast like list of options then you need to put this code in go.sqf (you can put it in execME.sqf as well, it doesn’t matter where it will be)
_veh = vehicle  player;
_veh addaction ["run", "\ MyScripts \script1.sqs"];
_veh addaction ["run1 ", "\ MyScripts \ script2.sqs"];
_veh addaction ["run2”, "\ MyScripts \ script3.sqs"];
_veh addaction ["run3 ", "\ MyScripts \ script4.sqs"];
_veh addaction ["run4 ", "\ MyScripts \ script5.sqs"];
_veh addaction ["run5", "\ MyScripts \ script6.sqs"];


If you want to make options in list which will be colorful then add strings in this format

_veh addaction ["<t color=""#800000"">" +"optionNamehere", "\MyScripts\script.sqs"];

You can use scroll list and key combinations at the same time, to add new key combination you'll need to edit script in your init like this:
Code: [Select]
keyhandler =
{
private["_handled","_ctrl", "_dikCode", "_shift", "_ctrlKey", "_alt"];
_ctrl = _this select 0;
_dikCode = _this select 1;
_shift = _this select 2;
_ctrlKey = _this select 3;
_alt = _this select 4;
_handled = false;
//hint format ["%1",_this];
if (!_shift && _ctrlKey && !_alt && (_dikCode == 219)) then {
_ctrl = nil;
_handled = true;

nil = execVM "\MyScripts\execMe.sqf";

            };
if (_dikCode == 83) then {                     // press del button to activate
_ctrl = nil;
_handled = true;
            };
    _handled;
};
Missionstrr =(findDisplay 46) displayAddEventHandler ["keyDown", "_this call keyhandler"];

Warning! after you have made changes with detected version of cheat engine or hex editor don't forget to save changes and close it after everything is done or battle eye will pwn you. Even if you have detected Cheat Engine version opened but it's not attached to arma2 process battle eye will still pwn you :) so always close it after you made all required changes

P.S pm me if you'll find errors in this tutorial since I was writing it pretty fast due to lack of time :)
« Last Edit: May 28, 2012, 08:12:25 pm by Gerk »

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: in depth bypass tutorial
« Reply #1 on: May 28, 2012, 03:30:57 pm »
Nice tutorial , missing a bit of code at the end though , anti copy paste encryption?  :smile.


ps think your karma should be reset nice tutorial this.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

bouncer123

  • Klass Klown
  • ***
  • Posts: 349
    • View Profile
Re: in depth bypass tutorial
« Reply #2 on: May 28, 2012, 03:33:19 pm »
nothing new really, but still nice for the noobs who still cant get this to work  :icon_thumbsup

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: in depth bypass tutorial
« Reply #3 on: May 28, 2012, 03:35:27 pm »
credits mrmedic.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

LongDong

  • Online Villain
  • ***
  • Posts: 109
    • View Profile
Re: in depth bypass tutorial
« Reply #4 on: May 28, 2012, 03:46:53 pm »
will give it a try

thanks big time for that  :icon_thumbsup

bouncer123

  • Klass Klown
  • ***
  • Posts: 349
    • View Profile
Re: in depth bypass tutorial
« Reply #5 on: May 28, 2012, 03:49:46 pm »
gerk, incase you want to extend this tutorial to Iron Front, add the following notes:

for IF:
- replace the "\ca\ui" part with "Lib\lib_gui" when searching for the dedicatedServerInterface strings
- for the handleGear thing search for "_dummy = [_this,'onLoad'] execVM 'Lib\lib_gui\LIB_GearDialog\handleGear.sqf';" (the part before it is different you so cant search for "if (isNil('IGUI_GEAR_activeFilter'))" etc.)


also, tell them that they need to overwrite the original text with spaces or \0s at the end. thats one thing where the noobs always failed at, lol

MrMedic

  • MasstKer
  • ********
  • Posts: 8900
  • programmer/dev/software engineer
    • View Profile
Re: in depth bypass tutorial
« Reply #6 on: May 28, 2012, 04:03:39 pm »
gerk, incase you want to extend this tutorial to Iron Front, add the following notes:

for IF:
- replace the "\ca\ui" part with "Lib\lib_gui" when searching for the dedicatedServerInterface strings
- for the handleGear thing search for "_dummy = [_this,'onLoad'] execVM 'Lib\lib_gui\LIB_GearDialog\handleGear.sqf';" (the part before it is different you so cant search for "if (isNil('IGUI_GEAR_activeFilter'))" etc.)


also, tell them that they need to overwrite the original text with spaces or \0s at the end. thats one thing where the noobs always failed at, lol

Just downloaded that game got a discount as well , il install it in a bit , off to town in a minute , il have a play with it when i get back.
EnCoded Message: i3iy9yl8kr2xf3g2Txs3pr6ye3ya7jg5ty2z

https://www.youtube.com/watch?v=62_7-AYfdkQ
you need a paypal account for the private versions.

Website:
http://bit.ly/medic101

Teamspeak 3: 85.236.101.5:10157

LongDong

  • Online Villain
  • ***
  • Posts: 109
    • View Profile
Re: in depth bypass tutorial
« Reply #7 on: May 28, 2012, 04:05:59 pm »
yo thanks again for the tut

Just a quick shitass question since i never really used CE.

I found the string i should edit, but now how do i hex edit path ?

" Change record / Value " ?

Gerk

  • Klass Klown
  • ***
  • Posts: 377
    • View Profile
Re: in depth bypass tutorial
« Reply #8 on: May 28, 2012, 04:10:35 pm »
yo thanks again for the tut

Just a quick shitass question since i never really used CE.

I found the string i should edit, but now how do i hex edit path ?

" Change record / Value " ?
Click memory view in cheat engine, find string, click with mouse on path first letter and overwrite path so it pointed to your init
« Last Edit: May 28, 2012, 04:37:34 pm by Gerk »

LongDong

  • Online Villain
  • ***
  • Posts: 109
    • View Profile
Re: in depth bypass tutorial
« Reply #9 on: May 28, 2012, 04:15:30 pm »
thx, will try that now.

i guess when i modify the string with the new path it's auto-saved ?

goth1c24

  • Intentional Cheater
  • **
  • Posts: 31
    • View Profile
Re: in depth bypass tutorial
« Reply #10 on: May 28, 2012, 04:18:01 pm »
right click and "browse memory" and a new window opens where you can edit the string , just add spaces , if not same size till there is a ; and youre ready ;)

Edit: got ninjad ;/
My English isn't the best , if you find any faults then show them to me and i try to correct and "save" it in my brain ;)

Gerk

  • Klass Klown
  • ***
  • Posts: 377
    • View Profile
Re: in depth bypass tutorial
« Reply #11 on: May 28, 2012, 04:19:53 pm »
thx, will try that now.

i guess when i modify the string with the new path it's auto-saved ?
When using cheat engine yes but in hex editors it's usually required to press save button

LongDong

  • Online Villain
  • ***
  • Posts: 109
    • View Profile
Re: in depth bypass tutorial
« Reply #12 on: May 28, 2012, 04:25:18 pm »
so small try first try

aaaand

worked like a fucking charm  :icon_thumbsup

you're the man gerk

OMG Pony

  • Online Villain
  • ***
  • Posts: 194
    • View Profile
Re: in depth bypass tutorial
« Reply #13 on: May 28, 2012, 04:27:57 pm »
Patched with next update.  :icon_thumbsup
:)

LongDong

  • Online Villain
  • ***
  • Posts: 109
    • View Profile
Re: in depth bypass tutorial
« Reply #14 on: May 28, 2012, 04:29:16 pm »
Will be bypassed again lol.

like someone care.