Thread: [Ruse] Cheat Engine Item dupe smithing interface fix

Page 1 of 5 123 ... LastLast
Results 1 to 10 of 42
  1. #1 [Ruse] Cheat Engine Item dupe smithing interface fix 
    Registered Member
    Join Date
    Oct 2010
    Posts
    33
    Thanks given
    0
    Thanks received
    3
    Rep Power
    1
    Hey guys there's been a new cheat engine hack/dupe which has been affecting alot of 317 PI based servers. Im here to put a stop to it.

    How it works

    A player will manipulate client side values with the cheat engine software so that when you smith something lets say a bronze dagger through the smithing interface the server will instead turn your bronze bar into an AGS, Claws, Donor Scroll, Partyhat whatever.


    How to stop it

    You can stop this on your server side by sanitizing the input returned from the client before the physical "smithing" takes place. Basically what we are going to do is ensure that the values being returned from the client for the item smithed are the values that are expected and they have not been tampered with by a 3rd party i.e. (cheat engine)

    Go into EquipmentMaking.java and find the method called smithItem()

    This method handles as you may have guessed actually taking the bronze bar from your inventory and giving you exp and a bronze dagger or whatever you happen to be smithing

    First we need to create a whitelist of values that we expect the be returned from the client. These values are all the items that can be smithed in the game. You cant smith a partyhat so that item id is not going to be included in the whitelist

    place this code just below the smithItem()
    Code:
    int[] list = new int[] {1205, 1351, 1422, 1139, 9375, 1277, 4819, 1794, 819, 39, 1321, 1265, 1291, 9420, 1155, 864, 1173,
    		1337, 1375, 1103, 1189, 3095, 1307, 1087, 1075, 1117, 1203, 15298, 1420, 7225, 1137, 9140, 1279, 4820, 820, 40, 1323, 1267,
    		1293, 1153, 863, 1175, 9423, 1335, 1363, 1101, 4540, 1191, 3096, 1309, 1081, 1067, 1115, 1207, 1353, 1424, 1141, 9141, 1539,
    		1281, 821, 41, 1325, 1269, 1295, 2370, 9425, 1157, 865, 1177, 1339, 1365, 1105, 1193, 3097, 1311, 1084, 1069, 1119, 1209,
    		1355, 1428, 1143, 9142, 1285, 4822, 822, 42, 1329, 1273, 1299, 9427, 1159, 866, 1181, 1343, 9416, 1369, 1109, 1197, 3099,
    		1315, 1085, 1071, 1121, 1211, 1357, 1430, 1145, 9143, 1287, 4823, 823, 43, 1331, 1271, 1301, 9429, 1161, 867, 1183, 1345, 1371,
    		1111, 1199, 3100, 1317, 1091, 1073, 1123, 1213, 1359, 1432, 1147, 9144, 1289, 4824, 824, 44, 1333, 1275, 1303, 9431, 1163, 868,
    		1185, 1347, 1373, 1113, 1201, 3101, 1319, 1093, 1079, 1127};
    This code builds a primitive 32 bit integer array in the JVM which includes all the smithable items in the game.

    Now before the
    Code:
    player.getInteractingObject().performGraphic(new Graphic(2123));
    add this line

    Code:
    if (IntStream.of(list).anyMatch(id -> id == itemToSmith.getId())) {
    this is a little more complex at first sight but is actually super simple!
    Here we use Java 8's IntStream() to iterate through each element in the whitelist and check that the id of the itemToSmith is an actual smithable item and not something that has had its value manipulated by cheat engine

    just finish the code with this after
    Code:
    player.getSkillManager().addExperience(Skill.SMITHING, (int) (SmithingData.getData(itemToSmith, "xp") * 1.5));
    to close out your if statement!

    Code:
    } else {
    		player.getPacketSender().sendMessage("You have been caught using cheating software goodbye.");
    		//PlayerPunishment.addBannedIP(player.getHostAddress());
    }
    uncomment the last line if you wish to ipBan the user that tried to cheat and there you go! Dupe fixed!

    proof it works

    Reply With Quote  
     

  2. Thankful users:


  3. #2  
    Donator
    clrlslwi's Avatar
    Join Date
    Mar 2016
    Posts
    201
    Thanks given
    32
    Thanks received
    110
    Rep Power
    102
    This exploit was being used yearsss ago (4-5 years probably.) I'm surprised that people are still writing shitty code with the same mistakes (not really.)
    Reply With Quote  
     

  4. #3  
    Registered Member
    Join Date
    Oct 2010
    Posts
    33
    Thanks given
    0
    Thanks received
    3
    Rep Power
    1
    I havent seen a fix for this exploit yet but someone logged onto my server yesterday and used it and it worked on my server....
    Reply With Quote  
     

  5. #4  
    Software Developer

    Tyrant's Avatar
    Join Date
    Jul 2013
    Age
    24
    Posts
    1,562
    Thanks given
    678
    Thanks received
    423
    Rep Power
    1060
    Not the right fix.
    I could still create rune platebody and the server will think that I'm making bronze dagger (so yea it wont be any major items but still works)
    Reply With Quote  
     

  6. #5  
    Respected Member


    Join Date
    Jul 2015
    Posts
    781
    Thanks given
    206
    Thanks received
    394
    Rep Power
    524
    This shit is from like 2005....
    Reply With Quote  
     

  7. #6  
    Registered Member
    bracket's Avatar
    Join Date
    Aug 2009
    Posts
    5,278
    Thanks given
    1,059
    Thanks received
    1,465
    Rep Power
    5000
    Why would you have no checks anyways?? Jesus christ its 2016 people!
    Reply With Quote  
     

  8. #7  
    Banned
    Join Date
    Jan 2011
    Posts
    334
    Thanks given
    20
    Thanks received
    88
    Rep Power
    0
    Why are you iterating through an array

    Just use a Set.
    Reply With Quote  
     

  9. #8  
    Registered Member
    Join Date
    Oct 2010
    Posts
    33
    Thanks given
    0
    Thanks received
    3
    Rep Power
    1
    Yes your right it could still make a rune platebody from a bronze dagger but this is a temporary fix until i work out a more seamless solution. And ive been on several servers this week where this dupe is usable!

    and yeah a TreeSet would probably be better haha oh well....
    Reply With Quote  
     

  10. #9  
    Registered Member
    Join Date
    May 2016
    Posts
    45
    Thanks given
    36
    Thanks received
    16
    Rep Power
    1
    Nice of you that you actually release a decent fix. thank you.
    Reply With Quote  
     

  11. #10  
    Registered Member
    Join Date
    Oct 2010
    Posts
    33
    Thanks given
    0
    Thanks received
    3
    Rep Power
    1
    Your very welcome! I'd use a TreeSet instead of a primitive int array like I used in my post but it works great for the smithing interface dupe.
    Reply With Quote  
     

Page 1 of 5 123 ... LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Cheat client, item dupe fix.
    By Mr Joopz in forum Snippets
    Replies: 6
    Last Post: 08-02-2014, 04:34 AM
  2. [PI] Another Cheat Engine Trade Dupe FIX
    By Hofmann in forum Snippets
    Replies: 22
    Last Post: 06-09-2014, 02:59 PM
  3. [PI]Cheat Engine Duel Dupe Fix
    By Aleksandr in forum Selling
    Replies: 12
    Last Post: 09-23-2011, 03:40 AM
  4. Need help fixing the cheat engine trade dupe
    By brok3nang3l in forum Help
    Replies: 2
    Last Post: 05-16-2011, 01:25 PM
  5. [PI] Cheat Engine Item Dupe FIX HERE
    By Isaiah in forum Tutorials
    Replies: 14
    Last Post: 11-25-2010, 04:05 AM
Tags for this Thread

View Tag Cloud

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •