Does s2e.so modify the part or whole glibc?

10 views
Skip to first unread message

sandwich125

unread,
Nov 27, 2020, 4:48:32 AM11/27/20
to s2e...@googlegroups.com
Hi
   In use s2e,I find some intersting problem. as following:
  some command(as paste), when I run it on GuestOS in no-s2e environment, it report segment error. but when I run it in s2e environment, It doest not report error!
  so I guess in s2e environment, it dynamic link s2e.so not dynamic link glibc, may I understand it correctly? if yes  How could I manually specify it link glibc at first? 


 

Vitaly Chipounov

unread,
Nov 28, 2020, 4:17:20 PM11/28/20
to s2e...@googlegroups.com, sandwich125

Hi,

You cannot run s2e.so outside of S2E because this library uses custom x86 instructions to communicate with various plugins. Running it outside of S2E would produce an illegal instruction exception. It's not related to libc, s2e.so uses normal system libraries. Sometimes it's indeed convenient to run s2e.so outside of S2E, e.g., in order to debug something. In that case, I usually comment out calls to s2e.h functions, but something better would be welcome.

Vitaly

--
--
You received this message because you are a member of the S2E Developer Forum.
To post to this group, send email to s2e...@googlegroups.com
To unsubscribe from this group, send email to s2e-dev+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/s2e-dev

---
You received this message because you are subscribed to the Google Groups "S2E Developer Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to s2e-dev+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/s2e-dev/16194d3.4d6b.176091a96ef.Coremail.sandwich125%40126.com.

sandwich125

unread,
Nov 30, 2020, 2:08:05 AM11/30/20
to s2e...@googlegroups.com
HI vitaly
   1、  I use s2e to test the command of paste,  Why appear the following  phenomenons: 
         (1) in  GuestOS, I manually input the aommand "$ ./paste -d\\ abcdefghijklmnopqrstuvwxyz",  it report ".... stack Abort" error, as following;
       
      (2)But when I use the initialization parameters "-d\\  abcdefghijklmnopqrstuvwxyz" to paste command to do symbolic exection in s2e.  the result display in state0(input parameter is "-d\\"  "abcdefghijklmnopqrstuvwxyz")  s2e does not appear "stack abort" (because it does not print the infornmation of current stack).  why? I think in state0 s2e should appear crash,
     
    
2、What is the relation between s2e.so and glibc.so 
     I think in the running environment of s2e, the dynamic library linking process of the program running process is as "Fig1" , Does it correctly?  
    




 

sandwich125

unread,
Nov 30, 2020, 4:05:03 AM11/30/20
to s2e...@googlegroups.com

Vitaly Chipounov

unread,
Dec 2, 2020, 6:17:08 AM12/2/20
to s2e...@googlegroups.com, sandwich125

Hi,

1. I don't know what's causing the abort. Did you try to debug it with gdb?

2. s2e.so uses glibc like a normal program, not sure what the problem is.

Vitaly

--
--
You received this message because you are a member of the S2E Developer Forum.
To post to this group, send email to s2e...@googlegroups.com
To unsubscribe from this group, send email to s2e-dev+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/s2e-dev

---
You received this message because you are subscribed to the Google Groups "S2E Developer Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to s2e-dev+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages