易语言CM ,无花无壳,欢迎来战
本帖最后由 situhaonan 于 2023-5-26 17:02 编辑这个cm有点意思,有两层判断,三个窗口,第三个窗口为成功窗口
下端getWindowText,点击登录,一路执行到返回,直到运行到krnln.frn易语言内核模块,再跟几步就到第一个窗口按钮事件代码处
发现第一层对用户名没有校验,仅判断密码是否为"1297214"
先不做修改,走一遍错误方式,运行到返回,到外层call(krnln.frn易语言内核模块),下断上一个call(易语言事件call),方便追踪第二个窗口事件代码
一顿操作,来到第二个窗口,单步跟着走,发现第二层用户名必须为"1255",密码必须为"1215",修改跳转,又载入窗口,出现成功提示
byh3025 发表于 2023-5-29 15:01
我说怎么那么别扭,比较下面会是call,差点被绕晕
厉害,特意把关键跳 改成了CALL,本来想跳到空白区域加些花指令。在绕一会,到点下班了,就没弄。
也就糊弄下小白,在前辈面前是班门弄斧。 woflant 发表于 2023-5-26 20:12
这个cm有点意思,有两层判断,三个窗口,第三个窗口为成功窗口
下端getWindowText,点击登录,一路执行 ...
佩服,分析到位 ,厉害了,大侠。 其实第一层的用户名是有判断的,用户名的长度必须为6位。可能你输入假用户名的时候正好输入的123456 刚好满足。 请问各位,如何定位到易语言的窗口过程函数? axigua 发表于 2023-5-26 16:27
这么快吗?还没热乎呢 E:\个人文件\桌面\B@QZ2DG)O%HU5V%5DQV125PAN.png situhaonan 发表于 2023-5-26 16:35
这么快吗?还没热乎呢
哈哈,不难 NOP掉两处即可。 改一处即可0040A1A2处改jne
https://s1.img.ink/2023/05/26/1106950a088cc.png xiaolong23330 发表于 2023-5-26 17:12
改一处即可0040A1A2处改jne
改一处应该不行,我有两个判断呢。窗口套着窗口。相当于第一次窗口正确进入第二个窗口,再正确,才提示过关