找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1066|回复: 11

[原创] 看看lsp程序在内存中是什么样子

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2019-1-8 17:19:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
建立一个小程序ttt.lsp
内容如下:
(defun C:TTT() (SETQ A 8)(PRINC "TTT")) (defun C:AAA() (PRINC "AA")) (defun C:ccc() (PRINC "c"))
用(load "ttt.lsp")加载
执行命令 !c:ttt
显示#<SUBR @10bebc44 C:TTT>
查看0x10bebc44这个内存地址,内容如下:
10BEBC44:04 62 93 10    00 00 00 00     50 8B BF 0F    44 D2 AA 10    00 00 00 00  
查看这张表的第四项是0x10AAD244
10AAD244:F0 43 93 10    00 00 00 00     00 85 B2 10    2A 00 00 00    05 00 00 00                                 
查看这张表的第三项是0x10B28500,第五项是05
10B28500  18 EE C1 0F 00 00 00 00 68 8B BF 0F 68 21 C0 0F  
10B28510  F8 28 AF 10 17 01 00 32 08 0B 06 02 00 0A 09 03  
10B28520  00 09 04 00 34 01 03 21 00
                     
C:TTT函数的开始地址是:
0x10B28500+5*4=0x10B28514
查看0x10B28514这个地址的内容:
10B28514:17 01 00 32 08 0B 06 02 00 0A 09 03   00 09 04 00 34 01 03 21  
32 08 0B 06 02 00 0A就是(SETQ A 8)
09 03 00 09 04 00 34 01 03 21 00就是(PRINC "TTT")
再试验一个,!c:aaa
#<SUBR @10bebc6c C:AAA>
第一张表
10BEBC6C:04 62 93 10  00 00 00 00  B0 8B BF 0F 6C D2 AA 10  00 00 00 00                                    
第二张表
10AAD26C:  F0 43 93 10  00 00 00 00  00 FA AD 10   1F 00 00 00   04 00 00 00  
函数开始地址:                                    
0x10adfa00+4*4=0x10adfa10
10ADFA00  68 D2 C1 0F  00 00 00 00  A8 21 C0 0F  F8 28 AF 10  
10ADFA10  17 01 00 09 02 00 09 03 00 34 01 03 21 00        
看来函数的代码都是17开头的,09 02 00 09 03 00 34 01 03 21 00是(PRINC "AA")

评分

参与人数 2D豆 +10 收起 理由
Lisphk + 5 很给力!经验;技术要点;资料分享奖!
newer + 5 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-1-8 17:26:21 | 显示全部楼层
楼主,用什么工具查看内存地址的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5295个

财富等级: 富甲天下

发表于 2019-1-8 18:12:07 | 显示全部楼层
有创意、有办法、有成果!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1669个

财富等级: 堆金积玉

发表于 2019-1-8 20:30:27 | 显示全部楼层
把lsp扒光了看啊。lsp本来就是祼的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-1-9 07:31:45 | 显示全部楼层
Lisphk 发表于 2019-1-8 17:26
楼主,用什么工具查看内存地址的?

用od,吾爱的修改版
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-1-9 07:33:07 | 显示全部楼层
看看。。。。。。。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-1-9 07:38:08 | 显示全部楼层
本帖最后由 wfsyz 于 2019-1-9 10:21 编辑

研究了几天内存,得出如下结论:

1.lsp程序在加载以后是按函数分散在内存中的,同一个lsp文件的函数并不挨在一起,不存在完整的lsp文件

2.fas文件所有的函数都挨在一起,可以一次挖出来反编译。

3.lsp在内存中存放的不是源码,是经过编译的代码,这种代码用了更多的指令,因此比fas反编译难度要高。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5060个

财富等级: 富甲天下

发表于 2019-1-9 08:53:02 来自手机 | 显示全部楼层
你的意思是fas存储的是源码?
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 401个

财富等级: 日进斗金

发表于 2019-1-9 09:15:48 | 显示全部楼层
高端的前沿技术啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3904个

财富等级: 富可敌国

发表于 2019-1-9 09:25:14 | 显示全部楼层
做一个热心并受欢迎的人
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2019-1-9 09:31:27 | 显示全部楼层
wfsyz 发表于 2019-1-9 07:38
研究了几天内存,得出如下结论:

1.lsp程序在加载以后是按函数分散在内存中的,同一个lsp文件的函数并不 ...

第三条说的是VLX吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-1-9 10:20:09 | 显示全部楼层
xinxirong 发表于 2019-1-9 08:53
你的意思是fas存储的是源码?

fas在内存中是编译后的码,可以反编译成源码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 20:07 , Processed in 0.419337 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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