网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月20日漏签0天
汇编吧 关注:45,333贴子:164,061
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 2回复贴,共1页
<<返回汇编吧
>0< 加载中...

小白求教,反汇编代码改的汇编,asm文件执行时每行都报错

  • 只看楼主
  • 收藏

  • 回复
  • EtudeEveryday
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码如下:
data segment
key1 db 'this is a simple'
key2 db 'program you are analyzing now!'
key3 db 'hello..do you have get the right result? no! it is not over',0Ah
key4 db 'this is true end! but you should not relax yourself!!! Be careful '
key5 db 'trap..congratulation! now is the end',0Ah
key6 db 'their sum is ..%d.'
key7 db 'can you have '
key8 db 'the ability of '
key9 db 'reverse analysis'
data ends
codesg segment
assume cs:codesg
start:
push ebp
mov ebp,esp
sub esp,0D8h
push ebx
push esi
push edi
lea edi,[ebp+FFFFFF28h]
mov ecx,36h
mov eax,0CCCCCCCCh
rep stos dword ptr es:[edi]
mov esi,esp
push ds:[0000h]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov esi,esp
push ds:[0011h]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov dword ptr [ebp-8],39h
mov dword ptr [ebp-14h],3Ch
mov eax,dword ptr [ebp-8]
cmp eax,dword ptr [ebp-14h]
jle if_two
if_one:
mov esi,esp
push ds:[002Fh]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
jmp if_three
if_two:
mov eax,dword ptr [ebp-14h]
push eax
mov ecx,dword ptr [ebp-8]
push ecx
add esp,8
if_three:
mov dword ptr [ebp-14h],32h
mov eax,dword ptr [ebp-8]
cmp eax,dword ptr [ebp-14h]
jle if_five
if_four:
mov eax,dword ptr [ebp-14h]
push eax
mov ecx,dword ptr [ebp-8]
push ecx
add esp,8
if_five:
mov esi,esp
push ds:[006Ah]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov esi,esp
push ds:[00ACh]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
xor eax,eax
pop edi
pop esi
pop ebx
add esp,0D8h
cmp ebp,esp
mov esp,ebp
pop ebp
ret
jmp if_six
if_six:
push ebp
mov ebp,esp
sub esp,0CCh
push ebx
push esi
push edi
lea edi,[ebp+FFFFFF34h]
mov ecx,33h
mov eax,0CCCCCCCCh
rep stos dword ptr es:[edi]
mov eax,dword ptr [ebp+8]
cmp eax,dword ptr [ebp+0Ch]
jl if_eight
if_seven:
mov eax,dword ptr [ebp+8]
sub eax,dword ptr [ebp+0Ch]
mov dword ptr [ebp-8],eax
jmp if_nine
if_eight:
mov eax,dword ptr [ebp+0Ch]
sub eax,dword ptr [ebp+8]
mov dword ptr [ebp-8],eax
if_nine:
mov esi,esp
mov eax,dword ptr [ebp-8]
push eax
push ds:[00D1h]
call dword ptr ds:[004182BCh]
add esp,8
cmp esi,esp
mov esi,esp
push ds:[00E3h]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov esi,esp
push ds:[00F0h]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov esi,esp
push ds:[00FFh]
call dword ptr ds:[004182BCh]
add esp,4
cmp esi,esp
mov eax,dword ptr [ebp-8]
pop edi
pop esi
pop ebx
add esp,0CCh
cmp ebp,esp
mov esp,ebp
pop ebp
ret
codesg ends
end start


  • EtudeEveryday
  • 基础知识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
codesg开始几乎每一行都报错:instruction or register not accepted in current CPU mode。是什么原因呢


2025-08-20 13:09:52
广告
不感兴趣
开通SVIP免广告
  • ZandraWoo
  • 数据结构
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯,指令都是386指令,在文件最前加一行
.386
虽然没用到资料段,但最好加上
codesg segment
assume cs:codesg,ds:data ;<---
另外,这2句也错了
lea edi,[ebp+FFFFFF28h]->lea edi,[ebp+0FFFFFF28h]
lea edi,[ebp+FFFFFF34h]->lea edi,[ebp+0FFFFFF34h]


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回汇编吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示