某游戏加速器破解(兼容吃鸡H1Z1LOL...等国内外游戏)萌萌新哟.
萌萌新刚注册了个账号,怕被清理,见论坛少有逆向JSQ的帖子,发了一个,过程我会说的相对简洁(说一些关键点).......... 软件无壳!!!!!!!这个JSQ我建议你注册一个账号后逆向.要不会发生一系列事情!!至今未找到验证登陆的代码段!!(也许因为菜,但这种我建议你注册账号,如果作者不维护的话,那里的所有节点也没办法用了)正题开始---------------------------------------------------------
注册后会送两个小时,建议两小时后逆向......也可以分析一下加速成功的套路!!
开始显示剩余时间不足这里搜字符串就好!!!强制跳过就OJBK!!不上图了(之后就显示加速成功!你PJ完了嘛?不存在的!有时钟检测 大约1分钟一次吧!会弹出msbox 截图如下)
这里使用暂停法在堆栈里面找显示调用能PJ吗?不存在的!!!(你显示调用后会来到一个暗装代码段,而且无法下断点,应该有个时钟断下了,里面有十几个时钟干掉时钟会出现一系列问题,所以爆破是明智的!!暗装应该是 不显示窗口和窗口禁止,没有蓝屏死机还有XX)暗装代码段如下....不知道理解对不对
01411F90/$55 push ebp
01411F91|.8BEC mov ebp,esp
01411F93|.83EC 2C sub esp,0x2C
01411F96|.894D D8 mov ,ecx
01411F99|.C745 FC 00000>mov ,0x0
01411FA0|.6A 04 push 0x4 ; /Relation = GW_OWNER
01411FA2|.8B45 D8 mov eax, ; |
01411FA5|.8B48 04 mov ecx,dword ptr ds: ; |
01411FA8|.51 push ecx ; |hWnd
01411FA9|.FF15 34D55A01 call dword ptr ds:[<&USER32.GetWindow>]; \GetWindow
01411FAF|.8945 DC mov ,eax
01411FB2|.0FB655 08 movzx edx,byte ptr ss:
01411FB6|.85D2 test edx,edx
01411FB8|.74 13 je XSaibo.01411FCD
01411FBA|.0FB645 0C movzx eax,byte ptr ss:
01411FBE|.F7D8 neg eax
01411FC0|.1BC0 sbb eax,eax
01411FC2|.83E0 FD and eax,0xFFFFFFFD
01411FC5|.83C0 04 add eax,0x4
01411FC8|.8945 D4 mov ,eax
01411FCB|.EB 07 jmp XSaibo.01411FD4
01411FCD|>C745 D4 00000>mov ,0x0
01411FD4|>8B4D D4 mov ecx,
01411FD7|.51 push ecx ; /ShowState
01411FD8|.8B55 D8 mov edx, ; |
01411FDB|.8B42 04 mov eax,dword ptr ds: ; |
01411FDE|.50 push eax ; |hWnd
01411FDF|.FF15 ECD45A01 call dword ptr ds:[<&USER32.ShowWindow>] ; \ShowWindow
01411FE5|.6A 00 push 0x0 ; /Enable = FALSE
01411FE7|.8B4D DC mov ecx, ; |
01411FEA|.51 push ecx ; |hWnd
01411FEB|.FF15 30D55A01 call dword ptr ds:[<&USER32.EnableWindow>; \EnableWindow
01411FF1|.C745 E0 00000>mov ,0x0
01411FF8|.33D2 xor edx,edx
01411FFA|.8955 E4 mov ,edx
01411FFD|.8955 E8 mov ,edx
01412000|.8955 EC mov ,edx
01412003|.8955 F0 mov ,edx
01412006|.8955 F4 mov ,edx
01412009|.8955 F8 mov ,edx
0141200C|>8B45 D8 /mov eax,
0141200F|.8B48 04 |mov ecx,dword ptr ds:
01412012|.51 |push ecx ; /hWnd
01412013|.FF15 74D45A01 |call dword ptr ds:[<&USER32.IsWindow>]; \IsWindow
01412019|.85C0 |test eax,eax
0141201B|.74 75 |je XSaibo.01412092
0141201D|.6A 00 |push 0x0 ; /MsgFilterMax = 0x0
0141201F|.6A 00 |push 0x0 ; |MsgFilterMin = 0x0
01412021|.6A 00 |push 0x0 ; |hWnd = NULL
01412023|.8D55 E0 |lea edx, ; |
01412026|.52 |push edx ; |pMsg
01412027|.FF15 2CD55A01 |call dword ptr ds:[<&USER32.GetMessageW>; \GetMessageW 这里显示信息信息框
------------------------------------------------------------------------------------------------------------------------
如何转到验证处呢???细心分析会发现,他提示 无服务或者到期后!!紧接着调用了 终止加速函数()右下角提示已经停止加速...........(不截图了..自己看右下角自己搜)代码也没被VM 所以搜字符串吧!! 刚好来到
那个终止加速的代码段代码如下
01388220/$55 push ebp
01388221|.8BEC mov ebp,esp
01388223|.6A FF push -0x1
01388225|.68 480A5A01 push Saibo.015A0A48
0138822A|.64:A1 0000000>mov eax,dword ptr fs:
01388230|.50 push eax
01388231|.83EC 70 sub esp,0x70
01388234|.A1 605A6301 mov eax,dword ptr ds:
01388239|.33C5 xor eax,ebp
0138823B|.8945 F0 mov ,eax
0138823E|.50 push eax
0138823F|.8D45 F4 lea eax,
01388242|.64:A3 0000000>mov dword ptr fs:,eax
01388248|.894D 88 mov ,ecx
0138824B|.68 0A100000 push 0x100A ; /TimerID = 100A (4106.)
01388250|.8B45 88 mov eax, ; |
01388253|.8B48 04 mov ecx,dword ptr ds: ; |
01388256|.51 push ecx ; |hWnd
01388257|.FF15 0CD55A01 call dword ptr ds:[<&USER32.KillTimer>]; \KillTimer
0138825D|.68 84AA6001 push Saibo.0160AA84 ;停止加速
01388262|.8B55 88 mov edx,
很明显这里 调用 KillTimer 干掉一个时钟停止加速....断首下段 重新跑一次等他自动断下
点击返回 到找到调用停止加速的调用者........附近代码如下
0138084B|.52 push edx
0138084C|.8B45 0C mov eax,
0138084F|.50 push eax
01380850|.8B4D F4 mov ecx,
01380853|.E8 A8630000 call Saibo.01386C00 ;验证到期函数2
01380858|.E9 D7010000 jmp Saibo.01380A34
0138085D|>8B4D 10 mov ecx,
01380860|.51 push ecx
01380861|.8B55 0C mov edx,
01380864|.52 push edx
01380865|.8B4D F4 mov ecx,
01380868|.E8 13690000 call Saibo.01387180 ;验证到期函数1
0138086D|.E9 C2010000 jmp Saibo.01380A34
01380872|>8B45 10 mov eax,
01380875|.50 push eax
01380876|.8B4D 0C mov ecx,
01380879|.51 push ecx
0138087A|.8B4D F4 mov ecx,
0138087D|.E8 9E790000 call Saibo.01388220 ;终止加速函数
01380882|.E9 AD010000 jmp Saibo.01380A34
最后截图一张
不要直接nop终止函数虽然能用但仍然会出现提示 下面不再写了 ,进入那两个验证call进行相应的jmp nop 就行
如果还是不行就哪里一大堆call 和jmp 附近的都下一下段 最后分析就很简单(逆向的时间长了,忘了有几个call了,但是我列出来的绝逼是!!!)
下面附上 我逆向后的成品 ...............希望大家给个免费评分。。。。。我现在等级都没法加好友......谢谢哒!{:6_200:}
免费给个评分嘛^_^ 谢谢小哥哥们!!
https://www.lanzouw.com/i1gdp7c
不哟啊
论坛审核怕是有点慢哟!1 抱歉,最近家里装修,有点忙,审核晚了。 速度咋样,这个JSQ 感谢大牛的分享试试效果如何。 Shark恒 发表于 2018-7-21 20:53
抱歉,最近家里装修,有点忙,审核晚了。
{:6_211:}没关系的!真没想到你这么负责... datecf123456 发表于 2018-7-21 21:23
速度咋样,这个JSQ
不卡只能这样说{:6_225:} 感谢大牛的分享试试效果如何。 又红又专 发表于 2018-7-21 22:15
没关系的!真没想到你这么负责...
是我应该做的