蓝色贝雷帽 发表于 2019-1-29 11:16

某乐器软件自校验,易语言大佬请进!!!

本帖最后由 蓝色贝雷帽 于 2019-1-29 20:08 编辑

某乐器软件,目前知道的信息:

UPX 3.94壳,已脱壳并修复,脱壳后不能运行;

易语言,仅有主窗体和另外一个窗体,利用PUSH窗体法获得的子程序不能运行;

掌握的自校验:
1.程序文件名称的自校验,不能改,改了就不能启动;
2.确定跟程序文件的时间没关系,但可能还有比较大小之类,小白暂时还没查到,用E-DEBUG-PLUS.1.2.1查到使用了CreateFileA / GetProcessImageFileNameA 等函数

求助大佬支招解除自校验!!!

软件链接: https://pan.baidu.com/s/1z2Zr-azncSXcRu4DCXSK6w 提取码: jf63 复制这段内容后打开百度网盘手机App,操作更方便哦




蜜蜂. 发表于 2019-1-29 15:38

一个自校验啊
https://www.52hb.com/thread-41214-1-1.html
(出处: 吾爱汇编论坛)

xiaoniao 发表于 2019-1-29 11:16

ESP 脱壳后 00418210 地址跳转 改成JMP

Camille 发表于 2019-1-29 16:41

0041817e                               push dword ptr ss:
一句代码搞定

蓝色贝雷帽 发表于 2019-1-29 18:34

xiaoniao 发表于 2019-1-29 17:21
ESP 脱壳后 00418210 地址跳转 改成JMP

求解, 00418210代表什么含义?谢谢!

蓝色贝雷帽 发表于 2019-1-29 19:07

Camille 发表于 2019-1-29 16:41
0041817e                               push dword ptr ss:
一句代码搞定

这个有点难度。。大佬回复快,奉上金币表示心意。遗憾最佳给了别人,下次喽~

蓝色贝雷帽 发表于 2019-1-29 20:47

xiaoniao 发表于 2019-1-29 11:16
ESP 脱壳后 00418210 地址跳转 改成JMP

老大,为啥直奔00418210,能说说吗?谢谢

售野生奥特曼 发表于 2019-2-23 15:27

本帖最后由 zcl0317 于 2019-2-23 15:29 编辑

蓝色贝雷帽 发表于 2019-1-29 20:47
老大,为啥直奔00418210,能说说吗?谢谢
下ExitProcess断点,
F9后,
0012FCA0   00447DCB/CALL 到 ExitProcess 来自 11.00447DC5
堆栈显示是这里调用 的,然后跟随到00447DC5这里,段首下个断点。
重载后再F9
堆栈显示是这里调用 的
0012FCAC   00418224返回到 11.00418224 来自 11.00427FDA

然后再跟随到00427FDA
就可以看到,00418210改JMP能跳过退出。




最简单的方法就是,FF 25,在退出函数段首RTEN就可以了。
00447DB0 改 Rten


蓝色贝雷帽 发表于 2019-2-24 14:54

zcl0317 发表于 2019-2-23 15:27
下ExitProcess断点,
F9后,
0012FCA0   00447DCB/CALL 到 ExitProcess 来自 11.00447DC5


谢谢大佬,不愧是科班出身【恒析会员】,释疑了新手的困惑~

麻雀虽小,五脏俱全。这个小小的易语言程序还有几处独到之处,可供深究:
1.怎么patch机器码
2.ESP脱去第一层壳后,作者实用 了障眼法,查壳仍然是UPX3.94,但手动和脱壳机都脱不掉,还有字符串被xx了;
3.删除不匹配的注册文件

很有嚼头,大佬有没有兴趣把这个小程序搞明白了?
页: [1]
查看完整版本: 某乐器软件自校验,易语言大佬请进!!!