首页
社区
课程
招聘
[求助]这个4K大小的NB的DEMO用的是什么壳,新增1080P DEMO
发表于: 2014-4-15 18:49 9655

[求助]这个4K大小的NB的DEMO用的是什么壳,新增1080P DEMO

2014-4-15 18:49
9655
谁帮忙看下是啥壳,顺便帮脱了,谢谢

这DEMO很NB啊,大奖的

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
给大家更新1个1080P的DEMO,看哪位大神的机器能运行?
我的卡成幻灯片了
上传的附件:
2014-4-15 19:08
0
雪    币: 2161
活跃值: (750)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
不小心看了下,感觉这让那些动辄几十个G的3D开发人员情何以堪。
壳的问题我就爱莫能助了。
2014-4-15 19:11
0
雪    币: 6580
活跃值: (4536)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
区段好大,反内存转储?
简单的dump出来一个,500MB,额,,,,

00420088   55               PUSH EBP
00420089   8BEC             MOV EBP,ESP
0042008B   83EC 34          SUB ESP,34
0042008E   53               PUSH EBX
0042008F   56               PUSH ESI
00420090   57               PUSH EDI
00420091   6A 04            PUSH 4
00420093   68 F0124200      PUSH Hartverd.004212F0
00420098   FF15 28004300    CALL DWORD PTR DS:[430028]               ; user32.ChangeDisplaySettingsA
0042009E   33FF             XOR EDI,EDI
004200A0   57               PUSH EDI
004200A1   57               PUSH EDI
004200A2   57               PUSH EDI
004200A3   57               PUSH EDI
004200A4   57               PUSH EDI
004200A5   57               PUSH EDI
004200A6   57               PUSH EDI
004200A7   57               PUSH EDI
004200A8   68 00000091      PUSH 91000000
004200AD   57               PUSH EDI
004200AE   68 600B4200      PUSH Hartverd.00420B60                   ; ASCII "edit"
004200B3   57               PUSH EDI
004200B4   FF15 2C004300    CALL DWORD PTR DS:[43002C]               ; user32.CreateWindowExA
004200BA   50               PUSH EAX

应该是好脱的,可惜我不会
2014-4-15 21:32
0
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
4K的DEMO,我也是觉得真心NB,当然,这既然是大奖得主,NB也是正常的,你不能指望所有3D开发人员都有这水平嘛
2014-4-16 09:36
0
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
我找通用工具试了下,各种报错,不行,没精力去慢慢跟……
2014-4-16 09:37
0
雪    币: 81
活跃值: (100)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
就是普通的压缩壳,解压完成后loadlibrary了api,然后就开始运作了
2014-4-16 12:01
0
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
帮把脱过的exe发上来吧,我想看看他是怎么实现的
2014-4-16 13:20
0
雪    币: 81
活跃值: (100)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
壳得流程很短,oep就是上来push的那个值420000,直接在这个地址下硬件执行断点就好了,没脱壳得必要
2014-4-16 14:09
0
雪    币: 1847
活跃值: (1806)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
10
很厉害的感觉,1080运行不起
2014-4-16 21:10
0
雪    币: 627
活跃值: (663)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
11
确实牛X,脱了一下,满足了好奇心:怎么实现的!

关于作者:Alexander Scholz
Alexander Scholz is an art director and writer from Berlin, who currently lives and works in Toronto.
参考:Hartverdrahtet – Infinite complexity in 4096 Bytes - winner of the PC 4kB intro comp

程序对显卡要求很高,可在这里下载其它版本的Demo,硬件要求参见其压缩包里的"ReadMe_Final.txt"文件:
Hartverdrahtet runs on Windows XP/Vista/7 (fast CPU/GPU adviced) and can be downloaded here. See the info file for detailed hardware specifications.

无疑,作者是高手,文件应该是手工写的。“壳”由两部分组成:
1. PE文件结构+解压代码,大小:0x18C(396.字节);
2. 压缩的数据,大小:0xE47(3655.字节)。
总共0xFD3(4051.字节)。用这么小的文件去实现较强的功能,包括图象和声音,令人叹服!

首先,第一部分要保证文件结构正确,系统能正常载入;
其次,要完成解压的功能。压缩数据里包括:解压后程序的功能代码及用于Demo的动画和声音,压缩率是很高的,再次展示了作者的强大;
第三,还包含了全部导入API函数的Hash32值。因为系统在载入程序时,仅加载了kernel32.dll和ntdll.dll,其它库及函数需要自己处理。这里的编码极其精巧,值得研究!

为方便那些感兴趣的人,“脱”了640x480版本的Demo。但我严重建议你去研究“原版”,更有趣,可学到不少东西。
“脱”掉的程序从“OEP”:00420000开始。

首先,它由系统已经替它载入的kernel32.dll开始,依次处理user32、gdi32、opengl32和winmm库,并定位导入函数。方法和某些知名的商用保护软件类似,但代码更简洁高效,非常有意思!
然后创建窗口,消息循环,等待用户击键事件以终止程序。
动画是由opengl32的函数实现的,使用了很多函数……

一个关键函数opengl32.wglGetProcAddress:
[FONT="Courier"]004201F7 57            PUSH    EDI              ; 00000000
004201F8 68 00124200   PUSH    00421200         ; []=00421388  ASCII "vec2 rs = vec2(640.0,480.0);uniform float tm;"...
004201FD 6A 01         PUSH    0x1
004201FF 50            PUSH    EAX              ; 00000004
00420200 68 A4114200   PUSH    004211A4         ; ASCII "glShaderSource"
00420205 8945 EC       MOV     DWORD PTR [EBP-0x14], EAX
00420208 FFD6          CALL    NEAR ESI         ; opengl32.wglGetProcAddress
0042020A FFD0          CALL    NEAR EAX[/FONT]

最后那个CALL的EAX=21E21930 vmwogl32._glShaderSourceARB@16(虚拟机里),EAX=699EB540 nvoglnt.699EB540(物理机里)。
00421388处的glShaderSource代码,稍微整理了一下,见附件里的"Shader Source Code.c"文件:
[FONT="Courier"]vec2 rs = vec2(640.0,480.0);
uniform float tm;
uniform sampler2D s0;
uniform int sn;
uniform float st,cm;

void main(){
   vec2 s=gl_FragCoord.xy,i=s/(rs*2),f=i;
   vec3 y=vec3(0.);
   int v=75;
   float m;
   vec2 t=vec2(1.);
   float x=st;
   int r=sn;
   vec2 c=vec2(12.9898,78.233);
   float z=43758.5,d=fract(sin(dot(s.xy,c))*z+x*.25)*(sin(tm+s.y)*2+4.);
...[/FONT]

我对OpenGL的编程不熟悉,希望哪位大人能科普一下。

附件里的"Entrypoint.txt"文件,是“OEP”00420000开始的反汇编代码,有少量注释。
附件文件列表:
[FONT="Courier"]   Date      Time     Size  Name
------------------- ------  ------------------------
2014-04-17 18:10:42   4594  Shader Source Code.c
2014-04-17 19:13:03  61424  Entrypoint.txt
2012-04-12 21:23:32  17408  Hartverdrahtet_640x480.exe[/FONT]
上传的附件:
2014-4-17 19:59
0
雪    币: 95
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼上威武,
2014-4-17 20:32
0
雪    币: 174
活跃值: (620)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
昨天我也看了下,从42000开始,就是解压后的代码,主要功能是使用ogl实现的,后面也有shader明文代码

但不知道怎么脱,呵呵, 谢谢了
2014-4-18 09:48
0
雪    币: 265
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
看见文件大小就直接跪了!随便新建个txt文档,也是4k大小~~~~~真是神一样的存在啊
2014-5-7 11:01
0
雪    币: 225
活跃值: (118)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
神作,吾辈是赶不上了
2014-5-20 08:43
0
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
http://www.pouet.net/prod.php?which=59086
这儿有很多类似作品,大家可以慢慢研究...
http://www.pouet.net/prodlist.php
2014-5-20 11:38
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看过了。  动画里的东西都是分形的吗?
2014-5-20 11:39
0
雪    币: 102
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
:                                                                       :
|-----------------------------------------------------------------------|
| Akronyme Analogiker - The paladins of procrastination ............... |
|-----------------------------------------------------------------------|
|                      H a r t v e r d r a h t e t                      |
|-----------------------------------------------------------------------|
| ........................... PC 4k competition entry for Revision 2012 |
|-----------------------------------------------------------------------|
:                                                                       :  

PRODUCT NAME : ........................................... Hartverdrahtet
GROUP        : ...................................... Akronyme Analogiker
COMPETITION  : .................................................... PC 4k
PARTY        : .......................... Revision - The Easterparty 2012
PLATFORM     : ....................................... Windows XP/Vista/7
RELEASE DATE : ............................................... 08/04/2012
  
CODE+MUSIC   : ...................................... Demoscene Passivist
SUPPORT      : ................................ Retired Demoscener, Tokra

A 2012 interpretation of "Hardwired" in 4096 bytes.
                    Celebrating more than 20 years of a legendary classic.

:                                                                       :
|-----------------------------------------------------------------------|
:                                                                       :

RECOMMENDED RESOLUTION (~25fps+):
                     
................................ 1280x720 (for NVidia Geforce 5XX-Series)
................................ 1280x720 (for ATI Radeon HD 6XXX-Series)

:                                                                       :
|-----------------------------------------------------------------------|
:                                                                       :

SUCCESSFULLY TESTED ON (*** recommended):

............................. ATI Radeon HD 5770 (RV840) on Windows 7/x32
......................... NVidia GeForce GTX 470 (GF100) on Windows 7/x64
***.......................... ATI Radeon HD 6950 (RV970) on Windows 7/x64
................ NVidia GeForce 8800M GTX SLI (G92M) on Windows Vista/x32
......................... NVidia GeForce GTX 260 (GT200) on Windows 7/x32
............... ATI Mobility Radeon HD 4500/5100 (RV710) on Windows 7/x64
.................... ATI Mobility Radeon HD 6990 (RV940) on Windows 7/x64
***...................... NVidia GeForce GTX 580 (GF110) on Windows 7/x64

:                                                                       :
|-----------------------------------------------------------------------|
:                                                                       :

THANKS TO : knighty, Rrrola, Theli-at and all others on fractalforums.org
                               (for the "Pseudo Kleinian" fractal formula)

             .................................................. iq of rgba
                  (for his thoughs on sphere tracing and realtime fake AO)
                             
                ......................... Mentor/TBC and Blueberry/Loonies
                                         (for sharing/developing Crinkler)
                       
                .................................. Gopher+pOWL of Alcatraz
                                           (for sharing/developing 4klang)
                                                        
:                                                                       :
|-----------------------------------------------------------------------|
:                                                                       :

REGARDS FLY OUT TO:  ........ the "glorious never again reached" Trackers
                                                               (AMIGAAAA!)
                                                              
                      ..................... bienator, sgothel and rsantina
                       (and the whole Jogamp community over at jogamp.org)
                     
                      .................................... trigger/Hoodlum

                      .............. nosam, zzion, eneloh, jr / Alpha Raid

:                                                                       :
|-----------------------------------------------------------------------|
:                                                                       :

RESPECT TO:

Alcatraz ..... Archee ..... ASD ..... CNCD .... Conspiracy .... Fairlight
Farbrausch ...... FRequency ..... lft ...... Loonies ..... MFX ...... Orb
Outracks ...... Plastic ...... PWP ..... Rebels ..... RGBA ..... Scenesat
Synesthetics ... Still ..... TBC ...... TBL ...... TRSI .... United Force

------------------------------------------------------------------------------------------
从 THANKS TO文字中我猜测是用Crinkler压缩的,工具这儿有
http://www.pouet.net/prod.php?which=18158
官网地址:www.crinkler.net/
上传的附件:
2014-5-20 13:22
0
游客
登录 | 注册 方可回帖
返回
//