喜欢的请支持正版,此版本仅用于学习,不可用于商业目的,请在下载后于24小时内删除。
喜欢的请支持正版,此版本仅用于学习,不可用于商业目的,请在下载后于24小时内删除。
喜欢的请支持正版,此版本仅用于学习,不可用于商业目的,请在下载后于24小时内删除。
重要的事情说三遍
游戏是Unity游戏,但是用了il2cpp,非mono编译,只看GameAssembly.dll,dnspy可以pass掉了。
为了更好的分析游戏的逻辑,用到以下工具:
IDA Pro
Il2CppDumper
CheatEngine
先用Il2CppDumper 把游戏符号Dump出来,接着IDA配合CE调试分析。
Il2CppDumper GameAssembly.dll global-metadata.dat [要dump的文件夹]
Wulin-Dump:.
│ dump.cs
│ il2cpp.h
│ script.json
│ stringliteral.json
└─DummyDll
逆向之前,我们要做好充分的准备,想要入手,首先要知道Steam相关的SDK是怎么对接的,因为这是个Unity游戏,所以直接搜关键Steamwork.Net,可以参考以下文章。
[使用Steamwork.Net 接入Steam一点心得](https://zhuanlan.zhihu.com/p/523483071)
[steam游戏上架流程二:steamworks SDK API steamworks.net 对接 unity](https://blog.csdn.net/qq_42672770/article/details/104444771)
了解之后,知道游戏启动后会先对环境进行一些检查,并且初始化SteamManager,然后接下来会调用SteamAPI.Init()来初始化,这是个关键方法,我们从这里入手。

这边我们没有必要去逆向steam_api64.dll,直接往上找

这里看到有两个,只有第一个会执行,

直接在ShitimuManager__Awake下断
打开游戏,断下一直单步,发现在ShitimuManager__get_Instance里面有调用,接着下断,重启游戏,断下后回溯到了游戏主要逻辑部分,往下看,发现有个判断,如果SteamApi初始化失败则UnityEngine_Application__Quit,直接nop,重启游戏。PS:这块结合IDA看会比较清晰

结果发现游戏倒是不退出了,但是相关数据不正常,并且无法读取存档,再回过头来看这个函数,发现有个关键方法 WuLin_ThirdPlatformManager__OnLogin,正常从steam打开游戏,nop掉这个call,复现了之前的情况,确定就是这个call的问题。

调试可以拿到自己的steamid,不过貌似随便填一个都可以,为了保险还是直接把steamid填上

现在打开游戏,正常存档游玩。
有空还会发相关逆向教程,比如添加物品、各种修改功能…
By x1a0reN.
这可能是也可能不是灰色地带主题,尽管我的意图肯定不是,所以我的意图不是激起关于逆向工程主题的道德辩论。我是1型糖尿病患者,目前正在接受泵治疗。我是OmniPod用户,这是一个一次性胶囊,可以粘在我的身上并分配胰岛素3天。它由个人糖尿病管理器[PDM](见下文)控制,该管理器控制进餐期间分配的胰岛素量、血糖读数,并且包含一个用于计算碳水化合物的食物指数。(来源:myomnipod.com)新的PDM有一个用于下载数据的USB端口。该软件对Windows用户免费(名为CoPilot的软件包),但不支持Mac。将PDM插入我的Mac后,它像任何其他USB设备一样安装,并为我提供了一个可读卷,
我已经下载了VIM插件cpp_cppcheck但已将其复制到~/.vim/ftplugin/c_cppcheck.vim它也可以使用C文件。它似乎运行良好,但我现在想激活该选项--enable-all就像一个可以在外壳上的人一样。在Cppcheck帮助窗口中,它说以下内容:g:cpp_cppcheck_optionsThecommandlineoptionsyouwanttopasstoCppcheck.ViewyourCppcheckdocumentationforthepossibleoptions.Notethatyoushouldn'tspecifyatemplatehere!Ifyo
文章目录Objection安装使用安装使用Ubuntu连接测试Windows问题Objection安装使用在开始熟悉Frida时,接触的示例是需要frida-server在一个root过的os环境中运行,便于读取/访问所有需要的数据或其他app。一般真机开发过程,都是一个比较纯粹的App开发,不会在一个Root过的Android设备上进行开发。这篇主要就是学习在非Root环境下hookapp。这里介绍并使用一个基于Frida开发的工具objection:📱objection-runtimemobileexploration(github.com)。本篇文章主要描述下objection安装及在使
我有一些代码位于javascript中的php文件的底部。它经历了许多奇怪的扭曲,比如将十六进制转换为ascii,然后进行正则表达式替换、执行代码等等......有没有办法在它实际执行之前找出它在执行什么?代码在这里:http://pastebin.ca/1303597 最佳答案 您可以逐步完成它-因为它是Javascript,并且是解释型的,所以它需要自己的解密器。如果您可以访问命令行Javascript解释器(例如Firebug中的控制台),这将非常简单。我会看看会发生什么。编辑我已经完成了大部分-看起来最后一步很重要,可能是因
目标我的目标是从我的JavaScript项目(由几个.js文件组成)中获取UML模型并将其存储为XMI。我走了多远我在网上搜索了一下,发现js/uml是第一个去的地方。我已经设法让js/uml插件与Eclipse3.7.1(Win32)一起运行,并在本地安装我预先下载的附加插件:mdt-uml2tools-Update-incubation-I201103290512.zip(安装所需的org.eclipse.uml2.diagram.clazz0.10.0)jsuml-eclipse-0.8.4.zip(仅适用于Eclipse3.7.1(Indigo))我将提供的示例项目jsuml-
我正在尝试发送这样的帖子请求:xhr.open("POST","/steamapi/actions/RemoveFriendAjax",false);varparams="sessionID="+session_id+"&steamid="+id;xhr.onreadystatechange=function(){//Callafunctionwhenthestatechanges.if(xhr.readyState==4&&xhr.status==200){alert(xhr.responseText);}}xhr.send(params);我正在使用Apache服务器,这是我的.h
这个问题在这里已经有了答案:HowcanIobfuscate(protect)JavaScript?[closed](22个答案)关闭9年前。我正在寻找目前最难逆向的JavaScript混淆器。如果它可以在自己的服务器上运行,则可以加分。性能下降和代码膨胀都很好。
我正在尝试模拟google+按钮。在LINK的部分代码中,它将sessionID转换成某种哈希。我发现sessionID名称是SAPISID,转换后的哈希名称是SAPISIDHASH,谁能告诉我哪部分代码执行哈希部分。任何帮助将不胜感激。我已经连续花了6个小时,仍然没有任何线索:(例如VUOyLIU22fNPz2ko/AbGsxW03_WHoGjaJq是SAPISID和f17aa630b9b9a105dad437b0fedcafe429f6fca2是SAPISIDHASH。在php中,我尝试了所有类型的散列..没有匹配。 最佳答案
使用Golang,我正在尝试通过Steam发送聊天消息.岗位要求是jsonp:jQuery1111021217753615295387_1460262983441umqid:6271781725479270872type:saytextsteamid_dst:76561198208696745text:foobaraccess_token:87e689c612b38f535a4d2b645b3aa3a7_:1460262983442我了解所有必需的变量,并且能够使用它们(UMQID变量除外)。我已经通过Steam'sjavascriptsourcecode一遍又一遍地试图弄清楚它的值(
vim无法折叠test.cpp,vim提示未找到E490,但是将此文件重命名为test.c或test.cc,vim可以使用zc折叠相同的代码。我已经在.vimrc中设置了configurefoldmethod=语法setfoldlevel=0setfoldnestmax=2VIMRUNTIME=/usr/share/vim/vim80在/usr/share/vim/vim80/ftplugin中,退出cpp.vim文件。为什么vim无法折叠*.cpp和*.go 最佳答案 我已经解决了这个问题,因为尽管我在.vimrc中设置了fdm=