{"action":"created","issue":{"url":"https://api.github.com/repos/scanmem/scanmem/issues/285","repository_url":"https://api.github.com/repos/scanmem/scanmem","labels_url":"https://api.github.com/repos/scanmem/scanmem/issues/285/labels{/name}","comments_url":"https://api.github.com/repos/scanmem/scanmem/issues/285/comments","events_url":"https://api.github.com/repos/scanmem/scanmem/issues/285/events","html_url":"https://github.com/scanmem/scanmem/issues/285","id":266908320,"node_id":"MDU6SXNzdWUyNjY5MDgzMjA=","number":285,"title":"Features for 0.18","user":{"login":"12345ieee","id":4094351,"node_id":"MDQ6VXNlcjQwOTQzNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/4094351?v=4","gravatar_id":"","url":"https://api.github.com/users/12345ieee","html_url":"https://github.com/12345ieee","followers_url":"https://api.github.com/users/12345ieee/followers","following_url":"https://api.github.com/users/12345ieee/following{/other_user}","gists_url":"https://api.github.com/users/12345ieee/gists{/gist_id}","starred_url":"https://api.github.com/users/12345ieee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/12345ieee/subscriptions","organizations_url":"https://api.github.com/users/12345ieee/orgs","repos_url":"https://api.github.com/users/12345ieee/repos","events_url":"https://api.github.com/users/12345ieee/events{/privacy}","received_events_url":"https://api.github.com/users/12345ieee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/scanmem/scanmem/milestones/7","html_url":"https://github.com/scanmem/scanmem/milestone/7","labels_url":"https://api.github.com/repos/scanmem/scanmem/milestones/7/labels","id":2818910,"node_id":"MDk6TWlsZXN0b25lMjgxODkxMA==","number":7,"title":"v0.18","description":null,"creator":{"login":"bkazemi","id":11813054,"node_id":"MDQ6VXNlcjExODEzMDU0","avatar_url":"https://avatars0.githubusercontent.com/u/11813054?v=4","gravatar_id":"","url":"https://api.github.com/users/bkazemi","html_url":"https://github.com/bkazemi","followers_url":"https://api.github.com/users/bkazemi/followers","following_url":"https://api.github.com/users/bkazemi/following{/other_user}","gists_url":"https://api.github.com/users/bkazemi/gists{/gist_id}","starred_url":"https://api.github.com/users/bkazemi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bkazemi/subscriptions","organizations_url":"https://api.github.com/users/bkazemi/orgs","repos_url":"https://api.github.com/users/bkazemi/repos","events_url":"https://api.github.com/users/bkazemi/events{/privacy}","received_events_url":"https://api.github.com/users/bkazemi/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":5,"state":"open","created_at":"2017-10-06T03:30:00Z","updated_at":"2018-04-23T19:42:26Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2017-10-19T16:33:31Z","updated_at":"2018-06-03T13:07:37Z","closed_at":null,"author_association":"MEMBER","body":"I'll list some ideas for v0.18 (in addition to the issues already posted), so that old & new contributors can give their opinion and/or find ideas to work on.\r\nFeel free to edit the post and add more or discuss either here or on chat.\r\n\r\nNot everything is really feasible, but hey, always aim for the stars.\r\n\r\nCLI\r\n- [ ] `alias` command for CLI, as in `alias foo='<blob of stuff>'`, bash-like. The technical machinery is already in `sm_registercommand()`, does not look too difficult to implement.\r\n- [ ] Persistent history (should not be difficult with readline) & settings (`.scanmemrc`?)\r\n- [x] Smarter completion, of both sub-menus and reasonable arguments\r\n\r\nlib:\r\n- [ ] **Move to C++**, which is something that I'd like to do, as it'll ease maintainance greatly, but has both pro and cons and I'd like opinions\r\n- [ ] Add capacity to assume variables are aligned to N (e.g. 4 for int32 is a safe bet and cuts time in 4), which is easy to add if we move to C++\r\n- [ ] Mirror at most, dunno, 32MB at a time in `searchregions()`, which should still be fast but not use obscene amounts of memory.\r\n- [x] `/proc/$pid/mem` support for `sm_checkmatches()` by modified `sm_peekdata()`\r\n\r\nAndroid:\r\n- [ ] More reasonable android builds, e.g. removing the \"fake\" readline, pulling libraries in a saner way\r\n- [ ] Investigating proc/pid/mem support\r\n- [ ] A man can dream: a GUI android front-end\r\n\r\nGui:\r\n- [ ] transition to Python 3 only as distros are dropping Python 2\r\n\r\nEDIT: I've merged @sriemer 's comments with the OP and deleted them."},"comment":{"url":"https://api.github.com/repos/scanmem/scanmem/issues/comments/394161238","html_url":"https://github.com/scanmem/scanmem/issues/285#issuecomment-394161238","issue_url":"https://api.github.com/repos/scanmem/scanmem/issues/285","id":394161238,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDE2MTIzOA==","user":{"login":"Enyby","id":1543372,"node_id":"MDQ6VXNlcjE1NDMzNzI=","avatar_url":"https://avatars1.githubusercontent.com/u/1543372?v=4","gravatar_id":"","url":"https://api.github.com/users/Enyby","html_url":"https://github.com/Enyby","followers_url":"https://api.github.com/users/Enyby/followers","following_url":"https://api.github.com/users/Enyby/following{/other_user}","gists_url":"https://api.github.com/users/Enyby/gists{/gist_id}","starred_url":"https://api.github.com/users/Enyby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Enyby/subscriptions","organizations_url":"https://api.github.com/users/Enyby/orgs","repos_url":"https://api.github.com/users/Enyby/repos","events_url":"https://api.github.com/users/Enyby/events{/privacy}","received_events_url":"https://api.github.com/users/Enyby/received_events","type":"User","site_admin":false},"created_at":"2018-06-03T13:07:37Z","updated_at":"2018-06-03T13:07:37Z","author_association":"NONE","body":"> Investigating proc/pid/mem support\r\nMost android firmware support it.\r\nBut it can be not accessible even from root on some selinux settings.\r\nSo good decision - try open and use, if this not work - fallback to ptrace.\r\nHighly recommended use /mem for read process memory, because it lot faster rather from call ptrace in loop.\r\n\r\nAlso you can try use /proc/mem for read memory process with help of /proc/pid/pagemap. It is more hard, and not always work, so need lot of additional checks. But read there is too not expansive as ptrace in loop."}}
{"actor":{"display_login":"Enyby"}}