Hot answers tagged

6

xxtea encrypt with KEY: sxpDM2018 result FightLogic.lua how find the KEY IDA look at Function window press CTRL+F and type xxtea_decrypt. double click first item and scroll up to see cocos2d::FileUtilsAndroid::getData double click cocos2d::FileUtilsAndroid::getData and press F5 to decompiler look at image xxtea_decrypt, you can see v34 is KEY scroll up ...


3

You can't retrieve function or variable names from compiled lua because the compiler strips it out of the compiled file, however you can make an educated guess by looking at what the decompiled lua code does.


1

use ida pro or ghidra to find the decryption function. if you attach to the process on a real phone you can hook the xxtea function and the 16 bytes at the 3rd argument pointer will be the key.


1

Next time please include the original apk in your question. Luckily I'm working on the same game so I can help somewhat. Get the old apk (yzjlzl_2.80_1_20180918_170403_83de83.apk) from bilibili (google it) and use IDA to decompile it. This is an obvious solution to JNI_Onload obfuscation if you want to do static debugging. One of the other way to do this is ...


1

As you said, the Lua engine is embedded directly into the game. It's inside plugins/GameManagerVC.dll (or GameManagerVC64.dll in case of 64-bit). So, first step will be finding out, which version of Lua it is. So put this DLL into Ghidra or IDA Pro. The most easiest way of figuring out, what version of Lua it uses, is by searching for "Lua" string ...


1

After a lot of trial and error, and bits and pieces of the puzzle coming together from a lot of different sources and peoples' help, I'd like to answer my own questions to the extent I feel I'm able to. I hope this helps someone else down the road who runs into this issue. Question 1: What do sin/cos values tend to look like, and at what point through a ...


1

Question 3 & 4 Answer: To move the camera/player in the direction you're facing you can use this function that works on eular angles. The only addresses you need to find are your current view angles and 3d coordinates. You use it to overwrite the player/camera 3d coordinates. I do it inside of a GetaSyncKeyState call, so it acts when pressing ...


Only top voted, non community-wiki answers of a minimum length are eligible