首页
社区
课程
招聘
求助:我该怎样给这个程序增加一个对话框
发表于: 2006-5-17 09:01 4031

求助:我该怎样给这个程序增加一个对话框

2006-5-17 09:01
4031
分析了一个考试系统,它是在下面的代码段对各题的得分进行累加,但是并不显示给使用者,想给它增加一个对话框,分别显示各题的分数和总分,不知道应该怎样改?请大家指点一下,水平比较低,对文件修改没啥经验.代码如下
* Referenced by a CALL at Address:
|:00504859   
|
:0050479C 8A5030                  mov dl, byte ptr [eax+30]
:0050479F 025031                  add dl, byte ptr [eax+31]
:005047A2 025032                  add dl, byte ptr [eax+32]
:005047A5 025033                  add dl, byte ptr [eax+33]
:005047A8 025034                  add dl, byte ptr [eax+34]
:005047AB 025035                  add dl, byte ptr [eax+35]
:005047AE 025036                  add dl, byte ptr [eax+36]
:005047B1 025037                  add dl, byte ptr [eax+37]
:005047B4 025038                  add dl, byte ptr [eax+38]
:005047B7 025039                  add dl, byte ptr [eax+39]
:005047BA 02503A                  add dl, byte ptr [eax+3A]
:005047BD 02503B                  add dl, byte ptr [eax+3B]
:005047C0 02503C                  add dl, byte ptr [eax+3C]
:005047C3 88503D                  mov byte ptr [eax+3D], dl
:005047C6 C3                      ret
eax+30到eax+3c是存放的各题得分,eax+3d是总分,就是想让程序运行到此处时弹出个窗口,显示这些地址的值即各题分数和总分.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 671
活跃值: (723)
能力值: ( LV9,RANK:1060 )
在线值:
发帖
回帖
粉丝
2
MessageBox 或者 SetDlgItemText
2006-5-17 09:23
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
能不能说具体点,代码应该如何写?我汇编的水平很低,实在不知如何改程序!请多多指点!
2006-5-17 14:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
先写一个只有对话框的程序,然后反汇编,把代码拷贝过去就可以拉
2006-5-17 14:05
0
雪    币: 2506
活跃值: (1000)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
5
最初由 zeclmj 发布
先写一个只有对话框的程序,然后反汇编,把代码拷贝过去就可以拉

真这样的话那PEDIY就简单了。我想程序实现什么功能,只要自己写一个有同样功能的程序,把反汇编代码复制过去就行了。根据你这个思路,我可以把IE反汇编,再把代码复制到记事本里,我的记事本就可以上网了
2006-5-17 14:14
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
真是这样吗?如果用高级语言写程序,如何去读取那些地址里的数值?不明白的问题太多了,看来要好好学一下呀!
2006-5-17 14:35
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
7
用高级语言写一个*.Dll文件,然后修改程序,加载你写的*.dll文件,将al的值传给你的*.dll文件处理并显示al的值。再释放你的*.dll文件,返回原程序继续执行。
2006-5-17 14:39
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
应该是传dl的值吧,并且因为eax的值在不同的机器上可能会不同,所以不能直接传送内存地址里存放的数值对吗,可是那样dl的值是累加的,那样就不能显示每个题的分数了.
2006-5-17 14:52
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
9
也可以的。从[eax+xx]开始修改,然后将[eax+30]开始的地址传给你写的*.dll来处理就可以显示每题的分数了。
2006-5-17 15:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢指点,我好好研究研究,以前没有这方面的经验!
2006-5-17 15:16
0
雪    币: 229
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
FCG 的 DIY 教程
2006-5-17 16:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
请问在哪里可以下载?
2006-5-17 16:29
0
雪    币: 342
活跃值: (21)
能力值: ( LV12,RANK:730 )
在线值:
发帖
回帖
粉丝
13
有个想法:用LoadPE增加一节,改文件大小,JMP跳过去,保存现场后从内存地址读数据做成字符串,CALL MessageBoxA,恢复现场后JMP跳回到RET前面。看到过这种PEDIY的做法,还没机会真正做过。
2006-5-17 16:52
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
刚刚下载了cracktool2006 光盘,里面找到了fcg diy教程,马上看看有没有可参考的例子.
2006-5-17 17:33
0
游客
登录 | 注册 方可回帖
返回
//