当前位置:网站首页>Reverse Analysis Practice 2
Reverse Analysis Practice 2
2022-07-30 03:59:00 【Chicken Island~】
1. Reverse analysis of game windowing function
Trigger condition: add -window
to the game propertiesThe debugger attaches the game to run, and starts to analyze
Guess: The game implements windowing and must determine whether there is **-window** in the command line parameters, and obtain this parameterInformation can be obtained in two ways(1) WindowApi:GetCommandLineA(2) PEB structureEvidence: Set a breakpoint at the GetCommandLineA function and run the game.

Guess: According to msdn, the function of this function is Retrieves the command-line string for the current process and The return value is a pointer to the command-line string for the current process..The next step should be to cut the string, then compare, and the character constants are placed in the constant area, we can locate the constant area by string searchstrong>where is window
usedReverse analysis
task1: Get [the game's command line characters through Win32APIString ] to [EAX]task2: [exe absolute path in the split string], [parameter ] to [stack] to [register]task3: Use while and if statements to determine whether the command line isNot in debug mode, ebp=1 means not in debug mode
Continue to execute backwards and find that we have come to a familiar place, yes!This is where we last analyzed screen resolution.Guess: After observing the code, guess 0 means windowed, 1 means full screen mode
Empirical evidence: Re-run the game without -winow, and set a breakpoint at this place
Following:

Make patch, copy to executable:
new question: windowing function is implemented, why does the screen resolution 1920×1080 patch fail
Guess: screen resolution handling is different in full screen mode and window mode
Reverse analysis: based on the analysis of the previous resolution, analyze again on this basis


Evidence: By analyzing the data flow of local variables, we only need to modify the source of the data
- Summary:
The breakthrough to locate where you want to analyze:(1) WinddowAPI: Which WindowAPI will be called in this place,(2) String lookup: is there any string used in this place?
边栏推荐
猜你喜欢

Mini Program Graduation Works WeChat Points Mall Mini Program Graduation Design Finished Work (5) Task Book

Roperties class configuration file & DOS to view the host network situation

Eureka Registry

Wechat second-hand transaction small program graduation design finished product (1) Development overview

小程序毕设作品之微信二手交易小程序毕业设计成品(3)后台功能

小程序毕设作品之微信积分商城小程序毕业设计成品(7)中期检查报告
![[Node accesses MongoDB database]](/img/00/41000fc7a038f4d46151ab479174b9.png)
[Node accesses MongoDB database]

小程序毕设作品之微信积分商城小程序毕业设计成品(3)后台功能

Redis server启动后会做哪些操作?

When the EasyNVR platform is cascaded to the EasyCVR, why can't the video be played after a while?
随机推荐
小程序毕设作品之微信积分商城小程序毕业设计成品(3)后台功能
Pytorch framework learning record 7 - convolutional layer
Pytorch framework learning record 3 - the use of Transform
逆向理论知识3【UI修改篇】
Mini Program Graduation Works WeChat Points Mall Mini Program Graduation Design Finished Work (5) Task Book
Pytorch框架学习记录1——Dataset类代码实战
RRU、BBU、AAU
2022-07-29 Group 4 Self-cultivation class study notes (every day)
小程序毕设作品之微信积分商城小程序毕业设计成品(1)开发概要
[Driver] udev sets the owner, group and permissions after GPIO is loaded
How to solve the error "no such file or directory" when EasyCVR starts?
When the EasyNVR platform is cascaded to the EasyCVR, why can't the video be played after a while?
ospf 导图
小程序毕设作品之微信二手交易小程序毕业设计成品(3)后台功能
小程序毕设作品之微信二手交易小程序毕业设计成品(8)毕业设计论文模板
小程序毕设作品之微信二手交易小程序毕业设计成品(1)开发概要
Pytorch框架学习记录7——卷积层
Small application project works WeChat integral mall small program of graduation design (4) the opening report of finished product
小程序毕设作品之微信积分商城小程序毕业设计成品(4)开题报告
Redis "super explanation!!!!!!"