飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: wan

[已解决] 请教去掉Acme CADPacker的未注册水印方法

[复制链接]
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2009-8-18 14:23:23 | 显示全部楼层
    原帖由 孤漂江湖狼 于 2009-8-18 12:30 发表
    不会用软件,没发现水印在哪

    /:011 使用很简单,新建->添加一张JPG图片,此时预览就有水印,这个论坛的brightsm兄弟解决了。
    https://www.chinapyg.com/viewthr ... &highlight=acme

    导出为EXE文件也有一个水印,未解决的水印。
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    发表于 2009-8-18 23:04:42 | 显示全部楼层
    这个好像有人做过了!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-21 10:03:12 | 显示全部楼层
    /:001 /:001 /:001

    注:以下修改针对的是主程序脱壳后的PE文件(没脱壳的主程序怎么改LZ自个发挥)

    在PE文件偏移235267位置的值
    E9 77 FE FF FF

    改成
    E9 6C 01 00 00


    将以下二进制代码
    C6 05 A2 D1 45 00 E9 C6 05 A3 D1 45 00 B1 C6 05 A4 D1 45 00 05 C6 05 A5 D1 45 00 00 C6 05 A6 D1
    45 00 00 E9 E3 FC FF FF C6 05 E8 4B 40 00 EB 68 00 80 00 00 E9 3E FA FF FF 90

    复制到PE文件偏移2353D8位置即可去掉(导出EXE)的水印(注:2353D8位置是精心确定过的,是个空白位置且不会被改写的位置)


    至于原理就不多说了,给你以下提示吧!

    一、主程序中存在导出EXE文件压缩后的代码。具体位置和大小的确定,你可以下bp CreateFileA断点,然后再导出EXE这样就可以断下了。接下来你可以自已跟踪发挥吧!(我这的位置是60AEA8,对应PE文件的位置就是20AEA8).

    二、再逆下导出的EXE文件看水印是怎么生成的.将关键位置的地址记下!(后面要PATCH要用到,由于导出EXE文件的代码是主程序导出的,所以可以要了解导出EXE文件产生水印的具体位置)

    004037E1  |.  8D4E 7C       lea     ecx, dword ptr [esi+7C]
    004037E4  |.  E8 972B0000   call    00406380
    004037E9  |.  8B4E 30       mov     ecx, dword ptr [esi+30]
    004037EC  |.  890D B89E4400 mov     dword ptr [449EB8], ecx
    004037F2  |.  B9 889E4400   mov     ecx, 00449E88
    004037F7      E8 540C0000   call    00404450                       ;导出EXE文件产生水印的关键CALL在这里(可以进去找地方改跳转,有个地方1字节搞定)
    004037FC  |.  8B4E 30       mov     ecx, dword ptr [esi+30]
    004037FF  |.  8B11          mov     edx, dword ptr [ecx]
    00403801  |.  FF52 24       call    dword ptr [edx+24]
    00403804  |>  B0 01         mov     al, 1
    00403806  |.  5E            pop     esi
    00403807  |.  83C4 10       add     esp, 10
    0040380A  \.  C2 0400       retn    4


    上面的关键CALL我是怎么找到的,嘿嘿,其实主程序里就有线索的!主程序预览水印是如何产生的。那导出EXE的水印也就大同小异了!
    关键断点bp SetROP2  (SetROP2 API的说明可以自已搜)剩下你自已发挥吧!
    注:导出的EXE文件加了压缩壳的,你带壳调试也可以,如果要脱壳的话,要注意的是导出EXE脱壳后要校验附加数据的位置(附加数据的内容就是你在主程序中创建文件的二进制代码和后缀是exelan语言文件的二进制代码(好像是加过密的))导出EXE没有脱壳前。附加数据的起始位置是在2BA00。而这个值就存在附加数据里。自已可以搜索定位一下!在导出EXE脱壳文件的相应位置将值改成其脱壳后附加数据所在的位置即可去掉校验!

    PS:嘿嘿,时间有限。就先说这些吧。也不知说明白了没!

    [ 本帖最后由 hflywolf 于 2009-8-21 10:28 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2009-8-21 19:08:51 | 显示全部楼层
    非常感谢 hflywolf 朋友的详细解答~~~ 转帐200PYG以示辛苦~谢谢了!
    论坛银行转帐汇款时,最好能加个转帐留言之类的~~~哈~~~

    按你的方法修改了,导出EXE文件水印消除了~~~但有个问题,DWG图纸打包出来EXE显示反应缓慢,放大缩小很卡不流畅。。。看看能不能修改其它位置呢?

    打包的EXE与某个电子工具一样,水印地址是固定的~做LPK.DLL补丁可以通杀打包后EXE的水印,这样的DWG图纸也是流畅的。

    [ 本帖最后由 wan 于 2009-8-23 19:06 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2009-8-22 12:52:28 | 显示全部楼层
    附上我的破解总结修改:
    1、注册:0041A3DC     55                       push ebp                                          ; mov al,1   retn
    2、注册表信息:0041A094     55                       push ebp                                          ; mov al,1   retn
    3、解压:0041B4D9    /74 3B                    je short unpacked.0041B516                        ; JMP
    4、预览水印:004051EC     55                       push ebp                                          ; xor al,al   retn
    5、导出EXE水印:暂时用 hflywolf 朋友的方法,但是打包DWG图纸的EXE显示为卡。

    [ 本帖最后由 wan 于 2009-8-23 19:07 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-8-23 16:21:47 | 显示全部楼层
    /:011 后来自己测试一下没搞定呀,/:good 楼主牛,解决了,hflywolf兄的解决办法深有编程功底,这个软件其实保护的很不错,还是个普通壳,如果来个代码混淆等那就XX。不过好像按照你的5个总结,好像还是有问题吧,unpack error提示

    [ 本帖最后由 cjteam 于 2009-8-23 16:37 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情

    2016-6-2 20:34
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2009-8-23 19:13:15 | 显示全部楼层
    嗯,hflywolf修改的方法很妙,学习一下,对这方法的修改还不是很清晰。  希望再完善一下卡的问题。
    那天原来是LPK.dll的影响,搞我我以为NOP掉那个CALL可以解决水印,其实不然~

    我这边测试修改那个跳转后,没出现unpack error的提示哦~~~

    [ 本帖最后由 wan 于 2009-8-23 19:46 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-8-24 00:35:09 | 显示全部楼层
    hflywolf兄 编程功底深厚,分析程序从编程角度去处理,事半功倍啊/:good ,

    /:011 我这个小菜没啥编程功底就跟着学学走走套路,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-8-24 09:12:17 | 显示全部楼层
    /:001 /:001 /:001

    首先说明一下
    一、我没把导出EXE产生水印的那个CALL NOP掉。
    上面我的回贴中开头给出修改代码是利用了SMC方法打的补丁。其实最终就是改一个跳转(1字节)
    你可以将我的代码复制到相应的对方,然后载入OD后去看看就明白我是怎么改的!
    (OD中按CTRL+G 输入PE文件偏移地址(我上面回贴已经给出)+基址(400000)即可)

    二、我只是给出个思路!至于卡的问题我没仔细去跟过!LZ自已跟进导出EXE产生水印的那个CALL慢慢调下!
    (稍微注意一下那个CALL中出现循环的地方)

    PS:200PYG我给你打回头了,目的不是为这个才给出思路的,嘿嘿,那天刚好有些时间就调了一下,权当交流吧。

    [ 本帖最后由 hflywolf 于 2009-8-24 09:33 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2017-5-31 13:17
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-8-24 11:38:15 | 显示全部楼层
    /:001 好像这里并没悬赏啊。怎么还谈起那个了呀
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表