Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/08/2019 in all areas

  1. Usually dumped data divided to 4096 because dumped by memory pages which 4096 bytes size. data:byte() is shortcut for string.byte. Obviously string.long not exists. Read lua reference about string.byte. you need build qword or dword yourself from bytes. Maybe it be slower rather than byte - IDK. you need test it if speed of byte solution not suit you.
    3 points
  2. function reverseDump(file, start_address) local inp=io.open(file, 'rb') local ad=start_address-1 while true do local _rw={} local data=inp:read(8192) if data == nil then break end local t = data:byte(1, data:len()) for i=1,#t do _rw[i]={address = ad + i, flags = gg.TYPE_BYTE, value=t[i]} end ad = ad + #t gg.setValues(_rw) gg.toast(ad-start_address) end inp:close() end Something like that. Not tested.
    3 points
  3. Use QWORD, not BYTE, for write data. Write it on every 8 bytes. You use very inefficient ways to convert string to bytes. One byte per once. Convert all string chunk to table with bytes. And iterate it on loop. And you do not close files after use, so create resource leak. Also you do not need gmatch. [added 0 minutes later] And you need format code more proper make indent in all possible place or it is hard to read and hard to help you. [added 1 minute later] (string.format("%02X",t[i]) .. "h")} useless part only slow down you. You can set decimal code to value. [added 4 minutes later] And you not clear table t on each iteration. [added 4 minutes later] And other vars too.
    2 points
  4. 1 byte is waste of time and resources. Usually amount must be even 8 or 4 kb. So try 4096 or 8192, maybe more, like 2*8192.
    2 points
  5. The script will work. The idea is not. The desired address may not be allocated, or allocated for other needs. You cannot cut off your hand, then attach it back and hope that it will work as before.
    2 points
  6. ***Please consider donating to my PayPal: [email protected]*** This took a lot of time to figure out. Then even more to create this much information and map many of these ids for everyone. And PLEASE.... If you plan on reposting or doing a guide based on this, I ask that credit is given to me. Enjoy!!!! To start searching for a value, you can first try doing 0x4 dword search. When value changes, unknown changed. Then search 0x4 again. Do this a few times until you can scroll through and find 2 values. Where the value above minus the value below it equal the quantity of the item you are searching for. This method isn't a definite. If you look at picture "Main" you can see that sometimes the values A and B DO NOT match. Which means the 0x4 will not work. The other method is to do a utf16 text search using item id and the quantity. The best time to do this is when you first open the game. So if you have 21 basic health packs, the search will be ";hp1*21". Usually goto first result result and pointer search. Then when you goto address, look above for the value structure like you see in "Main" picture. The next 2 Dword values in "Main", E and F. E is how many digits at the end of the encrypted value to ignore. F is how many digits total the encrypted value is. So if you have 20 of something. Values below could be, 0 and 2. Or 1 and 3, or 2 and 4.... Then the pointer "G", is the encrypted value. It's utf16, and the key to the encryption is this: M = 9 B = 8 N = 7 Q = 6 E = 5 W = 4 Z = 3 X = 2 D = 1 L = 0 So, if you have 549 of something, it will be E.W.M. But you might see something like E.W.M.L.L which would make you think you have 54900. But if you look at the values "E and F", it would be 2 and 5. Telling you its ignoring the L.L. at the end. Now for the edit... I ALWAYS click pause at the top right of game to ensure value doesn't somehow change while I am working on it. So values "A and B" I try to keep "original". YOu might be able to set these to 0 and edit the values "C and D" and be negative the value you want. In my video, I keep them untouched. After you edit that. Need to make sure encrypted value matches and the "total digits and digits ignored" all are correct for the value you want. ANYTHING DONE WRONG = INSTANT BAN. Make sure you did everything CORRECT before resuming game. Item changing: I would try finding item via quantity or item id/quantity. Then goto pointer "H". Here will be the item id. The basic health pack is "hp1". YOu could just edit the 1 to a 4 and have a value in you backpack change then restart game. Those health packs will become the big red health packs. If you are looking to change in from health pack to a Red Saber Crate, I recomend doing a utf16 search for the item id you want. Go through results look for the 'correct' value like I do in video. Copy address of the "header" for that id. Then edit pointer "H" and paste that address and put h after it. So if address is AABBCCDD, then you'll dword edit it to AABBCCDDh. Have something in backpack change and restart game. Those health packs will now become Red Saber Crate. I went through and mapped out MANY items already. If you want SPECIFIC materials/items, I'll provide a list of "ids" and you can sort through them to determine which is what. I'll explain the naming scheme though of gear. One weapon is "near". Which is melee. so, near#1_#2_#3. #1 is the equipment id. #2 is the level of the equipment. and #3 is the rarity. I THINK near6_200_7 would be a red saber level 200. Video Guide: Health item ids: hp1 to hp9. hp4 is the big red health pack. Food: food1 to food16 Water: water1 to water7 Here is the "other" items list. This is probably all you really need for most things. ID Item Description other2 Gold other3 Coins other4 Standard Equipment Box Contains a Blue quality or above equipment. other5 Standard Weapon Box Contains a Blue quality or above weapon other6 Advanced Equipment Box 50% chance to gain an Orange Equipment. other7 Advanced Weapon Box 50% chance to gain an Orange Weapon other8 R&D 1min bost Reduces current R&D time. other9 R&D 5min boost Reduces current R&D time. other10 R&D 15min boost Reduces current R&D time. other11 R&D 1hr boost Reduces current R&D time. other12 R&D 3hr boost Reduces current R&D time. other13 5min Accelerator Reduces time for Refuge upgrade or survivor missions. other14 15min Accelerator Reduces time for Refuge upgrade or survivor missions. other15 30min Accelerator Reduces time for Refuge upgrade or survivor missions. other16 1hr Accelerator Reduces time for Refuge upgrade or survivor missions. other17 3hr Accelerator Reduces time for Refuge upgrade or survivor missions. other18 Perk Rebooter Resets all perk points other19 Common Pet Box Contains a Green quality or above pet. other20 Rare Pet Box Contains a Blue quality or above pet. other21 Epic Pet Box Contains a Purple quality or above pet. other22 Legendary Pet Box Contains a Gold quality or above pet. other23 Artifact Pet Box Contains a Orange quality or above pet. other31 Common Attachment Box Contains a random White attachment. other32 Uncommon Attachment Box Contains a random Green Attachment. other33 Rare Attachment Box (Blue) other34 Epic Attachment Box (Purple) other35 Legendary Attachment Box (Gold) other36 Artifact Attachment Box (Orange) other37 Double EXP Card +100% boost for 15min other38 Orange Equipment Box Contains an orange Equipment other39 Orange Weapon Box Contains an Orange Weapon other40 ***Don’t use this for item swap*** ***Item will be deleted from inventory*** other41 Motorcycle Key other42 Zombie Lair Map A map that marked the lair of the zombies. This map grants access to the Zombie Lair for once. other44 ***Don’t use this for item swap*** ***Item will be deleted from inventory*** other45 Follower’s Perk Rebooter Use to reset current Follower’s Perk. other46 Discount Ticket Super great deal to have a 45% discount on the Pass! other47 Advanced Discount Ticket Super great deal to have a 50% discount on Advanced Pass! other48 Orange Light Saber Box other49 Red Light Saber Box other51 Normal Appearance Ticket Can craft a elementary appearance without materials. other52 Rare Appearance Ticket Can craft an artifact appearance without materials. (The 2nd appearance of any building) other53 Advanced Appearance Ticket Can craft an artifact appearance without materials. (The 3rd appearance of any building, which costs 600 Gold) other54 Artifact Appearance Ticket Can craft an artifact appearance without materials. (The 4th appearance of any building, which costs 1,800 Gold) other55 Artifact Attachment Box (Red) other56 Candy other57 Horn other59 Token Rescue Survivors to get Tokens in exchange for resources. other60 Raffle Ticket other61 Normal Redeem Ticket Can exchange normal items. other62 Advanced Redeem Ticket Can exchange advanced items. other63 White Core Box other64 Green Core Box other65 Blue Core Box other66 Purple Core Box other67 Gold Core Box other68 Orange Core Box other69 Red Core Box Here is a small sample of weapons/gear ids: near3_200_1 usp1_200_1 ak1_200_1 clothes_200_1 shose_200_1 pants_200_1 hat_200_1 armor_200_1
    1 point
  7. Of course. GG can read all memory of process.
    1 point
  8. CroqueMr how did you do that? I want to change my score and coins but isn't working :(
    1 point
  9. Thank you very much. I think this speed is enough for me. I know more about lua script and GG because of your help. I hope this script will useful with other people. [added 1 minute later] reverse_dump.lua
    1 point
  10. local t = {data:byte(1, data:len())} Try this.
    1 point
  11. Yes. You can not expect read big file to memory completely. Read and write by small chunks.
    1 point
  12. Maybe this would be useful, function rwmem(Address, SizeOrBuffer) assert(Address ~= nil, "[rwmem]: error, provided address is nil.") _rw = {} if type(SizeOrBuffer) == "number" then _ = "" for _ = 1, SizeOrBuffer do _rw[_] = {address = (Address - 1) + _, flags = gg.TYPE_BYTE} end for v, __ in ipairs(gg.getValues(_rw)) do _ = _ .. string.format("%02X", __.value & 0xFF) end return _ end Byte = {} SizeOrBuffer:gsub("..", function(x) Byte[#Byte + 1] = x _rw[#Byte] = {address = (Address - 1) + #Byte, flags = gg.TYPE_BYTE, value = x .. "h"} end) gg.setValues(_rw) end -- Usage: readedMem = rwmem(0xAABBCCDD, 128) -- Read 0xAABBCCDD with 128 size. rwmem(0xDDCCBBAA, readedMem) -- Write readedMem memory into 0xDDCCBBAA.
    1 point
  13. View File Script World War Heroes Just For Fun Having Fun Subscribe My Youtube Channel Newbie Squad Ark Video : Password : 123 Submitter NewbieSquadArk Submitted 12/10/18 Category LUA scripts
    1 point
×
×
  • Create New...

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.